将启动管理器换成grub2(应该叫做grub,以前的grub被叫做legacy grub,grub的开发者肯定不喜欢grub2这种叫法),以前用grub4dos加载的dos、pe、linuxlive镜像没法用了,实在不爽,hack之。
grub加载软盘镜像:
从syslinux软件包中提取memdisk,位于/usr/lib/syslinux目录中。也可以在syslinux的官网上直接下载,然后放在确定的位置比如/boot目录中。
用如下grub命令:
linux16 /boot/memdisk raw
initrd16 (hd0,msdosx)/img/dos.img
raw参数可省略。
grub加载光盘镜像,目前有3种办法,grub目前没有实现直接引导光盘镜像的功能。
-
使用loopback命令:
loopback loop (hd0,msdosx)/img/linuxlive.iso linux (loop)/boot/vmlinuz ro initrd (loop)/boot/initrd.gz
-
使用memdisk:
linux16 /boot/memdisk iso initrd16 (hd0,msdosx)/img/linuxlive.iso
注意:用这种方法引导的光盘镜像一定是syslinux兼容的,很多PE及Windows中工具做成的iso镜像和syslinux都不兼容,直接用上面的命令引导的话很可能导致BIOS数据损坏的严重后果。
-
用grub加载grub4dos,这是目前最稳妥灵活的一种方法:
grub4dos安装在mbr或者pbr中:
drivemap -s (hd0) (hd0,msdosx) chainloader +1
grub4dos保存为ldr文件:
ntldr (hd0,msdosx)/boot/grldr
grub4dos保存为DOS执行文件:
linux16 (hd0,msdosx)/boot/grub.exe
使用grub4dos,将menu.lst配置文件放在特定位置,可以在不改动或者重新配置grub.cfg(配置一般写在/etc/default/grub
和/etc/grub.d/40_custom
等文件中,有什么变动时运行grub-mkconfig,这是官方推荐的方法)的情况下加载一些镜像文件,这样比较灵活。