使用Xen及其pygrub
一段时间后,我现在正尝试使用KVM / qemu做类似的事情。
基本上,我有一个LVM逻辑卷(尽管也可以是一个文件),它包含Linux发行版的根文件系统(没有分区,只有FS直接在磁盘上),还包含/boot/grub/grub.cfg,并且我希望能够启动它。
我给人的印象是Debian / Ubuntu上的grub-firmware-qemu软件包就是为此目的而设计的,但是我没有设法使其起作用。AFAICT,grub.bin映像包含一个带有grub.cfg文件的硬编码内存磁盘,该文件带有一些菜单选项(例如搜索multiboot.img或搜索grub.cfg),但是运行时得到的kvm -bios grub.bin
只是一个“不兼容的许可证” “ 错误信息。而且我不太确定如何grub.bin
用不同的grub.cfg(只能这样做configfile (hd0)/boot/grub/grub.cfg
)生成不同的内容。
当然,我可以使用最小的grub配置创建一个软盘或cdrom或磁盘映像,但这样做的感觉是应该有一种更清洁/规范的方法,而且我的研究还很少。远。
我想一个人也可以使用qemu的-kernel
选项,但是同样,我也不知道如何生成一个grub.img
。(使用生成的grub.img grub-mkimage -O i386-pc -o grub.img -c =(echo 'configfile (hd0)/boot/grub/grub.cfg') /usr/lib/grub/i386-pc/*.mod
再次显示相同的“不兼容的许可证”错误消息)。
这是在debian上使用的grub软件包的版本1.99-23和kvm / qemu的1.1.2 + dfsg-2。
因此,简而言之,我应该如何创建grub.bin(与一起使用kvm -bios
)或grub.img(与一起使用kvm -kernel
),以使kvm引导能够解析/ boot / grub的grub映像/grub.cfg在虚拟磁盘上?