|
debug off
command --set-path=(fd0)/grub/
fontfile (fd0)/grub/fonts
default 1
timeout 3
menuset 15 15 15 15 15 21 20 40 5 3 10
write 0x60000 0
insmod (fd0)/grub/WENV
find --set-root --devices=h /win7/vhdparent.bak && default 0 //父VHD存在就以第一项启动 可在任意分区下创建win7目录来存放VHD文件
find --set-root --devices=h /win7/win7.vhd && wenv set name=win7 //公用版假定为win7.vhd 子VHD文件
title 启动您的Win7系统\n\t请输入您的系统名称。
find --set-root --devices=h /asus.bin && slic /asus.bin //免激活处理
wenv get name && WENV call pause --wait=4 5秒后将启动公用版win7系统,按ESC键启动您的专用版win7. || wenv set name=$input,请输入您的系统名称: || configfile (fd0)/menu.lst
wenv get name || wenv set name=$input,请输入您的系统名称: || configfile (fd0)/menu.lst
wenv set tmp=/win7/${name}.vhd
wenv call find --set-root --devices=h ${tmp} || fallback --go 3
write --offset=0x4E74 (fd0)/boot/bcd b
wenv get tmp=0x600000
cat --locate=\\x2F --replace=\\x5C (md)0x3000+3
wenv call write --offset=0x7D72 (fd0)/boot/bcd *0x600000$
wenv call write --offset=0x82EA (fd0)/boot/bcd *0x600000$
WENV calc cur_drv=*0x82A0 & 127
WENV calc cur_pri=*0x829C>>16 & 65535
write 0x60004 0
write 0x60000 0
WENV calc cur_drv=*0x82A0 & 127
wenv call dd if=(hd${cur_drv})+1 of=(md) bs=1 count=4 skip=0x1b8 seek=0x60000
cat --length=0 ()-1
dd if=(md) of=(md) bs=1 count=8 skip=0x8290 seek=0x60008
cat --locate=\x2E\xB5\x41\x7D --replace=*0x60000 (fd0)/boot/bcd
cat --locate=\0\x7E\0\0 --replace=*0x60008 (fd0)/boot/bcd
chainloader (fd0)/boot/bootmgr
boot
title 启动常规版Win7或XP系统\n\t优先搜索启动Win7,其次XP。 //不存在父VHD则搜索启动正常安装版的WIN7或XP
find --set-root --devices=h /asus.bin && slic /asus.bin //免激活处理
errorcheck off
find --set-root --devices=h /ntldr && unhide && chainloader /ntldr
find --set-root --devices=h /bootmgr && unhide && chainloader /bootmgr
errorcheck on
boot
title 创建或还原您的专用版win7系统\n\t输入已有用户名则还原,新用户名则创建。
wenv get name && WENV call pause --wait=5 5秒后将还原公用版win7系统,按ESC键还原或新建您的专用版win7. || wenv set name=$input,请输入您需要还原或新建的系统名称: || configfile (fd0)/menu.lst
wenv get name || wenv set name=$input,请输入您需要还原或新建的系统名称: || configfile (fd0)/menu.lst
WENV call find --set-root --devices=h /win7/${name}.vhd || fallback --go 4
WENV call pause --wait=9 原系统中的资料将丢失! 不想还原请按ESC键取消。 || configfile (fd0)/menu.lst
diskid && wenv set part=*0x4ff00$ //获取GHOSTID
WENV call write --offset=0x19 (fd0)/autoexec.bat ${part}
write --offset=0x1a (fd0)/autoexec.bat . //修改:为.
WENV call write --offset=0x7c (fd0)/autoexec.bat ${name}.vhd //修改autoexec.bat中的变量
chainloader (fd0)/io.sys
#3
title
pause 输入错误,按任意键返回选择菜单 && configfile (fd0)/menu.lst
#4
title
wenv check "${name}"<>"" || fallback --go 3
WENV call pause --wait=0 输入密码后将创建${name}的专用win7系统!
password =wuyou || fallback --go 3
WENV call find --set-root --devices=h /win7/win7vhd.bak || WENV call pause win7系统的一键还原已被破坏,请联系XX电脑,电话:XXX。&& chainloader (hd0)+1 // win7vhd.baK为子VHD备份文件 97KB
diskid && wenv set part=*0x4ff00$
WENV call write --offset=0x19 (fd0)/autoexec.bat ${part}
write --offset=0x1a (fd0)/autoexec.bat .
WENV call write --offset=0x7c (fd0)/autoexec.bat ${name}.vhd && chainloader (fd0)/io.sys
[ 本帖最后由 xiaoy 于 2011-1-26 20:21 编辑 ] |
|