上一篇博文中我提到了定制 PE 合盘的方法,可能还有一些朋友不是很懂,这里补充几点。
要点1: 菜单的排布
U盘启动时的界面,这里叫做主界面,而主界面下有时还会用到子界面,下面是我制作的PE的菜单目录:
GRLDR//主菜单 | | ———OP.LST//工具分类 | | | |———FQ.LST//分区工具 | | |————————MENU.LST//返回主菜单 | |———HY.LST//备份工具 | | |————————MENU.LST//返回主菜单 | ———BIOS.LST//BIOS工具 | |————————MENU.LST//返回主菜单
| ———ED.LST//更多选项 | |———US.LST//USB加速 | |————————MENU.LST//返回主菜单 ———MENU.LST//返回主菜单 |————————MENU.LST//返回主菜单
看到这你大概就明白了,这里的菜单就像文件夹,一个夹着一个。
引导菜单文件(.LST)的命令是:
title ****这里是标题****** configfile ****这里是路径***** 比如下面的例子: title [ - ] 更多选项 >>> configfile (bd)/BOOT/GRUB/ED.LST
要点2:IMA、IMG工具的使用
IMA、IMG 格式文件放在 TOOLS 目录下(你也可以使用别的目录),使用如下命令引导:
title *****这里是标题**** map --mem *****这里是路径***** map --hook chainloader (fd0)+1 rootnoverify (fd0) 比如下面的例子: title [ 5 ] 安装 GHO 到硬盘第一分区 map --mem (bd)/TOOLS/XGHOST.IMG (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0)
GHOST
OKGHOST
矮人工具箱
深山红叶工具箱
KONBOOT
PM 分区魔术师
MHDD 磁盘检测
……
要点3 Fbinst Tool 的使用
上一篇博文是把怎么使用 FB 格式化U盘省略了,现在补上,看图说话。
FB文件的新建与编辑都是很人性化的,添加某个文件只需要拖动到窗口内就可以,FB可以编辑基于 TXT 的文档。(只要是记事本可以打开不乱码的都可以)
如果你是用记事本编辑的文档一定要保存为 UTF-8 的格式,这样才支持中文显示。
同样地,FB支持导出导入FBA文件,记得制作好的 PE 保存为FBA,下次就可以直接写入了。
要点4 常用的命令
上面是标准格式,下面是例子。
引导 ISO 格式文件:
title ***标题*** find --set-root ***路径*** map ***路径*** (0xff) map --hook chainloader (0xff)
title [ 2 ] 运行 强悍内置 WINDOWS 2003 PE find --set-root /BOOT/03.ISO map (ud)/BOOT/03.ISO (0xff) map --hook chainloader (0xff)
关机与重启:
title 重新启动
reboot
title 关机
halt
引导操作系统:
title ***标题*** find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr calc *0x475&0xff-1 && calc *0x82b8 && map (hd0) () calc *0x475&0xff-1 && calc *0x82b8 && map () (hd0) calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map (hd0) () calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map () (hd0) calc *0x475&0xff-1 && calc *0x82b8 && calc *0x82b9=*0x82b9&0xffffff00|0x81 > nul calc *0x475&0xff-1 && map --hook if exist /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS || find --set-root --devices=h /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS cat /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS | set wincd= if "%wincd:~,4%"=="(pd)" echo -n > /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS && map --mem %wincd% (0xff) && map --hook && set wincd= if "%wincd:~,1%"=="/" echo -n > /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS || set wincd= if exist wincd && if exist (0)%wincd% root (0) && map --mem (0)%wincd% (0xff) && map --hook && set wincd= if exist wincd && if exist %wincd% || find --set-root --devices=uh %wincd% if exist wincd && if exist %wincd% && map %wincd% (0xff) || map --mem %wincd% (0xff) map --e820cycles=3 map --hook find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr chainloader ()+1 || chainloader /ntldr || chainloader /bootmgr
title [ 2 ] 引导此计算机上的 Windows 操作系统 find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr calc *0x475&0xff-1 && calc *0x82b8 && map (hd0) () calc *0x475&0xff-1 && calc *0x82b8 && map () (hd0) calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map (hd0) () calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map () (hd0) calc *0x475&0xff-1 && calc *0x82b8 && calc *0x82b9=*0x82b9&0xffffff00|0x81 > nul calc *0x475&0xff-1 && map --hook if exist /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS || find --set-root --devices=h /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS cat /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS | set wincd= if "%wincd:~,4%"=="(pd)" echo -n > /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS && map --mem %wincd% (0xff) && map --hook && set wincd= if "%wincd:~,1%"=="/" echo -n > /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS || set wincd= if exist wincd && if exist (0)%wincd% root (0) && map --mem (0)%wincd% (0xff) && map --hook && set wincd= if exist wincd && if exist %wincd% || find --set-root --devices=uh %wincd% if exist wincd && if exist %wincd% && map %wincd% (0xff) || map --mem %wincd% (0xff) map --e820cycles=3 map --hook find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr chainloader ()+1 || chainloader /ntldr || chainloader /bootmgr
图形化菜单(根据 Message 文件):
find --set-root (ud)/BOOT/GRUB/MESSAGE timeout 30 default 0 gfxmenu (ud)/BOOT/GRUB/MESSAGE