无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 12439|回复: 20
打印 上一主题 下一主题

[分享] 抛砖--ISO仿真光驱全自动无人职守安装WINDOWS 2K/XP/2003

  [复制链接]
跳转到指定楼层
1#
发表于 2011-11-25 22:29:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一时兴趣,想让ISO仿真安装全自动。。。。

懒得写批处理直接写菜单了,配合最新的F6IMG使用。

菜单如下:


  1. title  04. 启动 ISO 安装原版系统 \n 安装说明\n 系统盘ISO文件名路径必须大写如:/WIN$.ISO  /ISO/WIN$.ISO \n 默认ISO文件名为WIN$.ISO
  2. if exist ()/BOOT/GRUB/F6IMG && command /BOOT/GRUB/F6IMG ! find --set-root /BOOT/GRUB/F6IMG && command /BOOT/GRUB/F6IMG
  3. calc *0x475&0xff-1 && calc *0x82b8 && map (hd0) (hd1)
  4. calc *0x475&0xff-1 && calc *0x82b8 && map (hd1) (hd0)
  5. calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map (hd0) (hd1)
  6. calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map (hd1) (hd0)
  7. calc *0x475&0xff-1 && calc *0x82b8 && calc *0x82b9=*0x82b9&0xffffff00|0x81 > nul
  8. map --e820cycles=3
  9. map --hook
  10. clear
  11. echo - 安装说明:
  12. echo - 系统盘ISO文件名路径必须大写如:/WIN$.ISO  (hd0)/WIN$.ISO
  13. echo - 默认文件名为: /WIN$.ISO
  14. set /p /u wincd=请输入ISO文件名:
  15. if %wincd%#==# set wincd=/WIN$.ISO
  16. if not "%wincd:~,1%"=="/" set wincd=/%wincd%
  17. if exist %wincd% || find --set-root --devices=uh %wincd% || echo 没有找到ISO文件!
  18. map %wincd% (0xff) || map --mem %wincd% (0xff)
  19. map --rehook
  20. if exist (0xff)/I386/HOSTS && echo %wincd%  > (0xff)/I386/HOSTS
  21. insmod (1)/f6.mod
  22. fat copy /o (1)/winnt.sif (0)/
  23. cat --locatei=ProductID --number=1 (0)/winnt.sif | set sk=
  24. if not %sk%#==# set /A sk=0x%sk%+0xA || && set key=ture && cat --locatei=ProductKey --number=1 (0)/winnt.sif | set sk=
  25. if /i "%key%"=="ture" set /A sk=0x%sk%+0xB
  26. if exist (0xff)/CDROM_IP.5 write --offset=%sk% (0)/winnt.sif BR8YY-4FV82-HR7DX-GGH89-W4PDJ && echo win2kSP4标准版
  27. if exist (0xff)/CDROM_IS.5 write --offset=%sk% (0)/winnt.sif H6TWQ-TQQM8-HXJYG-D69F7-R84VM && echo win2kSP4服务武器版
  28. if exist (0xff)/CDROM_IA.5 write --offset=%sk% (0)/winnt.sif KRJQ8-RQ822-YRMXF-6TTXC-HD2VM && echo win2kSP4高级服务器版
  29. if exist (0xff)/WIN51IC.SP3 write --offset=%sk% (0)/winnt.sif JYF4F-8GQTQ-KT87M-PYXC3-MDF7G && echo 32位winxpsp3家庭版
  30. if exist (0xff)/WIN51IP.SP3 write --offset=%sk% (0)/winnt.sif MRX3F-47B9T-2487J-KWKMF-RPWBY && echo 32位winxpsp3专业版
  31. if exist (0xff)/WIN51AS write --offset=%sk% (0)/winnt.sif BBGTH-2VC48-J98CM-969J7-3YPMJ && echo 64位2003SP2标准版
  32. if exist (0xff)/WIN51AA write --offset=%sk% (0)/winnt.sif BBGTH-2VC48-J98CM-969J7-3YPMJ && echo 64位2003SP2企业版
  33. if exist (0xff)/WIN51IS.SP2 write --offset=%sk% (0)/winnt.sif JCB3T-9CDQ4-K2X38-2HXRB-VX8YB && echo 32位2003SP2标准版
  34. if exist (0xff)/WIN51IA.sp2 write --offset=%sk% (0)/winnt.sif JCB3T-9CDQ4-K2X38-2HXRB-VX8YB && echo 32位2003SP2企业版
  35. chainloader (0xff)

  36. title  08. 启动 Windows NT/2K/2K3/XP/VISTA/win7/2K8/WIN8 系统 \n 自动查找系统所在磁盘,并加载第一启动扇区!
  37. find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
  38. calc *0x475&0xff-1 && calc *0x82b8 && map (hd0) ()
  39. calc *0x475&0xff-1 && calc *0x82b8 && map () (hd0)
  40. calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map (hd0) ()
  41. calc *0x475&0xff-1 && calc *0x82b8 || if exist (hd0,0)/grldr map () (hd0)
  42. calc *0x475&0xff-1 && calc *0x82b8 && calc *0x82b9=*0x82b9&0xffffff00|0x81 > nul
  43. calc *0x475&0xff-1 && map --hook
  44. if exist /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS || find --set-root --devices=h /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS
  45. cat /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS | set wincd=
  46. if not "%wincd:~,1%"=="/"  echo -n  > /WINDOWS/SYSTEM32/DRIVERS/ETC/HOSTS
  47. if exist (0)%wincd% root (0)/ || find --set-root --devices=uh %wincd%
  48. if exist %wincd% && map %wincd% (0xff) || map --mem %wincd% (0xff)
  49. if exist %wincd% map --hook
  50. find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
  51. chainloader ()+1

