;参数化菜单功能调用举例 by Pseudo 2010.2.10
;参数化菜单功能调用可方便用户DIY。
;此菜单通用,同一菜单适合于:
;硬盘、光盘、移动硬盘、USB-CDROM、USB-HDD、USB-ZIP和UD等本地启动情形。
;也可直接用于网启部署。
;如[2][3][4]菜单项所示,0PE同一菜单项可以启动不同的ISO。
;此菜单仅作示例,使用者应在理解基础上DIY。
;提醒:
;合盘需使用适当的新版Grub4Dos,例如0PE v1.0.7需使用grub4dos-0.4.5a-2010-02-09.zip
;应使用英文版grldr,可通过gfxmenu实现中文界面。
checkrange 0x21 read 0x8280 && pxe detect NotExist
timeout 8
default 0
cat --length=0 ()/0PE/MENU.0PE || find --set-root /0PE/MENU.0PE
#假定MESSAGE与MENU.0PE在同一个盘(分区)
gfxmenu /MESSAGE
title [0] 0PE原版菜单
configfile /0PE/MENU.0PE
title [1] 直接启动0PE
#这行表示绕过0PE第一菜单界面,直接调用其菜单项
write 0x60300 0x60300
#这行指定调用0PE第1菜单项
write 0x60100 1
configfile /0PE/MENU.0PE
title [2] 启动ISO例一(PE)
#这样启动ISO可找到硬盘和外置工具。
write 0x60300 0x60300
#调用0PE第3菜单项,默认名串/PE.ISO
write 0x60100 3
#可自行指定ISO名串
write (md)0x301+1 /ISO/LMT911PE.ISO
#指定串/ISO/LMT911PE.ISO长为17个字符
write 0x60360 17
configfile /0PE/MENU.0PE
title [3] 启动ISO例二(控制台)
#这样启动ISO可找到硬盘不蓝屏
write 0x60300 0x60300
write 0x60100 3
write (md)0x301+1 /ISO/XP_CON.ISO
#指定串/ISO/XP_CON.ISO长为15个字符
write 0x60360 15
configfile /0PE/MENU.0PE
title [4] 启动ISO例三(安装盘)
#这样启动ISO可找到硬盘不蓝屏
write 0x60300 0x60300
write 0x60100 3
write (md)0x301+1 /ISO/XP_SP3.ISO
write 0x60360 15
configfile /0PE/MENU.0PE
title [5] 串接用户菜单
write 0x60300 0x60300
write 0x60100 4
configfile /0PE/MENU.0PE
title [6] USB2.0加速模块(常死机)
write 0x60300 0x60300
write 0x60100 7
configfile /0PE/MENU.0PE
title [7] KonBoot绕口令模块
#for 2K/XP/2K3/VISTA/2K8
write 0x60300 0x60300
write 0x60100 8
configfile /0PE/MENU.0PE
title [8] 交换磁盘hd0、hd1顺序
write 0x60300 0x60300
write 0x60100 11
configfile /0PE/MENU.0PE
title [9] 激活分区(hd0,0)
#U启时往往U盘、硬盘分别对应hd0,hd1,这时要激活硬盘分区可先交换磁盘hd0,hd1顺序。
write 0x60300 0x60300
write 0x60100 12
configfile /0PE/MENU.0PE
title [10] 整体启动全内置0PE
#ANYNAME.ISO由0PE.ISO改名而来,不用改结构就直接可当全内置PE。
#全内置U启慢(但U启后可拔盘)、耗内存(整个ISO要载入内存)。
#增加ISO里面的外置工具不用动内核,但ISO体积越大越占启动内存。
#可考虑将部分内核、外置工具组件移到ISO外减小ISO体积。
cat --length=0 ()/ANYWHERE/ANYNAME.ISO || find --set-root /ANYWHERE/ANYNAME.ISO
map --mem /ANYWHERE/ANYNAME.ISO (0xff)
map --hook
chainloader (0xff)
title [11] 整体启动全外置0PE
#0PE.ISO须放入0PE目录,并处于可见分区。可以找到ISO里外置工具。
#如果ISO在磁盘上是连续存放的,将比全内置方式U启快、省内存,ISO里面的外置工具体积可无限增加。
#如果不连续存放,则整个ISO要载入内存。可考虑将部分内核、外置工具组件移到ISO外减小ISO体积。
cat --length=0 ()/0PE/0PE.ISO || find --set-root /0PE/0PE.ISO
map /0PE/0PE.ISO (hd32) || map --mem /0PE/0PE.ISO (hd32)
map --hook
chainloader (hd32)
title [12] 启动Windows XP/2K3
find --set-root --ignore-floppies --ignore-cd /ntldr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /ntldr
原帖由 zhaohj 于 2010-2-19 15:22 发表
#这行表示绕过0PE第一菜单界面,直接调用其菜单项
write 0x60300 0x60300
#这行指定调用0PE第1菜单项
write 0x60100 1
P大解析一下内存变量的含义
原帖由 pseudo 于 2010-2-18 21:48 发表
0PE是可剪裁、可扩展的PE,具有比模块化更精细的文件级组件化全外露(方便增减文件)结构。
不但能弄出维护版、网络版等,而且还能弄出兼顾维护、网络的版本。
可以弄出骨头版,还可以弄出比骨头版更小 ...
原帖由 pseudo 于 2010-2-18 21:48 发表
0PE是可剪裁、可扩展的PE,具有比模块化更精细的文件级组件化全外露(方便增减文件)结构。
不但能弄出维护版、网络版等,而且还能弄出兼顾维护、网络的版本。
可以弄出骨头版,还可以弄出比骨头版更小 ...
欢迎光临 无忧启动论坛 (http://wuyou.net./) | Powered by Discuz! X3.3 |