|
M1.LST找不到:
#terminal console
debug off
#background 1030C0
#foreground ffffff
dd if=(md) of=(md) bs=1 count=4 skip=0x60130 seek=0x8208
dd if=(md) of=(md) bs=1 count=4 skip=0x60134 seek=0x8280
root (bd) || echo -n
write (md)0x300+1 %SRS0PE%\0
write (md)0x200+1 0xD\0
if "%showmenu%"=="1" if /i "%keyt%"=="0xD" write (md)0x200+1 \0
if not "%showmenu%"=="1" if /i "%keyt%"=="0x1" write (md)0x200+1 \0
if not exist eb write 0x40004 0
if exist eb write 0x40004 %eb%
set *
set /a eb=*0x40004&0xffff
if "%eb%"=="0" set eb=
cat (md)0x300+1 | set SRS0PE=
cat (md)0x200+1 | set /A showmn=
if /i "%showmn%"=="0xD" set showmn=1 || set showmn=
read 0x60064 && set showmn=1
checkrange 0x60300 read 0x60300 && checkrange 1:2 read 0x60100 || set showmn=1
call Fn.0 0x40000 "!BAT\necho -P:0000 $[0000]\t\t\t\t\t\t\t\t\t\0" && initscript (md)0x200+1
command --set-path=(hd-1,0)/BIN/
set showmn=1
if exist (bd)%SRS0PE%CHKPCI.TXT set SRSF=(bd)%SRS0PE% || if exist %?_BOOT%%SRS0PE%CHKPCI.TXT set SRSF=%?_BOOT%%SRS0PE% || map --status=0xff > nul && if exist (0xff)/
%SRS0PE%CHKPCI.TXT set SRSF=(0xff)/%SRS0PE% || pause --wait=3 Warnning: No CHKPCI.TXT found.
if "%SRSF:~,4%"=="(bd)" set SRSFP=%SRSF:~4% || if "%SRSF:~,6%"=="(0xff)" set SRSFP=%SRSF:~6% || set SRSFP=%SRS0PE%
if exist showmn && if not exist (bd)/0PE/DOS.GZ && if not exist %?_BOOT%/0PE/DOS.GZ set showmn= && write 0x60300 0 || pause --wait=5 Warnning: /0PE/DOS.GZ not found.
Try to load PE directly...
if not exist showmn if exist SRSF set skipdos=123
set mpxp=
if exist showmn (hd-1,0)/BIN/CPUID || echo -n
if exist showmn checkrange 2:15 read 0x60000 && if exist (bd)/0PE/XP/MP.GZ set mpxp=(bd) || map --status=0xff > nul && if exist (0xff)/0PE/XP/MP.GZ set mpxp=(0xff)
if exist mpxp set titlexp=双核版 || set titlexp=单核版
if exist (bd)/0PE/XP/NATIVE.LZMA set natlzma=1 || set natlzma=
if not exist natlzma && map --status=0xff > nul || set titlexp=未部署
if not exist natlzma && map --status=0xff > nul && if exist (0xff)/0PE/XP/NATIVE.LZMA || set titlexp=未部署
set natlzma=
set mp03=
#if exist showmn (hd-1,0)/BIN/CPUID || echo -n
if exist showmn checkrange 2:15 read 0x60000 && if exist (bd)/0PE/2003/MP.GZ set mp03=(bd) || map --status=0xff > nul && if exist (0xff)/0PE/2003/MP.GZ set mp03=(0xff)
if exist mp03 set title03=双核版 || set title03=单核版
if exist (bd)/0PE/2003/NATIVE.LZMA set natlzma=1 || set natlzma=
if not exist natlzma && map --status=0xff > nul || set title03=未部署
if not exist natlzma && map --status=0xff > nul && if exist (0xff)/0PE/2003/NATIVE.LZMA || set title03=未部署
set natlzma=
if exist showmn if not exist (hd-1,0)/GRUB.EXE if exist (bd)/0PE/GRUB.0PE echo loading GRUB.0PE... && (hd-1,0)/BIN/FAT copy /o (bd)/0PE/GRUB.0PE (hd-1,0)/GRUB.EXE ||
pause /0PE/GRUB.0PE not found. && reboot
set NeedDOS=
if exist showmn if not exist (hd-1,0)/IO.SYS set NeedDOS=1
if exist NeedDOS && if exist (bd)/0PE/DOS.GZ map --mem (bd)/0PE/DOS.GZ (11) || if exist %?_BOOT%/0PE/DOS.GZ map --mem %?_BOOT%/0PE/DOS.GZ (11) || pause --wait=5
/0PE/DOS.GZ not found. && reboot
if exist NeedDOS map --hook
if exist NeedDOS (hd-1,0)/BIN/CPYFILES.BAT (11)/ROOT/ (hd-1,0)/ && (hd-1,0)/BIN/CPYFILES.BAT (11)/BAT/ (hd-1,0)/BAT/ && (hd-1,0)/BIN/CPYFILES.BAT (11)/BIN/ (hd-
1,0)/BIN/
if exist NeedDOS map --unmap=11 && map --rehook
set NeedDOS=
if not exist mpxp if not exist mp03 && if exist showmn && font && font (hd-1,0)/BIN/M1.FON
if not exist mpxp if not exist mp03 || if exist showmn && font && if exist (bd)/BOOT/GRUB/UNIFONT.HEX font (bd)/BOOT/GRUB/UNIFONT.HEX || if exist %?_BOOT
%/BOOT/GRUB/UNIFONT.HEX font %?_BOOT%/BOOT/GRUB/UNIFONT.HEX || if exist (bd)/BOOT/GRUB/RUN (bd)/BOOT/GRUB/RUN --gfx .end || if exist %?_BOOT%/BOOT/GRUB/RUN %?_BOOT
%/BOOT/GRUB/RUN --gfx .end || font (hd-1,0)/BIN/M1.FON
if exist showmn color white/blue blue/yellow yellow/red 10
if exist showmn terminal graphics
if exist showmn graphicsmode -1 640
if exist showmn && if exist (bd)/BOOT/GRUB/BG.LZMA splashimage (bd)/BOOT/GRUB/BG.LZMA || if exist %?_BOOT%/BOOT/GRUB/BG.LZMA splashimage %?_BOOT%/BOOT/GRUB/BG.LZMA ||
splashimage (hd-1,0)/BIN/BG.LZMA
checkrange 0x60300 read 0x60300 && default 25
checkrange 0x60300 read 0x60300 || if exist showmn default 13 || if not "%titlexp%"=="未部署" default 4 || if not "%title03%"=="未部署" default 5 || default 13
checkrange 0x60300 read 0x60300 && timeout 0
checkrange 0x60300 read 0x60300 || if exist showmn timeout 5 || timeout 0
checkrange 0x60300 read 0x60300 || write 0x60100 0
write 0x60000 0
write 0x60060 0
#write 0x60064 0
write 0x60068 0
#write 0x6006C 0
write 0x60070 0
write 0x60110 0
#write 0x60130 0
#write 0x60134 0
write 0x602A0 0
write 0x60364 0
#0-临时
#60-安装
#64-PXE
#68-旧菜单选项
#6C-cdrominit
#70-inputSRSflag
#100-第一菜单选项/合盘外部调用选项
#110-DB
#130-始目录
#234-流控变量
#2A0-0xff?
#2B0-EXT1.GZ
#300-合盘外部调用标志
#200-合盘外部调用串
#360-合盘外部调用串长
#364-手选SRS
#368-0x8082
#外部调用例:
#write 0x60300 0x60300
#write 0x60100 6
#write (md)0x301+1 /TEST/XP_CON.ISO
#write 0x60360 16
#checkrange 0x21 read 0x8280 && write 0x60064 1
#0
title P大 0PE + Win7PE + X64Win8PE Uefi/Bios
clear
#1
title
clear
#2
title 中文菜单 English Menu\n
clear
#3
title =======================================================================
clear
#4
title [1] Windows PE (XP) %titlexp% Windows PE (XP) Chinese Version\n
if "%titlexp%"=="未部署" goto 0
set XPor03=XP
(hd-1,0)/BIN/FAT ren (hd-1,0)/WXPE/SYSTEM32/NAT_XP.CFG /WXPE/SYSTEM32/NAT.CFG
if exist mpxp set mp=%mpxp%
write 0x60100 1
set skipdos=%skipdos%4
fallback 22
kernel
#5
title [2] Windows PE (2003) %title03% Windows PE (2003) Chinese Version\n
if "%title03%"=="未部署" goto 0
set XPor03=2003
(hd-1,0)/BIN/FAT ren (hd-1,0)/WXPE/SYSTEM32/NAT_03.CFG /WXPE/SYSTEM32/NAT.CFG
if exist mp03 set mp=%mp03%
write 0x60100 1
set skipdos=%skipdos%4
fallback 22
kernel
#6
title [3] Windows 7/8 PE Windows 7/8 PE\n Win7PE X64Win8PE
if exist (bd)/BOOT/GRUB/RUN command --set-path=(bd)/BOOT/GRUB/ || if exist %?_BOOT%/BOOT/GRUB/RUN command --set-path=%?_BOOT%/BOOT/GRUB/ || pause 此功能需要RUN模块在指
定目录。 && goto 2
RUN /BOOT/IMGS/W8PE_X64.lst (fd0)
reboot
#7
title
clear
#8
title [4] 转下一启动设备 Boot from next device via INT18\n 根据BIOS里面设定的启动顺序来启动下一个启动设备。
boot -1
#title [4] RUN模块(菜单式) RUN Module by ZXW\n 启动/BOOT/IMGS/目录下的任意镜像等。须有/BOOT/GRUB/RUN。
#if exist (bd)/BOOT/GRUB/RUN command --set-path=(bd)/BOOT/GRUB/ || if exist %?_BOOT%/BOOT/GRUB/RUN command --set-path=%?_BOOT%/BOOT/GRUB/ || pause 此功能需要RUN模块在
指定目录。 && goto 2
#set *
#map (hd-1) (hd-1)
#map --rehook
#font
#splashimage
#RUN --txt --gfx --set-ext=.ISO|.IMG|.IMA|.| /BOOT/IMGS/.AUTOMENU
#reboot
#9
title [5] RUN模块(列表式) RUN Module by ZXW\n 启动/BOOT/IMGS/目录下的任意镜像等。须有/BOOT/GRUB/RUN。
if exist (bd)/BOOT/GRUB/RUN command --set-path=(bd)/BOOT/GRUB/ || if exist %?_BOOT%/BOOT/GRUB/RUN command --set-path=%?_BOOT%/BOOT/GRUB/ || pause 此功能需要RUN模块在指
定目录。 && goto 2
set *
map (hd-1) (hd-1)
map --rehook
font
splashimage
RUN --txt --gfx --nocolor || echo
reboot
#10
title [6] 一步装原版XP/2003系统 Install XP/2003 from /WIN$.ISO\n Using NTBOOT and DPMS by Chenall.
root (bd) || echo -n
if not exist (8)/txtsetup.oem && if not exist %SRS0PE%DPMS.LZMA && find --set-root %SRS0PE%DPMS.LZMA || if not exist %SRS0PE%DPMS.ISO && find --set-root %SRS0PE
%DPMS.ISO || echo 无%SRS0PE%DPMS.LZMA无%SRS0PE%DPMS.ISO\n && pause --wait=5 自动转“仿真F6驱动软盘后串接菜单”菜单项。 && (hd-1,0)/BIN/FAT ren (hd-
1,0)/BIN/FROMDPMS.BAT /BIN/FROMDPMS && goto 11
set dpmsdev=%@root%
root (bd) || echo -n
if not exist /BOOT/GRUB/NTBOOT.ISO && root (0xff) || echo
if not exist /BOOT/GRUB/NTBOOT.ISO && find --set-root /BOOT/GRUB/NTBOOT.ISO || pause --wait=5 /BOOT/GRUB/NTBOOT.ISO not found. && goto 0
map --mem /BOOT/GRUB/NTBOOT.ISO (0xf0)
map --hook
rootnoverify (0xf0)
set ntbootp=%@root%
if exist (bd)/BOOT/GRUB/RUN insmod (bd)/BOOT/GRUB/RUN || if exist %?_BOOT%/BOOT/GRUB/RUN insmod %?_BOOT%/BOOT/GRUB/RUN || map --status=0xff > nul && if exist
(0xff)/BOOT/GRUB/RUN insmod (0xff)/BOOT/GRUB/RUN || pause 此功能需要RUN模块在指定目录。 && goto 0
insmod (hd-1,0)/BIN/ISOF.BAT
insmod (hd-1,0)/BIN/FAT
map (hd-1) (hd-1) && map --rehook
read 0x60368 && map (hd0) (hd1) && map (hd1) (hd0) && map --rehook ! echo -n
if "%dpmsdev:~,4%"=="(ud)" set dpmsdev=(hd1)%dpmsdev:~4%
if "%ntbootp:~,4%"=="(ud)" set ntbootp=(hd1)%ntbootp:~4%
if "%dpmsdev:~,4%"=="(hd0" set dpmsdev=(hd1%dpmsdev:~4%
if "%ntbootp:~,4%"=="(hd0" set ntbootp=(hd1%ntbootp:~4%
ISOF.BAT
call %ntbootp%/NTBOOT iso_inst=firadisk cdrom=%WISO% addons="DPMSINST %dpmsdev%%SRS0PE% 0"
pause --wait=5 不对劲,不玩了。重启吧! && reboot
commandline
#11
title [7] ISO启动器(安装XP、启动PE) Load /PE.ISO or Any ISO Type In\n 基于带firadisk驱动和SRS驱动的F6软盘仿真技术的ISO镜像启动器。\n ISO内容可以是
PE也可以是系统安装盘等,文件名、位置自由。\n 这样启动ISO认硬盘不蓝屏,PE可找到外置工具。
write 0x60100 3
write 0x60000 1
checkrange 0x60300 read 0x60300 || write 0x60000 0
checkrange 2:32 read 0x60360 || write 0x60000 0
read 0x60000 && set /a fnlen=*0x60360&0xff
read 0x60000 && write --offset=%fnlen% 0x60200 0x0A
read 0x60000 && set /a fnlen=%fnlen%+1
read 0x60000 && dd if=(md)0x301+1 of=(hd-1,0)/BAT/M.LST bs=1 count=%fnlen% seek=30
read 0x60000 && cat (md)0x301+1 | set wiso=
configfile (hd-1,0)/BAT/ISOPE.LST
#12
title [8] 仿真F6驱动软盘后串接菜单 User Menu With F6 Stage\n 仿真F6驱动软盘后进入用户定义菜单,接着可转硬盘、光盘启动,仿真光盘后启动...\n\n 可用
于启动PE、安装原版windows系统(光盘或ISO)、GHOST后重启继续安装等等。
write 0x60100 4
(hd-1,0)/BIN/FAT del (hd-1,0)/BAT/WINNT.SIF || echo -n
fallback 22
kernel
#13
title [9] Windows NT系列通用启动器 NTBOOT by Chenall\n ★结构清爽,部署灵活★ ★可剪裁,可扩展★ ★新技术,新理念★
root (bd) || echo :(:(:(:(:(:(
if not exist /BOOT/GRUB/NTBOOT.ISO && root (0xff) || echo
if not exist ()/BOOT/GRUB/NTBOOT.ISO echo && find --set-root /BOOT/GRUB/NTBOOT.ISO || pause /BOOT/GRUB/NTBOOT.ISO not found. && goto 0
map (hd-1) (hd-1) && map --rehook
map --mem /BOOT/GRUB/NTBOOT.ISO (0xf0)
map --hook
rootnoverify (0xf0)
color 11 12 13 14
command /NTBOOT menu
#14
title
clear
#15
title [A] 软盘镜像(DOS工具等)启动器 Load Any Floppy Image Type in\n
configfile (hd-1,0)/BAT/DOSIMG.LST
#16
title [B] KonBoot免口令模块 Kryptos Logic: Kon-Boot v2.1\n 绕过Windows管理员口令。\n 如果从U盘启动,很可能要先交换(hd0),(hd1)。\n 直接回
车默认先交换,输入N则跳过默认的交换。\n For Bypass NT Admin Account.
root (bd) || echo :(:(:(:(:(:(
if not exist /BOOT/IMGS/KONBOOT.GZ && root (0xff) || echo
cat --length=0 /BOOT/IMGS/KONBOOT.GZ || find --set-root /BOOT/IMGS/KONBOOT.GZ || pause /BOOT/IMGS/KONBOOT.GZ not found. && fallback --go 0
map --mem /BOOT/IMGS/KONBOOT.GZ (fd0)
map --hook
echo Press Enter to swap (hd0),(hd1) or Input N to skip this default swapping.
set /u /p mapping=Input here:
write 0x60000 1
if "%mapping%"=="N" write 0x60000 0
set *
map (hd-1) (hd-1)
map --rehook
read 0x60000 && map (hd0) (hd1) && map (hd1) (hd0) && map --hook && pause --wait=1 (hd0),(hd1) swapped. ! echo
rootnoverify (fd0)
map --floppies=1
chainloader (fd0)+1
#17
title [C] 清除CMOS口令(笔记本慎用) Reset CMOS to Clear Password\n 修改校验和,使CMOS以为掉电而自动复位,达到清除口令目的。
(hd-1,0)/BIN/CLS_CMOS
pause Press any key to reboot...
reboot
#18
title [D] 启动内置全能 MAXDOS Tiny MAXDOS Tools\n 可通过NTFS4DOS访问ntfs分区。
root (bd) || echo root failed :(
if not exist /BOOT/IMGS/DOS.IMG && root (0xff) || echo
cat --length=0 ()/BOOT/IMGS/DOS.IMG || find --set-root /BOOT/IMGS/DOS.IMG || echo The file /BOOT/IMGS/DOS.IMG not found. && fallback --go 0
echo Loading /BOOT/IMGS/DOS.IMG...
map --mem ()/BOOT/IMGS/DOS.IMG (fd0)
map --hook
rootnoverify (fd0)
chainloader (fd0)+1
map (hd-1) (hd-1)
map --rehook
#19
title [E] 内存检测 Memtest V4.2\n
root (bd) || echo root failed :(
echo Loading /BOOT/IMGS/MEMTEST.GZ...
if not exist /BOOT/IMGS/MEMTEST.GZ && root (0xff) || echo
cat --length=0 ()/BOOT/IMGS/MEMTEST.GZ || find --set-root /BOOT/IMGS/MEMTEST.GZ || echo The file /BOOT/IMGS/MEMTEST.GZ not found. && fallback --go 0
map --mem ()/BOOT/IMGS/MEMTEST.GZ (fd0)
map --hook
rootnoverify (fd0)
chainloader (fd0)+1
map (hd-1) (hd-1)
map --rehook
#20
title [F] 运行DiskGenius磁盘管理 Load DiskGenius\n 加载DiskGenius。\n 前提是/BOOT/IMGS/DG.IMG存在(没有的自己加)。\n \n /BOOT/IMGS/DG.IMG
is needed.
root (bd) || echo root failed :(
if not exist /BOOT/IMGS/DG.IMG && root (0xff) || echo
cat --length=0 ()/BOOT/IMGS/DG.IMG || find --set-root /BOOT/IMGS/DG.IMG || echo The file /BOOT/IMGS/DG.IMG not found. && fallback --go 0
echo Loading /BOOT/IMGS/DG.IMG...
map --mem ()/BOOT/IMGS/DG.IMG (fd0)
map --hook
rootnoverify (fd0)
chainloader (fd0)+1
map (hd-1) (hd-1)
map --rehook
#21
title [G] 重启 Reboot\n
map (hd-1) (hd-1)
map --rehook
reboot
#22
title
checkrange 1:4 read 0x60100 && clear && write 0x60364 0
if exist showmn checkrange 1:4 read 0x60100 && (hd-1,0)/BIN/INFO.SRS || echo -n
checkrange 1 read 0x60100 && goto 23
goto 24
#23 copy native.lzma
title
echo -n Loading /0PE/%XPor03%/NATIVE.LZMA...
map --mem (bd)/0PE/%XPor03%/NATIVE.LZMA (11) || map --mem (0xff)/0PE/%XPor03%/NATIVE.LZMA (11) || pause Error occurred while loading /0PE/%XPor03%/NATIVE.LZMA. &&
reboot
echo -n mapped...
map --hook || pause warning:map --hook
#(hd-1,0)/BIN/CPYFILES.BAT (11)/WXPE/SYSTEM32/ (hd-1,0)/WXPE/SYSTEM32/ || pause warning:system32
(hd-1,0)/BIN/FAT copy /o (11)/WXPE/SYSTEM32/BOOTVID.DL_ (hd-1,0)/WXPE/SYSTEM32/BOOTVID.DL_ > nul || echo -n
(hd-1,0)/BIN/FAT copy /o (11)/WXPE/SYSTEM32/HAL.DLL (hd-1,0)/WXPE/SYSTEM32/HAL.DLL > nul || echo -n
(hd-1,0)/BIN/FAT copy /o (11)/WXPE/SYSTEM32/HALAACPI.DL_ (hd-1,0)/WXPE/SYSTEM32/HALAACPI.DL_ > nul || echo -n
(hd-1,0)/BIN/FAT copy /o (11)/WXPE/SYSTEM32/HALACPI.DLL (hd-1,0)/WXPE/SYSTEM32/HALACPI.DLL > nul || echo -n
(hd-1,0)/BIN/FAT copy /o (11)/WXPE/SYSTEM32/KDCOM.DL_ (hd-1,0)/WXPE/SYSTEM32/KDCOM.DL_ > nul || echo -n
(hd-1,0)/BIN/FAT copy /o (11)/WXPE/SYSTEM32/NTDLL.DLL (hd-1,0)/WXPE/SYSTEM32/NTDLL.DLL > nul || echo -n
(hd-1,0)/BIN/FAT copy /o (11)/WXPE/SYSTEM32/NTOSKRNL.EX_ (hd-1,0)/WXPE/SYSTEM32/NTOSKRNL.EX_ > nul || echo -n
(hd-1,0)/BIN/FAT copy /o (11)/WXPE/SYSTEM32/SMSS.EXE (hd-1,0)/WXPE/SYSTEM32/SMSS.EXE > nul || echo -n
echo -n sys...
(hd-1,0)/BIN/CPYFILES.BAT (11)/WXPE/SYSTEM32/DRIVERS/ (hd-1,0)/WXPE/SYSTEM32/DRIVERS/ || pause warning:drivers
echo drv.
map --unmap=11 && map --rehook
goto 24
#24
title
if exist showmn checkrange 1:4 read 0x60100 && call (hd-1,0)/BIN/DIALOG.SRS || echo
read 0x60064 && checkrange 4 read 0x60100 && pxe keep
echo && configfile (hd-1,0)/BAT/MENUSRS.LST
#25
title
#User directly Entries
checkrange 1 read 0x60100 && goto 4
checkrange 2 read 0x60100 && goto 5
checkrange 3 read 0x60100 && goto 7
checkrange 4 read 0x60100 && goto 8
checkrange 5 read 0x60100 && goto 9
checkrange 6 read 0x60100 && goto 10
checkrange 7 read 0x60100 && goto 11
checkrange 8 read 0x60100 && goto 13
checkrange 9 read 0x60100 && goto 14
checkrange 10 read 0x60100 && goto 15
checkrange 11 read 0x60100 && goto 16
checkrange 12 read 0x60100 && goto 17
checkrange 13 read 0x60100 && goto 18
checkrange 14 read 0x60100 && goto 19
checkrange 15 read 0x60100 && goto 20
checkrange 16 read 0x60100 && goto 21
|
|