复制代码

Desktop.7z (68.91 KB, 下载次数: 328)
2#
 楼主| 发表于 2011-11-25 22:33:48 | 只看该作者

回复 #1 hotdll 的帖子

使用注意:
1、为了保证速度和内存可用。请保证ISO文件的连续性。
ISO如果存放在硬盘上可以使用wincontig对该ISO进行整理。如果存放在U盘上,请确保ISO是U盘的第一个被复制过去的文件。否则ISO不连续。
2、ISO不连续的时候要求内存大于ISO的体积。最好还要再大至少64M到512M,以保证安装的系统有足够的剩余内存可以运行。
3、请验证最终要仿真的ISO的MD5值是不是正确值。特别是最终正版的MD5值。否则可能会安装失败。
4、菜单支持写入8种光盘的KEY,如果您的不是对应的ISO,请自己修改KEY
5、如果安装不成功,大部分是ISO的问题,请确定您的ISO刻成光盘安装没有问题。如果刻成光盘安装没有问题,通常这个方式也没问题
6、系统安装成功后,设备管理器会有一个未知设备,这个是WINVBLOCK仿真设备,您点右键直接删除即可。
回复

使用道具 举报

3#
发表于 2011-11-25 22:39:31 | 只看该作者
不错,支持一下。谢谢分享!
回复

使用道具 举报

4#
发表于 2011-11-25 23:52:08 | 只看该作者
饭大又出好东西了,前排就坐。。
回复

使用道具 举报

5#
发表于 2011-11-26 04:18:59 | 只看该作者
四個問題

