我读过很多关于 Grub 的文章,其中有很多配置示例。正好 0 包含 LVM 上单独的根分区和引导分区的配置。
这是我的配置:
menuentry 'Kali' {
insmod lvm
insmod gzio
insmod part_msdos
insmod ext2
set root=lvm/triagia-kaliboot
search --no-floppy --fs-uuid --set=root f1eb6904-c17e-40b7-8740-60e67b8d04de
linux /vmlinuz-4.0.0-kali1-amd64 root=/dev/mapper/triagia-kaliboot setkmap=us
initrd /initrd.img-4.0.0-kali1-amd64
}
这是我的 LVM 设置:
sda3 8:3 0 396.9G 0 part
├─triagia-kaliboot 254:0 0 500M 0 lvm
├─triagia-kaliroot 254:1 0 50G 0 lvm
└─triagia-kaliswap 254:2 0 4G 0 lvm
这会启动但不会启动,我认为我使用了关于 / 所在位置和 /boot 所在位置的错误配置。
答案1
您告诉内核在以下位置查找根目录:root=/dev/mapper/triagia-kaliboot
。我认为你需要改变这一点。
编辑 GRUB2 使用的内核参数,通过更改以下行来查找根目录/etc/default/grub
:
GRUB_CMDLINE_LINUX_DEFAULT="root=/dev/mapper/triagia-kaliroot"
。
由于您在 GRUB2 下为 /boot 分区使用 LVM,因此您还需要将此行添加到您的/etc/default/grub
:
GRUB_PRELOAD_MODULES="lvm"
。
完成后发出# update-grub
或# grub-mkconfig -o /boot/grub/grub.cfg
命令,然后重新启动。