GRUB2不支持GRUB4DOS那样的map操作来引导ISO文件,是长期困扰我的一个问题,在今天之前,我都很傻地用grub2引导grub4dos然后引导Windows PE……直到我膝盖中了一箭,看到这个帖子。下面好好整理了一下,希望本文也能帮助你彻底从GRUB4DOS升级换代到GRUB2!
关于在U盘上安装GRUB2引导器的教程请自行Google,太多这类文章和Wiki了。下面开始GRUB2引导ISO文件(特别是Windows PE和Windows安装光盘这种)的正题。
首先下载linux/utils/boot/syslinux/" target="_blank" style="box-sizing: inherit; background-color: transparent; color: rgb(41, 128, 185); text-decoration-line: none; box-shadow: currentcolor 0px 1px 0px 0px;">最新版的Syslinux,解开压缩包,memdisk文件夹下面有一个memdisk文件(没有任何扩展名),把memdisk文件复制到U盘boot文件夹下(随便你放在哪,这里我是放倒boot这个文件夹下)。
编辑你U盘GRUB2的配置文件(一般是U盘/grub2/grub.cfg),在启动项那个区域添加以下几行。
1 2 3 4 5 6 7 8 | menuentry 'Boot Windows 8 PE ISO' { set root= '(hd0,msdos1)' echo 'Loading Memdisk...' #insmod memdisk linux16 /boot/memdisk iso raw echo 'Loading ISO...' initrd16 /boot/Win8PE .iso } |
好了,其实关键就是memdisk后面的raw参数!感兴趣的自己看Syslinux的Wiki,我这段代码引导的是U盘boot文件夹下的Win8PE.iso,请修改成你自己的具体情况。
借助MEMDISK(几十KB的文件),GRUB2就能加载几乎任意的镜像文件(ISO、IMG等)了,相当于是「虚拟光驱」的作用?不过引导速度比GRUB4DOS稍微慢一点。
关于PE的话这里多说点,建议去无忧论坛看看,我用无忧论坛的东西做启动维护工具估计都快七八年了!各种启动维护工具的讨论和分享。
嗯,现在我应该可以把U盘的GRUB4DOS删掉了~
2014-12-22 更新: 不需要insmod memdisk这一句,因为用的是Syslinux的MEMDISK而不是GRUB2的memdisk模块。当然你也可以直接用GRUB2的memdisk模块来加载镜像文件。
2015-02-22 更新: 为了规范,syslinux的MEMDISK全部大写,以便和GRUB2的memdisk模块区分开来。两者重名了,刚查了一下,GRUB2的memdisk是用来读取core.img的。和syslinux的MEMDISK完全不同……详见http://wiki.xtronics.com/index.php/Grub2_howto
本文链接:https://www.kinber.cn/post/2133.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: