打造自己的多启动U盘电脑维护系统图文教程(一)
初识U盘多系统启动
现在越来越多的人都在使用多启动U盘电脑维护系统,其引导设置大都使用的是grub4dos程序来引导U盘启动,可以引导多种PE(包括2003PEXPPEWIN7PEWIN8PE等),引导DOS工具箱、GHO一键恢复等。
本系列教程较详细地介绍了如何打造属于自己的多启动U盘系统,语言通俗易懂,适合于初学者。本教程的编写参考了网上多种教程,并结合自己实际制作经验,仅供参考,错误及不妥之处在所难免,请多海涵。
1、认识多启动U盘主要文件及结构:
1、根目录文件:
其中的grldrGRUB4DOS程序的启动引导文件,它将引导GRUB4DOS程序从U盘启动。
    2/boot/文件夹下相关文件:
    3/grub/文件夹下的相关文件:
    4/boot/imgs/文件夹下的相关文件:
5/MINIPE/文件夹下的相关文件:
    其中的WINPE.IS_文件和WINPEZC.IS_WIN2003WINXPPE的主文件,OP.WIM文件为WIN2003PE的外置程序包,WINPE.INI为其外置程序配置文件。
    6/sources/文件夹下相关文件:WIN7WIN8PE的主文件
二、电脑从本多启动U盘系统启动后的启动界面:
三、启动引导原理:
GRUB4DOS引导U盘启动系统的主要启动引导文件包括grldrvbe.lstmenu.lst,引导程序为NTDETECT.COM
    将电脑设置为从U盘启动后,启动程序从U盘的根目录下寻引导文件grldr,该文件的作用是引导电脑启动grub4dos程序,并加载启动菜单文件menu.lst,使电脑进入启动菜单选择界面(如上图),用户根据选项选择要启动的程序后,电脑将启动运行该程序。
四、U盘系统启动引导文件grldr
    1Grldr启动引导文件,应放在U盘的根目录下,其作用是引导电脑启动grub4dos程序,加载启动菜单文件menu.lstgrldr文件可用BOOTICE_1.3.2程序内的实用工具进行查看、编辑。
    2、下面是某grldr文件的内容:
pxe detect
echo -e \n\n\n $[0x0F]Press [$[0x0C] F8 $[0x0F]] in 5 seconds goto $[0x0E]VBE $[0x0F]mode \n\n $[0x0F]or any other key goto $[0x0A]GFX$[0x0F] mode (default)\n\n
pause --test-key --wait=0
set /A key=%@retval%
if "%key%"=="0x4200" && find --set-root /boot/grub/vbe.lst && configfile /boot/grub/vbe.lst
errorcheck off
configfile /boot/grub/menu.lst
configfile /grub/menu.lst
if "%@root%"=="(ud)" && calc *0x82A0=*0x82b9&0xff
if "%@root:~1,1%"=="f" && find --set-root --devices=f /menu.lst && configfile /menu.lst
find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst
单田芳经典评书大全
find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst
find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst
errorcheck on
3、以上内容翻译如下:(说明:#后面的文字为前面命令含义的解释,仅供参考)
pxe detect    #检测预启动运行环境(GRUB4DOS版本)
echo -e \n\n\n $[0x0F]Press [$[0x0C] F8 $[0x0F]] in 5 seconds goto $[0x0E]VBE $[0x0F]mode \n\n $[0x0F]or any other key goto $[0x0A]GFX$[0x0F] mode (default)\n\n  #换(三)行输出(在电脑屏幕上显示):Press  [F8]  in 5 seconds goto VBE mode    (F8显粉[0x0C]VBE显黄[0x0E],其他显白[0x0F],再换行输出(显示):or any other key goto  GFX  mode (default)  GFX显示绿[0x0A],其他显白),再换行
pause --test-key --wait=5    #暂停5s
set /A key=%@retval%    #设定变量
if "%key%"=="0x4200" && find(查) --set(设为)-root(根) /boot/grub/vbe.lst && configfile /boot/grub/vbe.lst  #/boot/grub/vbe.lst文件或配置文件/boot/grub/vbe.lst,到就设该设备为根。
errorcheck off  #错误检查
configfile /boot/grub/menu.lst    #配置文件/boot/grub/menu.lst(菜单配置文件)
configfile /grub/menu.lst        #配置文件/grub/menu.lst(菜单配置文件)
if "%@root%"=="(ud)" && calc *0x82A0=*0x82b9&0xff
if "%@root:~1,1%"=="f" && find --set-root --devices=f /menu.lst && configfile /menu.lst 
find --set-root --ignore-floppies --ignore-cd /menu.lst && configfile /menu.lst          #在所有分区根目录下查vbe.lst文件或配置vbe.lst文件,忽略软驱和光驱,到就设该设备为根。
find --set-root --ignore-floppies --ignore-cd /boot/grub/menu.lst && configfile /boot/grub/menu.lst      #/boot/grub/下的vbe.lst文件或配置/boot/grub/下的vbe.lst文件,忽略软驱和光驱,到就设该设备为根。
find --set-root --ignore-floppies --ignore-cd /grub/menu.lst && configfile /grub/menu.lst    #/grub/下的menu.lst文件或配置/grub/下的menu.lst文件,忽略软驱和光驱,到就设该设备为根。
errorcheck on    #错误检查
    5、根据以上引导设置,系统启动后的界面如下:
五、启动菜单文件menu.lst
1menu.lst文件是系统启动后的启动菜单选项文件,即选择种丹妮U盘系统将进入哪一个PE或程序,通常位于/boot/grub/文件夹下,是GRUB4DOS与要启动的程序之间的命令关联文件。menu.lst文件也可用BOOTICE_1.3.2程序内的实用工具进行查看、编辑。
2、下面为某menu.lst文件内容,#后面文字为后加的说明部分,实际文件中没有这部分文字。
timeout 10    #默认延迟时间为10s(以供使用者进行选择)
default 3      #默认启动项为第4项(第1项数值为0
gfxmenu  /boo/tgrub/message  #设置/boo/tgrub/message文件为图形菜单文件
configfile (md)4+8    #配置文件
title 01      =>尝试从本地硬盘启动
find --set-root --ignore-floppies --ignore-cd /bootmgr || find --set-root --ignore-floppies --ignore-cd /ntldr
map () (hd1)
map (hd1) ()
map --rehook || echo 无需交换磁盘顺序,直接从本地盘启动
find --set-root --ignore-floppies --ignore-cd /bootmgr || find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader (hd0)+1
boot
title 02      启动 WIN2003PE 维护版
屈原的诗
find --set-root /boot/grub/LDRXPE1
陈辰个人资料
chainloader /boot/grub/LDRXPE1
title 03      启动 VISTA PE 维护版
银子变黑>知否知否每个人结局find --set-root /boot/bcfmgr
chainloader /boot/bcfmgr
title 04      启动 WIN8PE 快速启动版
find --set-root /boot/bcdmgr
chainloader /boot/bcdmgr
title 05      启动 WIN8PE网络版