错误:找不到设备“/dev/mapper/MyVolGroup-root”。跳过 fsck

错误:找不到设备“/dev/mapper/MyVolGroup-root”。跳过 fsck

我使用了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

之后它就起作用了。

相关内容