
저는 VirtualBox에 매우 기본적인 ArchLinux 설정을 가지고 있으며, 실제 컴퓨터에서 부팅하기 위해 정기적으로 USB 스틱에 복사합니다. 지난 몇 달 동안은 잘 작동했지만 마지막 업데이트(2018년 10월 8일) 이후 GRUB2는 USB 스틱에서 부팅할 때 더 이상 LUKS로 암호화된 시스템 파티션을 인식하지 못하고 비상 셸로 이동합니다. 해당 셸에서 실행하면 blkid
GRUB2가 로드된 USB 스틱도 인식하지 못하는 것으로 나타났습니다.
다음은 작동하는 것과 작동하지 않는 것에 대한 간략한 요약입니다. 이는 내 컴퓨터나 USB 스틱 모두 문제가 아니라 내 Arch 시스템에 있음을 시사합니다.
| ArchLinux | Fresh install of
| before update | after update | fresh reinstall | Ubuntu 18.04.1
--------------------------+-----------------+----------------+------------------+--------------------
Booting from virtual hard | worked | works | works | works*
disk in VirtualBox | | | |
--------------------------+-----------------+----------------+------------------+--------------------
Booting from USB | worked | NOT WORKING | NOT WORKING | works*
in VirtualBox | | | |
--------------------------+-----------------+----------------+------------------+--------------------
Booting from USB | worked | NOT WORKING | NOT WORKING | works*
on a computer | | | |
* with and without full disk encryption (LVM on LUKS)
당연히 나는 Arch-iso를 실행하고 (USB 스틱의) 모든 파티션을 마운트하고 arch-chroot
시스템에 연결하고 확인 /etc/mkinitcpio.conf
하고 실행 /etc/default/grub
하여 이 문제를 해결하려고 했습니다 . 여전히 부팅할 수 없습니다... 또한 가상 하드 디스크에서 업데이트되고 여전히 작동하는 시스템으로 USB 스틱을 덮어쓰려고 시도했지만 운도 없었습니다.mkinitcpio -p linux
grub-mkconfig -o /boot/grub/grub.cfg
이 동작의 원인이 무엇인지에 대한 단서가 있거나 문제를 찾아야 할 힌트가 있는 사람이 있습니까?가상 하드 디스크의 시스템은 업데이트 후에도 계속 작동하기 때문에 디스크 암호화가 될 수 없습니다(그리고 안타깝게도 업데이트 이전의 백업이 없습니다).
업데이트:대체 initramfs를 사용한 부팅은 모든 경우(vbox, vbox의 usb, 머신의 usb)에서 잘 작동합니다. mkinitcpio.conf에 일부 후크가 누락되었을 수 있습니다.
내 Arch 시스템에 대한 몇 가지 세부 사항은 다음과 같습니다. 이는 두 개의 파티션, 즉 GRUB2가 있는 200MiB FAT32 파티션과 LVM이 포함되지 않은 ext4 시스템 파티션을 보유하는 15.8GiB LUKS 컨테이너만 포함하는 GPT 포맷 디스크가 있는 EFI 시스템입니다. 다음은 구성 파일에 대한 요약입니다. 더 필요하면 알려주세요.
# /etc/mkinitcpio.conf
[...]
HOOKS=(base udev autodetect keyboard keymap modconf block encrypt filesystems fsck)
[...]
# /etc/default/grub
[...]
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/disk/by-uuid/UUID_OF_LUKS_CONTAINER:cryptosystem"
GRUB_CMDLINE_LINUX=""
[...]
#GRUB_DISABLE_LINUX_UUID=true
[...]
#GRUB_ENABLE_CRYPTODISK=y
[...]
# /boot/grub/grub.cfg
[...]
linux /vmlinuz-linux root=UUID=UUID_OF_FS_INSIDE_LUKS rw cryptdevice=/dev/disk/by-uuid/UUID_OF_LUKS_FS:cryptosystem quiet
[...]
태그: usb, 아치-리눅스, grub2
답변1
후크 를 제거하면 autodetect
문제가 해결됩니다. 이제 대체 이미지를 사용하지 않고 시스템을 부팅할 수 있습니다.