luks 파티션에 pacstrap/chroot 설치를 시작하도록 작동하는 부팅 옵션을 추가하세요.

luks 파티션에 pacstrap/chroot 설치를 시작하도록 작동하는 부팅 옵션을 추가하세요.

이와 같은 질문이 많다는 것을 알고 있지만 제가 찾은 예는 혼란스러울 정도로 다양합니다. 누군가가 이 문제를 명확히 하는 데 도움을 줄 수 있기를 바랍니다.

내 설정에 대한 간략한 설명입니다. Windows 10을 설치한 다음 다른 디스크에 가루다 리눅스를 설치했습니다. 둘 다 잘 작동하지만 각각의 GUI 설치 프로그램이 나를 위해 설정했습니다. 이제 아치 리눅스를 설치했고, 가루다 설치(pacstrap)에서 파티션(luks 암호화)을 분리했으며 해당 리눅스로 부팅할 수 있기를 원합니다. 설치에 chroot하고 /dev /proc 및 /sys의 바인드 마운트를 완료하여 모든 장치를 확인하고 성공적으로 업데이트를 실행하고 일부 저장소를 설치할 수 있었습니다.

디스크/파티션 설정은 다음과 같습니다.

Windows 디스크 및 EFI:

Device             Start        End    Sectors   Size Type
/dev/nvme0n1p1      2048    1085439    1083392   529M Windows recovery environment
/dev/nvme0n1p2   1085440    1290239     204800   100M EFI System
/dev/nvme0n1p3   1290240    1323007      32768    16M Microsoft reserved
/dev/nvme0n1p4   1323008  519925759  518602752 247.3G Microsoft basic data
/dev/nvme0n1p5 519925760 1953523711 1433597952 683.6G Microsoft basic data

그런 다음 Linux의 경우:

/dev/sda1        2048  835028991  835026944 398.2G Linux filesystem (garuda)
/dev/sda2   835028992 1859028991 1024000000 488.3G Linux filesystem (arch -no boot)

sda1과 sda2는 모두 luks 암호화를 사용하는 btrfs 파티션에 있습니다. 그러나 가루다가 어떻게 설정되었는지는 잘 모르겠습니다(gui 설치 프로그램). 현재 가루다에 로그인되어 있고 두 드라이브 모두 암호화되지 않았지만 부팅되지 않은 장치(dev/sda2)에 대한 dev/mapper만 표시됩니다. 이는 lsblk에서 luks 매핑을 표시하는 유일한 장치입니다.

✦  ╰─λ lsblk -o name,uuid,type
NAME                                          UUID                                 TYPE
sda                                                                                disk
├─sda1                                        c42114f3-adea-4625-8ec7-1d9ef08c00d5 part
├─sda2                                        35308676-366b-495a-afd3-9c65701ec867 part
│ └─luks-35308676-366b-495a-afd3-9c65701ec867 fb72ec72-1352-4e5c-849d-a44c69ba4b16 crypt

암호화되지 않은 장치 설치 후 /run/media/dan/nix_e1아치 설치가 표시됩니다.

/boot(가루다) grub 디렉토리, 커널 및 efi 파티션을 /efi에 설치했습니다.

✦  ╰─λ ls /boot 
drwxr-xr-x   - root  1 Jan  1970  efi
drwxr-xr-x   - root 29 Mar 02:28  grub
drwxr-xr-x   - root  8 Mar 05:09  memtest86+
.rw-r--r-- 51k root 11 Mar 19:21  amd-ucode.img
.rw------- 68M root 26 Mar 16:27  initramfs-linux-zen-fallback.img
.rw------- 43M root 26 Mar 16:27  initramfs-linux-zen.img
.rw-r--r-- 11M root 23 Mar 16:37  vmlinuz-linux-zen

/etc/fstab(가루다):

UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /              btrfs   subvol=/@,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /home          btrfs   subvol=/@home,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /root          btrfs   subvol=/@root,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /srv           btrfs   subvol=/@srv,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /var/cache     btrfs   subvol=/@cache,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /var/log       btrfs   subvol=/@log,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=c42114f3-adea-4625-8ec7-1d9ef08c00d5 /var/tmp       btrfs   subvol=/@tmp,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
UUID=C61E-FDE5  /boot/efi       vfat    defaults      0       1

나는 아치 설치 시 /boot에 아무 것도 설치하지 않았으므로 가루다와 동일한 커널(또한 아치 기반)의 복사본만 있고 설치 준비가 된 efi 디렉터리를 만들었습니다. fstab을 설정했습니다. (올바른 uuid를 사용하고 있는지 완전히 확신할 수는 없지만 crypt uuid 또는 부분 uuid와 함께 사용되는 것으로 표시됩니까?)

/etc/fstab(스키마):

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/mapper/luks-35308676-366b-495a-afd3-9c65701ec867 LABEL=nix_e1
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /           btrfs      rw,nosuid,nodev,relatime,ssd,space_cache=v2,subvolid=5,subvol=/ 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /home          btrfs   subvol=/@home,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /root          btrfs   subvol=/@root,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /srv           btrfs   subvol=/@srv,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /var/cache     btrfs   subvol=/@cache,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /var/log       btrfs   subvol=/@log,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
UUID=fb72ec72-1352-4e5c-849d-a44c69ba4b16 /var/tmp       btrfs   subvol=/@tmp,defaults,noatime,autodefrag,compress=zstd,discard=async,ssd 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0

# /dev/zram0
/dev/zram0            none        swap        defaults,pri=100  0 0

이제 내가 조금 길을 잃은 곳은 다음과 같습니다.

읽으면서 initcpio 후크가 필요하다는 것을 알았습니다. 이제 이것이 가루다 설치에 적합하다고 생각합니다. grub-btrfs-overlayfs가 후크에 추가된 것을 볼 수 있으며 크립트 후크가 설치의 일부인 것 같습니다... 제가 원하지 않는 한 볼트 파티션에서도 이 작업을 수행할 필요가 없다고 가정합니다. 거기에서도 grub을 업데이트하려면 (두 설치에서 grub을 업데이트하지 말라는 조언을 보았습니다).

다음에는 실행해야 할 것 같습니다 sudo mkinitcpio -p linux-zen(일부 구성 단계를 놓쳤는지 확실하지 않음). 하지만 이 장치를 추가했고 /etc/crypttab이제 암호를 한 번 입력하면 자동으로 마운트 및 잠금 해제됩니다(두 파티션 모두 동일함). 따라서 가루다에 로그인하면 두 드라이브 모두 잠금 해제됩니다..... .제 생각에는 이것이 올바르게 설정되었습니다.

이제 일부 사람들은 이 시점에서 grub 업데이트를 설치해야 한다고 제안하는 것 같지만 업데이트할 때 메뉴 항목을 추가하지 않습니다.

그래서 수동으로 grub에 메뉴 항목을 추가했습니다.

/etc/grub.d/40_custom:

menuentry "Arch" {
search --set=root --fs-uuid luks-35308676-366b-495a-afd3-9c65701ec867
linux /boot/vmlinuz-linux-zen root=UUID=35308676-366b-495a-afd3-9c65701ec867 rw  quiet
}

이제 grub 부팅 메뉴에서 항목을 찾았지만 부팅 시 장치 35308676-366b-495a-afd3-9c65701ec867을 찾을 수 없다고 표시됩니다. 또한 uuid fb72ec72-1352-4e5c-849d-a44c69ba4b16을 사용해 보았지만 동일한 실수가 발생했습니다.

누군가 내가 지금까지 한 일이 옳았다는 것을 확인하고 그것이 작동하도록 올바른 방향을 알려줄 수 있다면 나는 매우 감사할 것입니다.

미리 감사드립니다.

관련 정보