多系统全自动安装及维护光盘DIY

系统·安全应用

目前,多系统全自动安装及维护光盘,多是通过EasyBoot制作。这类光盘在启动界面上很华丽,但设计与制作却比较复杂。而Grub4dos由于其功能强大,操作灵活,设计与制作光盘简易,而被广泛地应用于启动媒体的制作。

本文介绍利用Grub4dos制作多系统全自动安装及维护光盘的方法与技巧。利用本文介绍的方法制作出来的光盘,在安装Windows后,能自动整合系统驱动程序和常用软件的安装,即在各个系统的安装过程中,将同时自动安装驱动程序和自动集成软件,同时,能整合常用电脑维护的常用工具,非常实用方便。

注意:以下所述步骤,许多具有先后性,请务必按照所述顺序进行。

一、准备多系统文件

1.设定文件夹选项

为方便查看和调用文件,我们首先需要对系统文件夹进行相应设置。

打开“我的电脑”,单击“工具→文件夹选项”菜单,在打开对话框单击“查看”选项卡,在“高级设置”列表中选中“显示系统文件夹的内容”、“显示所有文件和文件夹”选项,并取消“隐藏受保护的操作系统文件”选项,最后单击“确定”按钮。

2.准备一个完整硬盘分区

这里,我们以磁盘H作为操作对象,该磁盘内的所有文件将是要制作的光盘内的全部文件,它的根目录即光盘的根目录。

注意:不要用一个文件夹来做光盘根目录,而要用整个磁盘。这样做,是为了与制作工具及应用程序的最大兼容。另外,请不要在此磁盘内放置任何与要制作的目标光盘内容无关的文件或文件夹。

3.准备光盘引导文件

在除H盘之外的其他磁盘内新建Tools和Temp文件夹,Tools文件夹专门用来存放制作工具,Temp文件夹当作临时文件夹,用来存放下载到的临时文件和解压缩使用。