1. 如果是 硬碟呢?
2. 可否不載入內存(這樣應該就無 連續性要求吧?
3. WIN.iso 是否可放入子資料夾
4. winnt.sif  <該檔案 我已自行設定好 包含 key 那該如何拿掉這段
回复

使用道具 举报

6#
发表于 2011-11-26 09:33:54 | 只看该作者
原帖由 hotdll 于 2011-11-25 22:29 发表
一时兴趣,想让ISO仿真安装全自动。。。。

懒得写批处理直接写菜单了,配合最新的F6IMG使用。

菜单如下:


title  04. 启动 ISO 安装原版系统 \n 安装说明\n 系统盘ISO文件名路径必须大写如:/WIN$.I ...

哈哈,这个菜单,收下了
回复

使用道具 举报

7#
发表于 2011-11-26 10:07:02 | 只看该作者
不错,终于出炉了,改天有空折腾下。
回复

使用道具 举报

8#
发表于 2011-11-26 10:39:21 | 只看该作者
最新版光盘文件可以不区分大小写了。
回复

使用道具 举报

9#
发表于 2011-11-26 10:44:56 | 只看该作者
还不会用F61MG,有空试下哈,哪位大大写个教程撒

[ 本帖最后由 lanlanlei091 于 2011-11-26 10:45 编辑 ]
回复

使用道具 举报

10#
发表于 2011-11-26 16:48:31 | 只看该作者

回复 #2 hotdll 的帖子

用20111126.fba里菜单4启动iso安装系统在虚拟机里测试成功。实机安装在滚动条过后显示系统大概在39分钟完成安装后2-3秒蓝屏 代码是0x00000044
回复

使用道具 举报

11#
 楼主| 发表于 2011-11-26 21:14:23 | 只看该作者
你 的ISO的问题
或者是U盘的问题
请确认MD5的值
回复

使用道具 举报

12#
发表于 2011-11-26 21:25:42 | 只看该作者

回复 #11 hotdll 的帖子

是同一个U盘,同一个iso。虚拟机里能成功。实机安装却蓝屏
回复

使用道具 举报

13#
 楼主| 发表于 2011-11-27 09:19:36 | 只看该作者
原帖由 2011回忆爱情 于 2011-11-26 04:18 发表
四個問題

1. 如果是 硬碟呢?
2. 可否不載入內存(這樣應該就無 連續性要求吧?
3. WIN.iso 是否可放入子資料夾
4. winnt.sif   

1 、本身就支持硬盘
2、本身默认就不载入内存。
3、ISO可以放到子文件夹,输入路径的时候包含子路径即可。
4、winnt.sif是集成到f6img中了。使用方法看我的菜单。包括序列号的更换。
回复

使用道具 举报

14#
 楼主| 发表于 2011-11-27 09:20:28 | 只看该作者

回复 #12 fh123456 的帖子

我目前只遇到一台 索泰N61 主板 安装失败。提示显卡驱动冲突的蓝屏代码。

您用ISO刻成光盘试试。。

如果不蓝的话,可能是兼容性问题。

另外i建议你检查下md5码。

幸运的草测试好几次不成功。后来我让他检查md5码,结果他搞了三次才搞对。

[ 本帖最后由 hotdll 于 2011-11-27 09:22 编辑 ]
回复

使用道具 举报

15#
发表于 2011-11-27 09:47:04 | 只看该作者
在虚拟机上测试成功,很智能,解决了这种方式安装的不便,创意很好。
不过,发现一点小问题。楼主用的是菜单,有一定的局限性,容错机制不很健全。
比如:从硬盘启动,在我的电脑上启动不起来,提示找不到文件,可能我的是联想机有隐藏分区,这个分区是在第一分区。还有,如果硬盘上没有启动文件,也会出错。
再如,安装菜单中如果找不到输入的ISO文件,楼主的是提示“没有找到文件”,然后往下执行就出错。没有处理找不到文件后怎么办。
建议:用批处理比较好,可以处理复杂的情况,在安装部分如果能引入RUN的列表模块就更完美了。

我简单的修改了一下,在出错后返回主菜单(也可以返回其他菜单,用户可自行修改)。水平有限,请勿拍砖。


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

[ 本帖最后由 幸运的草 于 2011-11-27 10:41 编辑 ]
回复

使用道具 举报

16#
 楼主| 发表于 2011-11-27 10:28:05 | 只看该作者
chainloader /ntldr || chainloader /bootmgr || chainloader ()+1 || echo 没有找到硬盘的启动文件 && pause --wait=3 && configfile (md)4+8

在ghost的第二次启动或者是winpe安装iso的第二次启动
这个菜单会报错的。
因为启动的文件并不是ntldr。。。。。
回复

使用道具 举报

17#
发表于 2011-11-27 10:43:43 | 只看该作者
已修正,调整启动顺序,不调整启动也没问题,只是会慢几秒。


-----------------------------------------------------------
原来测试无修改的菜单,启动出错,重新测试,又能启动了。


晕!但如果硬盘没有分区或启动文件丢失还是会执行出错。修改后的菜单会在出错后自动返回。








[ 本帖最后由 幸运的草 于 2011-11-27 11:02 编辑 ]
回复

使用道具 举报

18#
发表于 2011-11-27 11:18:42 | 只看该作者
现成的菜单,拿来就能用,感谢楼主分享!
回复

使用道具 举报

19#
发表于 2011-11-28 23:06:42 | 只看该作者
我也试一下看..........
回复

使用道具 举报

20#
发表于 2016-3-23 19:43:30 | 只看该作者
谢谢谢谢谢谢谢谢谢谢谢谢
回复

使用道具 举报

21#
发表于 2016-12-5 15:20:08 | 只看该作者
感谢分享,学习中。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-29 23:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表