从 DOS 分区上的 LVM 启动需要哪些 grub 模块?

从 DOS 分区上的 LVM 启动需要哪些 grub 模块?

我正在尝试让我的 Ubuntu 机器从/bootLVM 启动,但似乎默认core.img不支持 LVM,所以我试图弄清楚需要提供哪些模块grub-mkimage才能让它找到我的/boot。到目前为止还没有运气——core_lvm.img要么变得太大(> 32k),要么实际上看不到我的 LVM vg。

例子:

grub-mkimage -P i386-pc -o /boot/grub/core_lvm.img part_msdos ext2 lvm
grub-setup -c core_lvm '(hd0)'

启动后,我会进入救援提示,但我只能看到(hd0-*),而看不到我的 LVM vg。LVM 需要哪些其他模块才能工作?

我正在继续尝试这个,但如果有人已经这样做了并且可以告诉我为什么上述方法不足以使其发挥作用,那就太好了。

答案1

您还需要准备并将小early-grub.cfg文件嵌入到core.imggrub-mkimage -c early-grub.cfg)。它应该设置适当的rootprefix变量并调用configfile $prefix/grub.cfg。示例:

set root=lvm/lvm_group_name-lvm_logical_boot_partition_name
set prefix=($root)/boot/grub
configfile $prefix/grub.cfg

相关内容