我正在尝试让我的 Ubuntu 机器从/boot
LVM 启动,但似乎默认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.img
(grub-mkimage -c early-grub.cfg
)。它应该设置适当的root
和prefix
变量并调用configfile $prefix/grub.cfg
。示例:
set root=lvm/lvm_group_name-lvm_logical_boot_partition_name
set prefix=($root)/boot/grub
configfile $prefix/grub.cfg