无忧启动论坛

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

Windows n合1启动光盘制作攻略——实战Boot Scriptor(转)

[复制链接]
跳转到指定楼层
1#
发表于 2002-11-28 09:35:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Windows n合1启动光盘制作攻略
——实战Boot Scriptor
  在“Windows n合1 启动光盘制作攻略——Windows 2000 3合1与Windows XP 2合1启动光盘的制作方法”一文中我讲解了Windows 2000 3合1光盘与Windows XP 2合1的光盘的制作原理与制作方法,相信各位朋友一定会有所启发,有些人已经自己动手操作了。但是后来发现,上文中有些错误,当时没有考虑到,这里修正如下:
  (1)Windows 2000:如果集成了SP2或SP3,一定要将i386子目录中的文件txtsetup.sif复制到各自的安装目录下(或者干脆用i386中的同名文件全部替换),覆盖掉原来的文件,否则安装时系统报错。
  (2)Windows XP:用CDImage制作ISO映像文件时,原来的“-n”参数要修改为“-j1”,否则ISO文件能够通过虚拟机测试,但烧录到光盘后会找不到ASMS目录里的文件,因为路径刚刚超过8层。
  各位朋友制作好了2合1、3合1后,一定希望弄个5合1、6合1、8合1、xx合1,把各个版本的操作系统通通搜罗进来!很好,如果你有DVD刻录机的话,或者有1.3 GB的DDCD刻录机,我就来满足你的这个愿望:MS & Linux xx合1启动版,只要你的DVD足够大。但是我不会帮你做,我只提供一个通用的办法。还是让我们以Windows 2000 3合1为例来讲解吧。
  1. 所需工具
  (1)WPROSECT.DAT、WSRVSECT.DAT、ASRVSECT.DAT
  必须。Windows 2000光盘启动引导文件。这三个文件其实是一样的,只是其中原来的字符串“i386”分别被替换成了“wpro”、“wsrv”和“asrv”。
  下载地址:http://www.tech-hints.com/files/2kroot.zip
  (2)CDImage.exe(命令行界面)或CDImagegui.exe(图形界面)
  必须。可启动光盘镜像制作工具,生成标准的ISO文件,同时优化光盘上的文件。
  下载地址:http://www.tech-hints.com/prog/cdimage.zip,http://www.tech-hints.com/prog/cdimagegui.zip
  (3)WinImg
  可选。解Windows 2000安装软盘组的img文件。可替换方法是制作4张安装软盘,然后将4张软盘上的全部文件复制到硬盘相应目录下。
  下载地址:http://www.winimage.com/winimage/winima60.zip
  (4)UltraEdit
  可选。十六进制编辑器。
  下载地址:ftp://ultraedit.com/uedit32.zip
  (5)Windows 2000安装软盘组
  必须。用软盘引导机器,加载必要的系统文件及基本驱动程序,然后从光盘继续安装。
  Windows 2000安装软盘组在正版光盘的bootdisk目录下,三个版本的安装软盘是不同的,不能混用。
  (6)Windows 2000 Service Pack 3
  可选。将Windows 2000 Service Pack 3集成进Windows 2000的三个版本中,这样安装完毕的Windows 2000就集成了Service Pack 3,不必再单独安装了。
  下载地址:http://download.microsoft.com/download/win2000platform/SP/SP3/NT5/CN/W2Ksp3.exe
  (7)VMware(或Virtual PC)和Nero
  可选。测试制作完成的3合1镜像文件并烧录光盘。
  (8)Boot Scriptor
  必须。多重启动光盘管理器。这个软件的版本发展非常快,各版本之间的功能大不相同,目前能够下载的是1.2.3b,如果以后出了新版本,可以参考这里的做法。
  下载地址:http://tigger.cc.uic.edu/~mterlo1/bscript/distro/Boot%20Scriptor%20(1.2.3b).zip
  2. 目录及文件结构
  保证硬盘上有足够空余空间(假设将文件存放在硬盘d:,全部三个版本的原始文件约占用空间为1.24 GB,生成的镜像文件约为502 MB),建立如下目录结构,并复制文件cdimage.exe到相应位置:
  d:\win2k\cdimage.exe
  d:\win2k\root\asrv
  d:\win2k\root\wpro
  d:\win2k\root\wsrv
  其中,d:\win2k\root\是Windows 2000 3合1光盘的根目录,d:\win2k\root\asrv用于存放Windows 2000高级服务器版文件,d:\win2k\root\wsrv用于存放Windows 2000服务器版文件,d:\win2k\root\wpro用于存放Windows 2000专业版文件。
  3. 文件复制
  将Windows 2000高级服务器版光盘上的文件全部复制到asrv目录,将Windows 2000服务器版光盘上的文件全部复制到wsrv目录,将Windows 2000专业版光盘上的文件全部复制到wpro目录。
  必须确保复制了全部文件和子目录,包括具有系统和隐藏属性的。
  复制完毕后,清除d:\win2k\root\下全部文件和子目录的系统、隐藏和只读属性。
  将d:\win2k\root\asrv目录下的cdrom_ia.5和cdrom_nt.5复制到d:\win2k\root\,将d:\win2k\root\wsrv目录下的cdrom_is.5复制到d:\win2k\root\,将d:\win2k\root\wpro目录下的cdrom_ip.5复制到d:\win2k\root\。
  要点:d:\win2k\root\下面必须有cdrom_ia.5、cdrom_is.5、cdrom_ip.5和cdrom_nt.5文件,这是我们欺骗安装程序的标志:这张光盘是Windows 2000的原始安装盘。
  4. 将Service Pack 3集成到Windows 2000各版本中
  运行w2ksp3.exe /x将Service Pack 3全部文件提取出来,假设提取到f:\tmp。在f:\tmp\i386\update下分别运行命令行命令:
  update.exe -s:d:\win2k\root\asrv
  update.exe -s:d:\win2k\root\wsrv
  update.exe -s:d:\win2k\root\wpro
  上述命令运行完毕后,Service Pack 3已经集成到Windows 2000各版本中,且d:\win2k\root\asrv、d:\win2k\root\wsrv、d:\win2k\root\wpro各目录下应有一文件cdromsp3.tst,将其复制到d:\win2k\root\。
  要点:d:\win2k\root\下面必须有cdromsp3.tst文件,否则安装程序会要求我们插入Service Pack 3光盘。
  5. 跳过输入产品序列号
  查找各个版本i386目录,找到文件setupp.ini,用记事本打开,将其中的“Pid=xxxxx000”修改为为“Pid=xxxxx270”,存盘退出。这一步不是必须的,只是图个方便。
  6. 配置安装程序
  Windows 2000正版光盘上有个bootdisk子目录,里面包含4张Windows 2000安装软盘镜像的img文件。用WinImg将各个版本bootdisk目录下的4个img文件分别释放到各自的系统文件目录下:
  d:\win2k\root\wpro\bootdisk的img文件全部释放到d:\win2k\root\wpro\下。
  d:\win2k\root\wsrv\bootdisk的img文件全部释放到d:\win2k\root\wsrv\下。
  d:\win2k\root\asrv\bootdisk的img文件全部释放到d:\win2k\root\asrv\下。
  要点:这是我们模拟软盘安装的关键,一定要连带system32目录(里面有两个文件)一起释放。
  如果集成了Service Pack 3,需要将wpro、wsrv、asrv下面的文件用各自i386目录下面的文件替换(实际上只需要替换txtsetup.sif就行了),即将启动软盘组中的文件也替换为集成Service Pack 3后的文件。注意:一定不要替换system32中的文件,否则无法安装。
  要替换这一大堆文件比较繁琐,可以用两个办法:
  (1)xxcopy法。下载xxcopy(http://www.xxcopy.com/),执行下面的命令:
  xxcopy d:\win2k\root\wpro\i386 d:\win2k\root\wpro\ /U /E /YY
  xxcopy d:\win2k\root\wsrv\i386 d:\win2k\root\wsrv\ /U /E /YY
  xxcopy d:\win2k\root\asrv\i386 d:\win2k\root\asrv\ /U /E /YY
替换完成后删除wpro、wsrv、asrv下面的空目录(xxcopy替换的副产品)即可。
  (2)批处理替换法。以wpro目录为例:
  dir d:\win2k\root\wpro\*.* >1.bat
  move d:\win2k\root\wpro\1.bat d:\win2k\root\wpro\i386
  用Ultraedit编辑1.bat,只保留文件名,每个文件名一行,修改每行的命令为
  copy [文件名] d:\win2k\root\wpro\
  存盘退出,在d:\win2k\root\wpro\i386目录下运行1.bat,d:\win2k\root\wpro\i386目录没有而d:\win2k\root\wpro有的文件不替换。其他两个版本如法炮制。
  7. 修改setupldr.bin和txtsetup.sif
  用Ultraedit打开d:\win2k\root\asrv\setupldr.bin,用ASCII方式替换“i386”为“asrv”,共3处;
  用Ultraedit打开d:\win2k\root\wsrv\setupldr.bin,用ASCII方式替换“i386”为“wsrv”,共3处;
  用Ultraedit打开d:\win2k\root\wpro\setupldr.bin,用ASCII方式替换“i386”为“wpro”,共3处。
  存盘退出。
  用Ultraedit打开d:\win2k\root\asrv\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\asrv"”;
  用Ultraedit打开d:\win2k\root\wsrv\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\wsrv"”;
  用Ultraedit打开d:\win2k\root\wpro\txtsetup.sif,替换“SetupSourcePath = "\"”为“SetupSourcePath = "\wpro"”。
  存盘退出。
  要点:这两个文件中的路径告诉安装程序从何处复制文件,必须与目录结构相匹配。
  8. 启动菜单的制作
  释放文件Boot Scriptor (1.2.3b).zip,将其中的bscript子目录复制到d:\win2k\root\,将bscript\loader.bin(光盘引导器)移动到d:\win2k\,删除bscript\bscriptw.com,bscript\modules中的文件不动(尽管有些是我们不需要的,但文件很小)。
  释放2kroot.zip,将其中的文件WPROSECT.DAT、WSRVSECT.DAT、ASRVSECT.DAT复制到d:\win2k\root\bscript。
  9. 编写启动菜单配置文件bscript\bscript.ini
  start:
  clear
  print c "\n\n\c17===================================================\n"
  print c "\c17  \c1fWindows 2000 Setup\c17  \n"
  print c "\c17---------------------------------------------------\n"
  print c "\c17  \n"
  print c "\c17  \c1f1\c17 Windows 2000 Professional  \n"
  print c "\c17  \c1f2\c17 Windows 2000 Server  \n"
  print c "\c17  \c1f3\c17 Windows 2000 Advanced Server  \n"
  print c "\c17  \n"
  print c "\c17  \c1fF\c17 Boot from first Floppy Drive  \n"
  print c "\c17 \c1f Esc\c17 Boot from first Hard Disk  \n"
  print c "\c17  \n"
  print c "\c17---------------------------------------------------\n"
  print c "\c17  Select the item and then press Enter  \n"
  print c "\c17===================================================\n"
  ;
  start1:
  call drawscrn
  setpos 1 7
  print c "\c3f  1\c31 Windows 2000 Professional  "
  key1:
  getkey
  call mainkey
  onkey space goto item_1
  onkey enter goto item_1
  onkey up goto start5
  onkey down goto start2
  goto key1
  ;
  start2:
  call drawscrn
  setpos 1 8
  print c "\c3f  2\c31 Windows 2000 Server  "
  key2:
  getkey
  call mainkey
  onkey space goto item_2
  onkey enter goto item_2
  onkey up goto start1
  onkey down goto start3
  goto key2
  ;
  start3:
  call drawscrn
  setpos 1 9
  print c "\c3f  3\c31 Windows 2000 Advanced Server  "
  key3:
  getkey
  call mainkey
  onkey space goto item_3
  onkey enter goto item_3
  onkey up goto start2
  onkey down goto start4
  goto key3
  ;
  start4:
  call drawscrn
  setpos 1 11
  print c "\c3f  F\c31 Boot from first Floppy Drive  "
  key4:
  getkey
  call mainkey
  onkey space boot 0x00
  onkey enter boot 0x00
  onkey up goto start3
  onkey down goto start5
  goto key4
  ;
  start5:
  call drawscrn
  setpos 1 12
  print c "\c3f Esc\c31 Boot from first Hard Disk  "
  key5:
  getkey
  call mainkey
  onkey space boot 0x80
  onkey enter boot 0x80
  onkey up goto start4
  onkey down goto start1
  goto key5
  ;
  mainkey:
  onkey 1 goto item_1
  onkey 2 goto item_2
  onkey 3 goto item_3
  onkey f boot 0x00
  onkey F boot 0x00
  onkey esc boot 0x80
  return
  ;
  item_1:
  cls
  chain WPROSECT.DAT
  goto start1
  ;
  item_2:
  cls
  chain WSRVSECT.DAT
  goto start2
  ;
  item_3:
  cls
  chain ASRVSECT.DAT
  goto start3
  ;
  drawscrn:
  setpos 1 7
  print c "\c1f  1\c17 Windows 2000 Professional  \n"
  print c "\c1f  2\c17 Windows 2000 Server  \n"
  print c "\c1f  3\c17 Windows 2000 Advanced Server  \n"
  print c "\n"
  print c "\c1f  F\c17 Boot from first Floppy Drive  \n"
  print c "\c1f Esc\c17 Boot from first Hard Disk  "
  return
  ;
  eof:
  ;
  这个菜单配置文件看起来挺复杂,实际上大量的代码都是为了使用光标键而重复的。除了界面有点简陋外(你可以加上ANSI制表符等高位DOS扩展符),这个配置文件实现了彩色字符、光标键选择、从软盘启动、从硬盘启动等多种功能。
  10. 制作ISO文件
  CDImage程序加“-o”参数优化后生成的镜像文件约为502 MB,我们假设将它存放在f:盘的根目录下,命令行命令如下:
  d:\win2k\cdimage -lWin2K-3in1 -t01/10/2000,12:00:00 -g -h -j1 -o -m -bd:\win2k\loader.bin d:\win2k\root f:\w2k-3in1.iso
  11. 测试ISO文件
  用VMware加载w2k-3in1.iso文件,设置第1启动设备为光驱。从光盘启动后,系统将显示启动菜单,将显示条移动到相应的项目上,然后按回车键;也可以直接按快捷键。
  提示:如果仅仅为了测试菜单的效果,可以不删除bscript\bscriptw.com,直接运行bscriptw.com,它将显示Bscript\Bscript.Ini的效果。
  12. 增加特殊文件
  可以根据个人的爱好,在光盘上再增加一些特殊文件,例如新版IE、DirectX及一些专用的驱动程序等,只需将其复制到d:\win2k\root目录下,并重新制作ISO文件。
  13.烧录光盘
  ISO镜像文件测试无误后,即可用自己熟悉的烧录软件软件(例如Nero)将其烧录到光盘。 这样,一张可启动的Windows 2000 3合1光盘就制作完成了。当然,最好再用光盘正式地安装一遍,因为VMware测试与光盘测试是不完全一样的。
  14.集成Windows XP
  Windows XP与Windows 2000的制作原理是一样的,如果要集成进去,只需要修改WPROSECT.DAT,将其中的“wpro”改为XP文件所在目录即可,并修改启动菜单配置文件bscript\bscript.ini。这样的一张光盘优化以后大概有1 GB(Windows 2000与Windows XP相同的文件不多),你要考虑的首要问题是用什么盘来烧录。
  15.DOS、Windows 9x与Linux等可启动型n合1的制作
  DOS、Windows 9x和Linux等启动光盘都是采用单张软盘映像的,如何增加这类系统呢?简单得很:增加一个启动选项,并将BSCRIPT.INI中的chain WPROSECT.DAT修改为启动软盘映像就行了。假设软盘映像为boot1.img,具体方法有三种:
  (1)diskemu boot1.img
  (2)memdisk boot1.img
  (3)isolinux boot1.img
  这几种方法都需要用到bscript\modules中的相应模块。三种方法的效果是不一样的,其中diskemu模拟法速度最快,兼容性最好,只在1.2.3b版本中刚刚引进,建议采用。其他两种是ISOLINUX所采用的传统方法。
  16.特色点评
  优点:彩色菜单,光标移动,xx合1,……,这是目前最最新、最最牛、最最棒、最最神奇、最最最最……的方法。
  缺点:Boot Scriptor的发展太快,各版本之间有点不兼容,但说实在的,后面的版本越来越好,尤其是diskemu的引入,最激动人心,最大得人心,最大快人心,几乎彻底解决了映像文件的兼容性问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-12-14 17:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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