利用WIN7自带的bcdedit命令和grub4dos为系统添加ISO启动菜单,可以直接在启动时加载ISO文件。例如启动时直接加载某些PE光盘。
方法/步骤
-
下载grub4dos软件包,提取文件grldr 和grldr.mbr到C盘根目录
-
某些版本的windows可能已经有用到其他版本的grldr,因其和grub4dos自带的不同,所以不可以直接使用,要做一些处理:首先将grldr改名为gdldr,然后用WinHex编辑grldr.mbr,替换其中的grldr为gdldr。如果原系统中没有用到其他版本的grldr,可以跳过此步。
-
用bcdedit添加启动项。进入WIN7系统,以管理员权限打开命令行提示符,依次执行以下命令:
bcdedit /create /d "GRUB MENU" /application bootsector (注:建立一个名称为“GRUB MENU”的实模式启动项)
把生成的{ID}复制下来,以下命令中的ID皆替换成此ID
bcdedit /set {ID} device partition=C: (注:设置引导扇区文件所在的分区,grldr.mbr所在分区)
bcdedit /set {ID} path \grldr.mbr (注:指定引导扇区文件的路径和文件名)
bcdedit /displayorder {ID} /addlast (注:增加这个GRUB MENU的菜单项到末尾)
-
把你要加载的ISO文件放到C:/TOOLS/ISOS下面(当然你也可以自定义目录,下面的menu.lst中的路径也要同步修改)
-
修改menu.lst,添加加载ISO的菜单。添加的菜单可能如下所示:
title find and boot WIN7PE.ISO
fallback 6
find --set-root /TOOLS/ISOS/WIN7PE.ISO
map /TOOLS/ISOS/WIN7PE.ISO (0xff) || map --mem /TOOLS/ISOS/WIN7PE.ISO (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
-
加载Ubuntu的ISO稍有不同,除了以上步骤外,还要解压缩ISO,将casper文件夹中的initrd.lz和vmlinuz两个文件,复制到C盘根目录,在menu.lst中加入以下数据(其中的文件名请根据实际情况修改):
title Install Ubuntu12.04root (hd0,0) kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-12.04-desktop-i386.iso locale=zh_CN.UTF-8 initrd (hd0,0)/initrd.lz note: 对于64位系统 vmlinuz为vmlinuz.efi