我使用了lvm on luks加密方法。
我被引导到这个
Starting version 241.7-2-arch
ERROR: device '/dev/mapper/MyVolGroup-root' not found. Skipping fsck.
mount: /new_root: no filesystem type specified.
You are now being dropped into an emergency shell.
sh: can't access tty; job control turned off
[rootfs ]# _
答案1
# mount /dev/MyVolGroup/root /mnt
# mkdir /mnt/home
# mount /dev/MyVolGroup/home /mnt/home
# swapon /dev/MyVolGroup/swap
# mkdir /mnt/hostlvm
# mount --bind /run/lvm /mnt/hostlvm
# arch-chroot /mnt
# ln -s /hostlvm /run/lvm
我添加: cryptdevice=UUID=device-UUID:cryptlvm root=/dev/MyVolGroup/root
在 GRUB_CMDLINE_LINUX="" 和 GRUB_CMDLINE_LINUX_DEFAULT="" 的双引号内
/etc/默认/grub
要得到:
GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=UUID=device-UUID:cryptlvm root=/dev/MyVolGroup/root"
GRUB_CMDLINE_LINUX="cryptdevice=UUID=device-UUID:cryptlvm root=/dev/MyVolGroup/root"
您需要获取设备 UUID:
ls -l /dev/disk/by-uuid/
您将 UUID 放在 device-UUID 之前出现的位置。
在这些之前我做了
arch-chroot /mnt
暂时不要重新生成 grub 配置。我重新生成了 grub 配置。(这是错误的时间)
我用 pacman -S linux 重新安装了 linux
确保 /etc/mkinitcpio.conf 中的引擎盖正确,请转到 archlinux wiki 中 luks 上的 lvm 来查看它们。
然后我跑了
mkinitcpio -p linux
我使用命令 exit 退出了 arch-chroot。
exit
我做了这个
mkdir /mnt/hostlvm
mount --bind /run/lvm /mnt/hostlvm
arch-chroot /mnt
ln -s /hostlvm /run/lvm
然后我跑了
grub-mkconfig -o /boot/grub/grub.cfg
我退出 arch-chroot 并重新启动
exit
然后
reboot
之后它就起作用了。