虽然我确实修复了我之前修复正确引导映像的问题,但我一直在努力解决另一个与GRUB2相关的问题。
问题是即使我做在我的多重引导标头中设置视频信息请求位,GRUB2 不返回正确的VESA BIOS扩展(VBE)信息。< / p>
内核是我自己的工作,值得注意的是它与一些早期版本的GRUB2一起工作(TM)(我可以用白色像素填充屏幕,没问题)。
这是我目前的grub.cfg:
set timeout=10
set default=0
menuentry "zero" {
set gfxmode=1024x768x24
set gfxpayload=keep
insmod vbe
insmod gfxterm
multiboot /kern
}
这是我用来构建启动映像的脚本:
echo Building kernel
./build.sh
echo Creating bootable CD image...
cp zero cdimg2/kern
grub-mkimage --format=i386-pc --output=core.img \
--config="cdimg2/boot/grub/grub.cfg" loadenv biosdisk \
part_msdos part_gpt fat ntfs \
ext2 ntfscomp iso9660 loopback search linux boot \
minicmd cat cpuid chain \
halt help ls reboot echo test configfile normal sleep \
memdisk tar font \
gfxterm gettext true vbe vga video_bochs video_cirrus \
multiboot multiboot2
cat /usr/lib/grub/i386-pc/cdboot.img core.img > \
cdimg2/grub.img
genisoimage -A "ZERO" -input-charset "iso8859-1" -R -b \
grub.img -no-emul-boot \
-boot-load-size 4 -boot-info-table -o cd.iso cdimg2