在Tools文件夹里新建Bootfile文件夹。下载Grub4dos最新版(下载地址:http://download.gna.org/Grub4dos/,相关资源:http://Grub4dos.sourceforge.net/wiki/index.php/Resource),并用解压缩软件将其打开,将Chinese文件夹中的grldr文件解压到Bootfile文件夹中,然后将grldr文件重命名为grldr.bin(该文件将用作光盘引导文件)。将Grub4dos压缩包中的menu.lst文件解压缩到Bootfile文件夹中待用。

4.准备多系统

在H盘内新建sys文件夹(小写命名),用来存放多系统。在sys文件夹中新建若干子文件夹,用来存放各系统安装光盘的提取内容。

注意:子文件夹必须以4个大写英文字母命名。例如,需要提取的系统是“ROGE精减版XP”光盘,那么文件夹名就命名为ROGE。

现在,我们来集成7个不同版本的操作系统。它的文件夹命名情况如下表所示:

fls-b1.jpg

使用UltraISO将Windows安装光盘(或ISO镜像)内的相关内容提取出来。主要提取I386文件夹里的所有文件,以及光盘根目录下的文件:WIN51、WIN51IP、win51ip.sp3、winnt32.exe、winnt.bat、bootfont.bin、setupldr.bin、readme.txt等。

如果安装光盘根目录内没有WIN51、WIN51IP、win51ip.sp3、winnt32.exe、winnt.bat、bootfont.bin、setupldr.bin等文件,就需要从安装光盘的I386里面把它们复制到I386的外面(注意:是复制方式,不要使用移动方式)。

有的安装光盘除了I386文件夹是用于安装外,还有其他文件夹也是用于安装的,例如,带有符号“$”的文件夹也是安装时需要调用的,要整个提取出来。

最后,H盘中sys文件夹的层次关系将如图1所示:

fls-sys-1.jpg
图1

在上文的操作中,各系统的I386的路径已经被改变。而各系统内的winnt32.bat和winnt.bat文件里面所叙述的I386的路径却照旧,如果我们在DOS内手动执行winnt.bat,或者在Windows内手动执行winnt32.bat来安装系统,就会出现路径找不到的严重错误。因此,必须修改winnt32.bat和winnt.bat文件里面的I386路径。

例如,对于“Windows 2000 服务器SP4 DA12精减版”的文件夹DA12而言,winnt32.bat文件里路径需改成:

.\sys\DA12\i386\winnt32 /s:.\sys\DA12\i386 /unattend:.\sys\DA12\i386\winnt.sif /makelocalsource /tempdrive:%drive_letter%/syspart:%drive_letter%

winnt.bat文件里路径需改成:

.\sys\DA12\i386\smartdrv.exe

.\sys\DA12\i386\winnt /s:.\sys\DA12\i386 /u:.\sys\DA12\i386\winnt.sif

上述路径内的“DA12”是多系统中的各文件夹的名称。7个系统文件夹名称各不相同。必须严格对应。

7个系统的内容都提取好后,要安装的多系统内容即准备就绪。

二、整合硬件驱动和应用软件

Windows安装光盘本身已经带有庞大的驱动程序包。然而,我们往往希望使用自己的驱动程序。特别对于较新的硬件产品而言,安装较新的驱动程序,能更大地发挥硬件产品的性能。另外,在Windows安装成功后,我们往往需要手动安装许多应用软件和更新包。上述这一切,如果手动进行,将非常费时费力。

下面,我们将自己需要的硬件驱动程序和常用软件整合到上面提到的7个系统的安装程序之内,从而让安装程序在安装系统时,自动判断与比较我们整合进去的硬件驱动和它自身带有的驱动程序,进而自动选择并安装最新驱动。同时在Windows安装结束时,自动安装常用软件。

1.准备存放文件夹

首先,在H盘内,新建一个和sys文件夹同级的Software文件夹。在Software文件里新建Drives文件夹。把下载到的《完美安装者》压缩包内的三个文件:INSConfig.exe、ins.exe和INScfg.ini解压缩到Drives文件夹内。

在Drives文件夹里新建Everest文件夹,把下载到的Everest压缩包内的5个文件:everest_icons.dll、kerneld.wnt、pkey.txt、everest.dat、everest.exe解压缩到Everest文件夹内。

Software文件夹内将存放常用软件,Drives文件夹内将存放驱动程序包。

2.准备驱动程序包

Drives文件夹(或其下的子文件夹)内放置的驱动程序包,必须是带有7z后缀名的驱动压缩包。这种类型的压缩包,网上有许多现成的。我们可以通过使用搜索引擎,搜索“常用驱动包”、“最新驱动包”等关键字,下载现成的驱动包。下载后,看一下它里面的说明文本,明确各个驱动包的用途,然后把带有7z后缀名的各个驱动压缩包放到Drives文件夹里面即可。

下面,我们介绍一下如何自制驱动程序包。

自制硬件驱动程序包,一般要准备主板、显卡、声卡、网卡、摄像头、显示器和笔记本等驱动程序。下面仅例举如何自制后缀名为7z的主板驱动程序包。其他硬件的驱动程序包也可依照此方法制作。

首先,在《驱动之家》网站(http://www.mydrivers.com)中查找主板品牌的驱动程序。我们选择常见流行品牌Intel、nVidia 、AMD等,并下载最新的驱动程序包。把各个品牌的最新主板驱动程序下载到Temp文件夹内,如果其后缀名为RAR,将其分别释放它们到各自单独的文件夹内。如果后缀名是EXE,就用鼠标右键单击EXE文件,注意观察鼠标右键上的WinRAR菜单有没有“解压缩到”之类的命令选项,如果有,就用WinRAR把它们分别解压缩到各自的文件夹内。如果不能用WinRAR解压缩某些后缀为EXE的文件,请下载并安装万用解包工具Universal Extractor,再用它解到各自的文件夹内。

然后,查看释放出来的文件夹里是否有CAT、INF、SYS等后缀名的文件。如果没有此类文件,只有一个EXE之类的文件,说明还需要进一步解压缩。重复上面的步骤,直到解压出带有CAT、INF、SYS之类后缀名的文件及文件夹为止。

在临时文件夹内,新建Intel、nVidia 、AMD等文件夹,然后把各个品牌解压缩出来的带有CAT、INF、SYS等后缀名的文件,全部移动到相应的文件夹内。例如,nVidia的主板驱动程序,要移动到文件夹nVidia内。

用7Zip压缩软件,把刚才释放出来的带有CAT、INF、SYS之类后缀名文件的文件夹,连文件夹一起压缩成一个7z格式的压缩包:chip.7z。

最后,把驱动程序包chip.7z放入Drivers文件夹内(也可以把各个品牌的驱动程序分别压缩成7个7z包,在Drivers文件夹内新建Chip文件夹,然后把7z包全部放入Chip文件夹内)。

同样的方法,再制作出显卡、声卡、网卡、摄像头、笔记本和显示器驱动程序包,全部放入Drivers文件夹内。

至此,驱动程序包准备就绪。

3.准备要自动安装的系统更新和常用软件

我们需要在Windows安装结束时,自动安装系统更新和常用软件。这些要自动安装的常用软件,必须是可执行的EXE类文件。

例如,我们要进行的系统更新有Internet Explorer 7集成补丁、Windows Media player 11集成补丁,.NET Framework 2.0 SP1简体版,要安装搜狗拼音输入法、迅雷等常用工具,并运行系统优化设置工具。把这些软件的EXE类安装文件放到Software文件夹内即可。

4.编辑配置文件

这一步是编辑Drivers文件夹内的配置文件INScfg.ini,其目的是要把需要自动安装的硬件驱动程序和常用软件的位置交代给《完美安装者》,这样Windows安装程序在安装系统的过程中,才会自动调用并自动安装。编辑INScfg.ini文件的具体方法,在该文件内已经写得很清楚了,请读者详细阅读。

例如,前文所述的驱动程序包和常用软件,我们在INScfg.ini文件内的局部配置情况如下:

[Main]

Everest=software\drivers\EVEREST\EVEREST.EXE

0=back.jpg

[Driver]

驱动程序程序=

[驱动程序程序]

1安装 主板驱动程序=software\drivers\chip.7z

1安装 显卡驱动程序=software\drivers\vga.7z

1安装 声卡驱动程序=software\drivers\sound.7z

1安装 网卡驱动程序=software\drivers\Ether.7z

0安装 显示器驱动程序=software\drivers\monit.7z

0安装 摄像头驱动程序=software\drivers\camera.7z

0安装 笔记本驱动程序=software\drivers\note.7z

[Software]

系统更新=

常用软件=

[系统更新]

0安装 Internet Explorer 7[集成补丁]=software\ie7.exe

0安装WindowsMedia Player 11[集成补丁]=software\wmp11.exe

0安装 Microsoft .NET Framework 2.0 SP1简体版=software\Netfx20sp1.exe

2安装 DX9C[2007.11]=software\DX9C.exe

[常用软件]

0安装 搜狗3拼音输入法=software\sougou32.exe

1安装 迅雷5.7.7.441特别版[支持其他连接]=software\Thunder5.exe /S

1进行 系统优化设置=software\move.reg

以上是局部配置情况,其中,back.jpg是背景图片。everest.exe是硬件检测工具,能进行硬件更智能化的识别,具体用法见INScfg.ini文件。

必须说明一下,虽然在系统安装完毕后,如果用户不手动干预,安装程序一般会自动删除安装驱动程序包时释放到系统盘根目录内的Drivers文件夹及其全部内容。但有时安装程序会不删除系统盘内的Drivers文件夹。因此,需要在安装结束后,查看系统盘内有没有Drivers文件夹,如果有,请手动删除。

5.开始整合

执行Drivers文件夹中的ins.exe测试一下,如果背景、驱动程序选择、常用软件等显示无误后,再执行INSConfig.exe,在打开的对话框内单击“选择I386”按钮,在弹出的对话框内选择各个系统的文件夹I386所在的位置,然后单击“开始整合”按钮即可。如图2所示。

fls-sys-2.jpg
图2

整合完成后,删除备份。

6.复制txtsetup.sif文件

在sys文件夹内的各系统文件夹中,将I386文件夹内的txtsetup.sif文件复制到每个系统的各个I386外面。例如,把2KZY内的I386文件夹内的txtsetup.sif文件复制到2KZY文件夹内。

注意:这一步非常重要,而且必须是在硬件驱动程序和常用软件的整合完成后,才能进行。

三、创建多系统安装启动盘组

Windows安装光盘内必须要有Windows安装程序可识别的启动盘文件。创建多系统安装的启动盘组就是创建多个Windows安装程序可分别识别的启动盘文件组。用于在一张光盘上集成多系统安装。

注意:这一步必须放在已经整合了硬件驱动程序和常用软件到多系统里面,而且已经复制txtsetup.sif文件之后。

下载创建多系统安装启动盘组的脚本压缩包(下载地址:http://work.newhua.com/cfan/200712/CMBFAF.rar)。把压缩包内的所有文件,解压缩到前面创建的Tools文件夹内。使用文本编辑工具EditPlus打开并编辑 create_boot_folders.cmd 内的局部内容:

call create_boot_folder.cmd H:\sys\DETA H:\ DETA FOO 0

call create_boot_folder.cmd H:\sys\2R74 H:\ 2R74 FOO 0

call create_boot_folder.cmd H:\sys\2KZY H:\ 2KZY FOO 0

call create_boot_folder.cmd H:\sys\DA12 H:\ DA12 FOO 0

call create_boot_folder.cmd H:\sys\DE62 H:\ DE62 FOO 0

call create_boot_folder.cmd H:\sys\VIST H:\ VIST FOO 0

call create_boot_folder.cmd H:\sys\ROGE H:\ ROGE FOO 0

检查无误后,再双击编辑好的create_boot_folders.cmd来执行,这时,会弹出一个命令行执行窗口。等待几秒钟后,H盘根目录里面将增加7个扩展名为BIN的文件:DETA.bin、2KZY.bin、2R74.bin、VIST.bin、DA12.bin、DE62.bin、ROGE.bin。还有其他一些用于启动盘组的WIN51、WIN51IP等文件。同时,H盘根目录内将生成7个不同名称的文件夹。这些文件夹同属启动盘组的内容。

注意:该脚本并没有把I386文件夹内的winnt.sif文件自动复制到生成的启动盘组文件夹内。因此,在create_boot_folders.cmd执行完毕之后,你必须手动把各个系统的I386里面的winnt.sif文件复制到H盘生成的对应的文件夹里面。例如,把sys\ROGE\I386里面的winnt.sif文件复制到H:\ROGE里面。多系统的各个winnt.sif文件只能复制到对应的文件夹内,不能弄错。

四、整合常用系统维护工具

由于Grub4dos强大的引导能力与磁盘仿真能力,所有能在DOS上执行的软件,都能通过Grub4dos模拟加载或者运行。而且,由于它强大的引导能力,能够直接引导光盘、U盘等媒介。实际制作中,你可以根据自己的喜爱,在光盘中加入许多系统维护工具和软件,组建一个强大的多系统安装维护光盘。

1.增加可在光盘上运行的操作系统

我们可以在这张光盘上加入可直接在光盘上启动的操作系统。这类操作系统非常多,例如Windows 98/PE等。这里,我们以添加Windows PE为例。

Windows PE是一个基于Windows XP核心的最小化操作系统,它包含了NTFS文件系统支持、存储设备支持、TCP/IP网络连接等,是非常方便的电脑维护工具。由于启动Windows PE后,进入的系统是微型Windows,所以在Windows里能完成的操作,在Windows PE里一般都能完成。

使用UltraISO打开下载的Windows PE光盘 ISO,把根目录内的bootfont.bin、winnt.xpe文件复制到H盘根目录内。然后将Windows PE所在的文件夹(一般Windows PE所在的文件夹内会有个文件的后缀名是BIN之类的文件。例如,setupldr.bin),整个复制到H盘的根目录内即可。如果经测试,Windows PE不能正常运行,可把Windows PE光盘根目录下的全部文件复制到H盘根目录下面。

2.增加任意软件安装包

除了把常用软件加入到《完美安装者》内,让系统自动安装之外,我们也可以在光盘的Software文件夹内加入任意软件的安装程序,以便需要时手动进行安装。

3.增加DOS下的维护工具

作为一张维护光盘,必须准备一些常用的维护工具。使用Grub4dos,你可以任意加入你想所需要的电脑维护工具。例如,硬盘维护工具、Ghost、DOS 杀毒工具等。Grub4dos主要是通过引导后缀名为IMG镜像文件来运行这些工具。大多数工具的IMG文件,网上都有现成的下载,只要使用搜索引擎搜索“常用img”,就可搜索到许多下载。你也可以从“一键Ghost”、“深山红叶”之类的系统光盘或ISO文件内,用UltraISO提取后缀名为IMG的文件来直接用。

下面我们来做一个自己的IMG镜像,该镜像用Grub4dos调用后,会读取所有的光驱(包括 SATA接口),并调用光盘根目录内的ghost.exe文件,用于硬盘克隆或系统恢复。

首先,把不低于8.3版的ghost.exe(此处使用11.02版),放到H盘的根目录内待用。同时在H盘的根目录内新建img文件夹(小写命名)。该文件夹专门用来放你自制或从光盘提取出来的IMG文件,在我们的光盘启动时,可单击Grub4dos上的启动菜单项目来调用这些IMG文件。

启动WinIMG,在img文件夹内新建一个软盘镜像ghost.img(小写命名),单击“映像→引导扇区属性”菜单命令,在打开的对话框中单击“Windows 95/98”按钮,将文件系统设置成FAT12/16。

然后,使用搜索引擎搜索“深度Windows XP SP3 完美精简版”的ISO文件。下载后,用UltraISO把其中的文件ghost.img提取出来放到临时文件夹内,然后用WinIMG打开ghost.img文件。

把cda.exe、restart.com、command.com、ifshlp.sys、himem.sys、ctmouse.exe、findcd.exe、msdos.sys、io.sys、findcdr.bat、shsucdx.com、qcdrom

.sys、gcdrom.sys、config.sys、autoexec.bat等15个文件提取到一个空的临时文件夹内。用专业的文本编辑工具打开并编辑(不要直接双击来运行):findcdr.bat、config.sys、autoexec.bat。

文件config.sys编辑成:

device=himem.sys /testmem:off

DEVICEHIGH=QCDROM.SYS /D:PATACD01

DEVICEHIGH=GCDROM.SYS /D:SATACD01 /C0

DEVICEHIGH=GCDROM.SYS /D:SATACD02 /C1

DEVICEHIGH=GCDROM.SYS /D:SATACD03 /C2

files=10

buffers=10

dos=high,umb

stacks=9,256

lastdrive=z

文件autoexec.bat编辑成:

@ECHO OFF

SHSUCDX /D:?PATACD01 /D:?SATACD01 /D:?SATACD02

/D:?SATACD03

ctmouse.exe

findcd /s>nul

call findcdr “ghost.exe” C D E F G H I J K L M N O P Q R S T U V W X Y Z

%CDROM%:

ghost.exe -crcignore -fro

文件findcdr.bat编辑成:

@echo off

set file=%1

:FCDR

if “%CDROM1%”==“%2:” goto SCDR

shift

goto FCDR

:SCDR

cda %2:>nul

IF errorlevel 1 goto next

if not exist %2:\%FILE% goto next

set cdrom=%2

goto end

:next

if “%2”==“Z” goto end

shift

goto SCDR

:end

编辑完成后,用WinIMG打开刚才新建的ghost.img文件,把这15个文件全部用鼠标拖进去即可。

注意:img文件夹及其里面的工具,应全部改成小写名称。

(4)增加GHO文件

在Windows的安装中,有一种是执行Ghost之类的程序,读取GHO类文件,进行克隆式安装。我们可以使用现有的GHO镜像文件来恢复系统,也可以把自己的系统备份镜像放到光盘上来使用。

在H盘内新建文件夹gho,把需要用到的GHO镜像文件放到文件夹gho里面。

例如,我们把下载到的“一键把硬盘分成四个NTFS分区”的镜像文件hd4.GHO放进去。然后在文件夹img里面,把刚才制作的ghost.img文件再复制出一个来,更名为hd4.img,再把hd4.img里面的autoexec.bat文件提取出来,并改成下面的内容,然后再保存到hd4.img里面覆盖原文件即可:

@ECHO OFF

SHSUCDX /D:?PATACD01 /D:?SATACD01 /D:?SATACD02 /

D:?SATACD03

findcd /s>nul

call findcdr “ghost.exe” C D E F G H I J K L M N O P Q R S T U V W X Y Z

ctmouse

%CDROM%:

ghost -nousb -clone,mode=load,src=gho\hd4.GHO,dst=1 -fx

五、配置Grub4dos

1.准备Grub4dos中文字体和启动背景图片

Grub4dos的字体文件一般是带有font字样的文件,在前文中提到的Grub4dos下载地址内查找并下载。在H盘的根目录下新建font文件夹,把下载到的字体文件和背景图片文件放到该文件夹内即可。

注意:我们也可以不用背景文件,这样Grub4dos菜单背景将是黑色的。

2.编辑Grub4dos的menu.lst文件

Grub4dos在启动时,需要调用字体文件、背景文件和启动菜单配置文件menu.lst。

在前面你建立的Tools文件夹内,找到你已经释放出的menu.lst文件,用专业文本编辑工具打开并编辑相应条目,如图3所示:

fls-sys-3.jpg
图3

以上的默认选单,是隐藏在“第一个标题”内,一旦用户启动后用户不选择,则默认 10 秒后自动尝试从第一个主硬盘的第一分区启动。这在安装系统时很有用,不用再手动设置成硬盘启动了。

图4是7个操作系统的配置单:

fls-sys-4.jpg
图4

两个DOS维护工具的配置单,调用了前面的那两个img文件,如图5所示。

fls-sys-6.jpg
图5

一些Grub4dos的内置功能菜单,如图6所示。

fls-sys-7.jpg
图6

补充说明一点,如果只是想集成一个系统,前面说过的某些步骤就不用了。只要把该系统安装光盘内的I386和光盘根目录内的上面提到的那些文件复制到H盘根目录内,再编辑menu.lst的相关条目,指向根目录内的setupldr.bin即可。

六、创建、测试并刻录ISO文件

1.创建ISO文件

启动UltraISO,将光盘重命名为“myCD”,把H盘内几乎所有文件夹和文件拖到右上窗格内(注意,不要把系统卷标文件夹System Volume Information和回收站文件夹RECYCLER 也拖进去)。然后单击“启动光盘→加载引导文件”菜单命令,在打开的对话框中,选中Tools文件夹内的grldr.bin文件。这时,“光盘目录:”右边的“不可引导光盘”字样将变成“可引导光盘”字样,如图7所示。

fls-sys-5.jpg
图7

右键单击“myCD”,选择“属性”命令,在打开对话框的“文件系统”选项卡中选中“允许小写字母”和“优化文件”选项,然后单击“确定”按钮。

最后,单击“文件→保存”菜单命令,编译出myCD.ISO文件。

注意:查看H盘情况,如果根目录内没有smartdrv.exe、himem.sys文件,请从Windows 98启动盘内把它们复制到H盘根目录内。另外,编译出来的ISO文件不要保存在H盘,H盘只允许光盘原始文件存在。

2.测试和刻录ISO文件

编译成ISO后,一定要在虚拟机中细心测试ISO的情况,认真详细测试各个菜单项目的执行效果,反复修改。验证是否能正常使用,再刻录成盘。

下面简单介绍在VMware Workstation下如何测试:

安装并启动VMware Workstation,单击“新建虚拟机”,跟随向导提示,新建一个Windows XP Professional的虚拟机。然后选中新建的虚拟机,单击“编辑虚拟机设置”,把虚拟机的 CDROM 设置成使用你的镜像文件myCD.iso 。

单击“启动此虚拟机”,在启动虚拟机后的黑色窗口内,立即单击一下激活它,立即按下F2键,进入虚拟机的BIOS设置界面中,移动光标到“boot” 标签,把第一启动的设备设置成“CDROM”,然后按下 F10 键保存设置。重新启动虚拟机即可开始测试。待确定无误后,即可使用Nero 等刻录工具进行光盘刻录。