借助GRUB4DOS在U盘上引导ISO镜像

根据cch在上一篇《新电脑的规格配置》一文中的留言提示,我下载了Hitachi Feature Tool工具,打算将我的WD640AAKS也调节为高性能模式。不过面临的直接问题是这个工具是以ISO格式的光盘镜像提供,其中封装的是IBM DOS和FTOOL工具。而我没有刻录光驱,也无法安装DOS系统(全部分区都被我格式化为NTFS了),想要引导这个镜像还真有点麻烦。

正好一直以来都想解决U盘引导多重ISO镜像的难题,于是便去网上找答案,最后让我发现了GRUB4DOS这个非常强大的系统引导辅助工具。它的文档写的很详细,覆盖了各种场景下的安装方法。即使像我这样从未玩过Vista/Win2008中BCD引导系统的新手,也能按部就班的顺利装上GRUB4DOS。其实步骤说起来也很简单:(仅适用于Vista/Win2008)

首先应将你的U盘分区转换为可引导分区:(注意将“U:”换成实际U盘的盘符)

bootsect /nt60 U: /force /mbr

接下来需要借用Vista/Win2008安装介质中的引导部分,将其中的bootmgr、bootmgr.efi以及整个boot和efi文件夹复制到U盘上(根文件夹下)。

(因为我手中这个优盘之前就做成了Win2008的安装盘,因此省去了上面两步)

然后需要修改BCD记录,为GRUB4DOS增加引导项:

bcdedit /store U:bootbcd /create /d "More..." /application bootsector

正常情况下,你会得到一个形如“{05d33150-3fde-11dc-a457-00021cf82fb0}成功创建”的提示。这个“{…}”就是新引导项的ID,将要用在下面的几条命令中(注意将{id}替换为上述提示中的“{…}”):

bcdedit /store U:bootbcd /set {id} device boot
bcdedit /store U:bootbcd /set {id} path grldr.mbr
bcdedit /store U:bootbcd /displayorder {id} /addlast

然后将grldr.mbr、grldr和menu.lst复制到U盘的根文件夹下即可。

接下来要修改menu.lst,增加对光盘的引导选项。编辑menu.lst文件,在第一个“title”所在行之前插入如下内容:

title Hitachi Feature Tool
map --mem (hd0,0)/ftool.iso (hd32)
map --hook
chainloader (hd32)
savedefault --wait=2

因为这个光盘镜像其实很小,所以我使用了–mem参数将其缓存到内存中。对于较大的ISO文件,最好去掉–mem参数。(除非你的内存足够容纳下)

最后包含“savedefault”那行不是必须的,它只是让你可以在引导时将这个项保存为默认值。

完成上述步骤后,再把光盘镜像文件ftool.iso丢到和grub同样的根文件夹下就完工了。

重新启动后,在Vista的启动选单中选择“More…”,然后就会出现GRUB的引导菜单,其中第一项就是我们希望引导的光盘镜像了。

GRUB4DOS强大的功能远不止引导光盘镜像、WinXP、Win9x、DOS、Linux、Mac OS全都不在话下,而GRUB4DOS本身也支持多种加载方式:MBR、boot.ini、BCD、PXE…… 以后有时间再来细细研究了,反正目前主要是用它来在U盘上多重引导ISO镜像。


倘若引导不成功,通常可能的原因有:

(1)光盘镜像的CD-ROM文件系统是Joliet CD格式,GRUB4DOS不支持这种格式。你需要通过工具转换一下镜像文件的文件系统格式。
(2)BIOS中激活了SATA的AHCI模式。GRUB4DOS可能无法兼容AHCI模式,应在BIOS中将SATA模式设置为IDE。


UPDATE: 倘若不需要兼做Vista/Win2008的安装U盘,那么完全可以删除掉bootfonts下多余的繁体中文、日文、韩文等字体文件,可以节省不少空间。bootmgr.efi及整个efi文件夹按理也可以删掉,只要用起来没有兼容性问题。

《借助GRUB4DOS在U盘上引导ISO镜像》有8个想法

  1. 嘎嘎.
    性能嘛,用HD-tune 3.0 测一下就知道啦。至少寻道基本提前5Ms左右,如果RP爆发的话…..

    ps:赞一下这种折腾的精神
    俺也是2008 EE 哈哈~~

  2. 好厉害啊,我正需要你的文章呢!!
    等电脑升级了,我也用U盘装win7试试…
    现在的问题就是 引导iso光盘镜像!!

  3. 啊哈哈,太感谢博主的方法了。

    Windows 7 改了很多东西,在 PE2.0 下无法安装,用Grub4DOS挂在ISO文件,终于搞定了。

    太感谢了啊~

  4. 最近在研究android-x86和win8的多系统启动,win8用vhd的,android-x86也是vhd,可是怎么都起不来,看过博文感觉我方向错了,android-x86也许不需要vhd。
    多谢博主,尽管是篇很早的文章,但还是很有启发。

  5. 你这个方法绕圈了,直接用 grub4dos 推荐的,目前已经集成在wingrub里的工具,直接写mbr引导,然后copy grub4dos的文件过去,用不着win下面的bootsect 和bcdedit。直接就能启动ftool.iso

发表评论

电子邮件地址不会被公开。 必填项已用*标注