原帖由 hotdll 于 2011-11-25 22:29 发表
一时兴趣,想让ISO仿真安装全自动。。。。
懒得写批处理直接写菜单了,配合最新的F6IMG使用。
菜单如下:
title 04. 启动 ISO 安装原版系统 \n 安装说明\n 系统盘ISO文件名路径必须大写如:/WIN$.I ...
原帖由 2011回忆爱情 于 2011-11-26 04:18 发表
四個問題
1. 如果是 硬碟呢?
2. 可否不載入內存(這樣應該就無 連續性要求吧?
3. WIN.iso 是否可放入子資料夾
4. winnt.sif
title 04. 启动 ISO 安装原版系统 \n 安装说明\n 系统盘ISO文件名路径必须大写如:/WIN$.ISO /ISO/WIN$.ISO \n 默认ISO文件名为WIN$.ISO
if exist ()/BOOT/GRUB/F6IMG && command /BOOT/GRUB/F6IMG ! find --set-root /BOOT/GRUB/F6IMG && command /BOOT/GRUB/F6IMG
calc *0x475&0xff-1 && calc *0x82b8 && map (hd0) (hd1)
calc *0x475&0xff-1 && calc *0x82b8 && map (hd1) (hd0)
calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map (hd0) (hd1)
calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map (hd1) (hd0)
calc *0x475&0xff-1 && calc *0x82b8 && calc *0x82b9=*0x82b9&0xffffff00|0x81 > nul
map --e820cycles=3
map --hook
clear
echo - 安装说明:
echo - 系统盘ISO文件名路径必须大写如:/WIN$.ISO (hd0)/WIN$.ISO
echo - 默认文件名为: /WIN$.ISO
set /p /u wincd=请输入ISO文件名:
if %wincd%#==# set wincd=/WIN$.ISO
if not "%wincd:~,1%"=="/" set wincd=/%wincd%
if exist %wincd% || find --set-root --devices=uh %wincd% || echo 没有找到$[0003]%wincd% $[0007] 文件! && pause --wait=3 && configfile (md)4+8
map %wincd% (0xff) || map --mem %wincd% (0xff)
map --rehook
if exist (0xff)/I386/HOSTS && echo %wincd% > (0xff)/I386/HOSTS
insmod (1)/f6.mod
fat copy /o (1)/winnt.sif (0)/
cat --locatei=ProductID --number=1 (0)/winnt.sif | set sk=
if not %sk%#==# set /A sk=0x%sk%+0xA || && set key=ture && cat --locatei=ProductKey --number=1 (0)/winnt.sif | set sk=
if /i "%key%"=="ture" set /A sk=0x%sk%+0xB
if exist (0xff)/CDROM_IP.5 write --offset=%sk% (0)/winnt.sif BR8YY-4FV82-HR7DX-GGH89-W4PDJ && echo win2kSP4标准版
if exist (0xff)/CDROM_IS.5 write --offset=%sk% (0)/winnt.sif H6TWQ-TQQM8-HXJYG-D69F7-R84VM && echo win2kSP4服务武器版
if exist (0xff)/CDROM_IA.5 write --offset=%sk% (0)/winnt.sif KRJQ8-RQ822-YRMXF-6TTXC-HD2VM && echo win2kSP4高级服务器版
if exist (0xff)/WIN51IC.SP3 write --offset=%sk% (0)/winnt.sif JYF4F-8GQTQ-KT87M-PYXC3-MDF7G && echo 32位winxpsp3家庭版
if exist (0xff)/WIN51IP.SP3 write --offset=%sk% (0)/winnt.sif MRX3F-47B9T-2487J-KWKMF-RPWBY && echo 32位winxpsp3专业版
if exist (0xff)/WIN51AS write --offset=%sk% (0)/winnt.sif BBGTH-2VC48-J98CM-969J7-3YPMJ && echo 64位2003SP2标准版
if exist (0xff)/WIN51AA write --offset=%sk% (0)/winnt.sif BBGTH-2VC48-J98CM-969J7-3YPMJ && echo 64位2003SP2企业版
if exist (0xff)/WIN51IS.SP2 write --offset=%sk% (0)/winnt.sif JCB3T-9CDQ4-K2X38-2HXRB-VX8YB && echo 32位2003SP2标准版
if exist (0xff)/WIN51IA.sp2 write --offset=%sk% (0)/winnt.sif JCB3T-9CDQ4-K2X38-2HXRB-VX8YB && echo 32位2003SP2企业版
chainloader (0xff)
title 08. 启动 Windows NT/2K/2K3/XP/VISTA/win7/2K8/WIN8 系统 \n 自动查找系统所在磁盘,并加载第一启动扇区!
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 not "%wincd:~,1%"=="/" echo -n > /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS
if exist (0)%wincd% root (0)/ || find --set-root --devices=uh %wincd%
if exist %wincd% && map %wincd% (0xff) || map --mem %wincd% (0xff)
if exist %wincd% map --hook
find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
chainloader ()+1 || chainloader /ntldr || chainloader /bootmgr || echo 没有找到硬盘的启动文件 && pause --wait=3 && configfile (md)4+8
chainloader /ntldr || chainloader /bootmgr || chainloader ()+1 || echo 没有找到硬盘的启动文件 && pause --wait=3 && configfile (md)4+8
欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) | Powered by Discuz! X3.3 |