Arch를 실행하는 Dell XPS 15 9560을 부팅한 후 장치를 찾을 수 없어 비상 셸에 들어갔습니다.
starting version 239
A password is required to access the luks volume:
mount: /new_root: special device /dev/mapper/vg0-root does not exist.
ERROR: device '/dev/mapper/vg0-root' not found, Skipping fsck.
mount: /new_root: special device /dev/mapper/vg0-root does not exist.
You are now being dropped into an emergency shell.
sh: can't access tty; job control turned off
[rootfs ]#
산출lvm pvs
[rootfs ]# lvm pvs
WARNING: Not using lvmetad bacause config setting use_lvmetad=0
WARNING: To avoid corruption, rescan devices to make changes visible (pvscan --cache)
PV VG Fmt Attr PSize PFree
/dev/mapper/luks vg0 lvm2 a-- <237.74g 0
산출lvm lvs
[rootfs ]# lvm lvs
WARNING: Not using lvmetad bacause config setting use_lvmetad=0
WARNING: To avoid corruption, rescan devices to make changes visible (pvscan --cache)
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg0 -wi------- <221.74g
swap vg0 -wi------- 16.00g
vg0-root와 vg0-swap이 모두 존재하지만 실행할 때를 포함하여 dev에 표시되지 않기 때문에 출력이 정말 혼란스럽습니다.cryptsetup luksOpen /dev/nvme0n1p3 luks
내 생각엔 내 mkinitcpio.conf에 후크가 누락된 것 같지만 여기 내 mkinitcpio.conf가 있습니다.
HOOKS=(base udev autodetect modconf block encrypt lvm2 filesystems keyboard fsck)
지난 5일 전과 별 다를 게 없는 것 같아요. 지난번에는 괜찮게 시작됐거든요. 오늘 일찍 하나를 실행했지만 pacman -Syu
여기서 정확히 무엇이 잘못되었는지 알아내는 방법을 잘 모르겠습니다.
mkinitcpio -p linux
아치 USB에서 드라이브로 루트를 전환할 때 제대로 작동합니다.
편집하다:
root=/dev/mapper/luks
내 항목에 추가했는데 GRUB_CMDLINE_LINUX
오류가 발생함mount: /new_root: unknown filesystem type LVM2_member'
lvm vgchange -ay vg0
mount /dev/mapper/vg0-root /new_root
exit
내 시스템으로 부팅할 수 있지만 이는 lvm2 후크를 통해 자동으로 발생해야 하며 재부팅 시 이 작업을 다시 수행해야 합니다.
답변1
이 문제를 해결하기 위해 내가 무엇을 했나요?
모든 busybox 후크를 해당 systemd 후크로 변경하고, systemd initramfs로 전환하고, DEFAULT_CMDLINE_LINUX
sd-encrypt 및 sd-lvm2 구문을 반영하도록 grub을 변경합니다.
그런 다음 lvm.conf를 재설정했습니다.
sudo rm /etc/lvm/lvm.conf && sudo pacman -S lvm2
답변2
실행하는 동안 논리 볼륨이 비활성 상태로 표시되는 비슷한 문제가 있었습니다 lvscan
.
이전에 변경한 유일한 사항은 을 /etc/lvm/lvm.conf
비활성화 하는 것이었습니다 use_lvmetad
.
이 상황을 복구하기 위해 다음을 실행했습니다.
rm /etc/lvm/lvm.conf && pacman -S lvm2
use_lvmetad
하지만 램 디스크를 다시 활성화하고 재생성하는 것은 가치가 있다고 생각합니다 .
그래서:
- 반드시
use_lvmetad=1
/etc/lvm/lvm.conf
옵션을 다음으로 변경하려면
use_lvmetad=1
램디스크를 다시 빌드하세요 .mkinitcpio -p linux