1. 下载syslinux的memdisk, 编译并cp memdisk到/boot下
https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/
2. 在grub.cfg中添加:
menuentry 'Boot Windows 8 PE ISO'{
echo 'Loading Memdisk...'
insmod lvm
insmod xfs
insmod memdisk
insmod part_msdos
linux16 (hd0,msdos1)/memdisk iso raw
echo 'Loading ISO...'
initrd16 /boot/Win8PE.iso
}
提示: grub启动项出现的时候,e可以编辑对应项, c可以进入交互模式。命令 lsmod和ls同linux用法,比较有用。
grub2可以直接启动grub4dos:
menuentry "Grub4dos"{
setroot=(hd0,msdos1)
linux16 /grub.exe
}
但grub4dos无法识别lvm分区,所以尽量避免全部用lvm,或者至少留一个dos分区,放各种img/iso镜像文件
grub4dos也可以反启动grub2, 命令如下:
kernel (hdx,y)/boot/grub/i386-pc/core.img
但是xfs的文件系统识别不了,所以把boot格式化成ext3还是必要的