이와 같은 질문이 많다는 것을 알고 있지만 제가 찾은 예는 혼란스러울 정도로 다양합니다. 누군가가 이 문제를 명확히 하는 데 도움을 줄 수 있기를 바랍니다.
내 설정에 대한 간략한 설명입니다. 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을 사용해 보았지만 동일한 실수가 발생했습니다.
누군가 내가 지금까지 한 일이 옳았다는 것을 확인하고 그것이 작동하도록 올바른 방향을 알려줄 수 있다면 나는 매우 감사할 것입니다.
미리 감사드립니다.