需要准备的材料:
整合了SP2的Windows XP安装光盘
XP SP2部署
工具
CDImage for Windows XP Professional Edition / Home Edition
一个顺手的光盘刻录工具
如果你还没有整合了SP2的Windows XP安装光盘,那么我建议你马上做一个,这是很有用的。你可以在 这里 看到制作方法。
1. 在C盘根目录下创建一个名为
XPCD的
文件夹 C:\XPCD
2. 复制整合了SP2的Windows XP安装文件到 C:\XPCD
3. 在C:\XPCD中创建一个名为
$OEM$的子文件夹,然后按照 $OEM$发布文件夹 这一页的说明创建所有需要的文件夹。通过使用这些文件夹,我们就能把自己常用的
软件、驱动程序以及注册表设置放在里面。
下一步是要创建一个名为winnt.sif的应答文件,这个文件将在安装
系统的过程中提提供说明以便能自动完成。
转到: 第二步 - 创建应答文件
应答文件是跳过图形化设置界面的一种方法。应答文件同时还告诉安装程序怎样安装$OEM$发布文件夹以及你自己创建的文件夹中的程序,并提供安装程序在运行过程中所需要最终用户输入的所有信息。
下载 XP SP2 Deployment Tools ,然后解压缩到一个文件夹,或者双击cab文件,提取出所需的setupmgr.exe 和ref.chm这两个文件:
安装管理器(setupmgr.exe)是一个向导
模式的应答文件创建工具,因此用这个工具创建的应答文件基本上不会太难。创建过程中注意使用以下的选项:
新建或修改现有应答文件:新建
安装类型:Windows 无人值守安装
Windows 平台:Windows XP Home/Professional
交互等级:全部自动
分发文件夹:从CD安装(忽略关于自定义IE的信息,它们是可以工作的!)
确定内容后,同意授权协议,然后填写在安装Windows XP 过程中需要自动输入的所有信息。如果你遇到任何不理解的内容,则直接忽略掉。那种情况下Windows XP会使用默认设置。
输入完成之后,安装管理器会创建一个名为unattend.txt的文件,因为我们要从光盘上安装系统,因此清将该文件改名为
winnt.sif。
正如你在前一页中看到的,我们会使用$OEM$发布文件夹来安装常用的软件、驱动以及注册表设置。但是为了能成功安装,我们需要在winnt.sif文件的[Unattended]字段下指定两个值:
[Unattended]
OemPreinstall=Yes
UnattendSwitch="yes"
OemPreinstall=Yes 可以让Windows XP的安装程序知道光盘上还有一个$OEM$发布文件夹,同时这个值也会让安装程序复制要安装的程序到安装Windows的分区上的发布文件夹中。
UnattendSwitch="yes" 可以让Windows XP的安装程序跳过“欢迎使用Windows XP”界面,那里本使设置用户帐户以及
网络选项的。如果你不跳过这个,那么整个过程就算不上是无人值守了,不是么?:-)(因为我们会在后面的 用户帐户创建 页面上添加用户并设置自动登录)。
如果你需要在文本安装过程中自己
选择一个目标分区,并选择合适的文件系统,请确保你已经在winnt.sif文件的[Data] 和[Unattended]字段添加以下值:
[Data]
AutoPartition=0
[Unattended]
FileSystem=*
如果你连这一步也想自动化,自动设置分区盘符、分区大小以及文件系统,请考虑使用Bart's PE中的diskpart命令。
将winnt.sif复制到 C:\XPCD\I386\
请察看 参考资源 页面,或阅读ref.chm文件中的相关内容以便了解怎样才可以给你的winnt.sif文件中添加其它选项,例如让安装程序不要安装Windows Messenger 4.7以及MSN Explorer 7。
让我们继续研究我们怎样让批处理文件在无人值守光盘中起作用。
转到: 第三步 - 批处理文件概览
在我们使用批处理文件安装常用程序以及注册表设置之前,你应该知道批处理文件起到什么样的作用以及它们是怎样使用的:
批处理文件(*.cmd 或者 *.bat,不过建议使用.cmd)可以在Windows XP的安装过程中多个进度下被执行。使用批处理文件可以帮助我们一次自动进行多个任务,中间可以不用被打断。
它们可以从cmdlines.txt、svcpack.inf或者注册表中的RunOnceEx项目下,或者winnt.sif文件的[GuiRunOnce]字段下被执行,阅读完本文后你将会对此有所了解。
批处理文件支持命令行命令的所有参数,如果要打开Windows XP的命令行模式,请在开始菜单中点击运行,然后输入cmd并回车。
让我们试试看用一个很小的批处理文件就完成很多事情。打开记事本,然后把下面的内容复制进去:
@echo offtitle Batch File Testingecho Hello Worldecho.echo Starting MS Paintstart mspaintecho.echo Starting Wordpadstart Wordpadecho.pauseexit
随便用一个名字保存该文件,不过注意保存的时候文件的扩展名要设置为.cmd。然后,双击这个文件。你会发现该批处理文件把窗口的名字重命名为“Batch File Testing”,同时还打开了Windows画图和记事本程序,并要你按下任意键,然后该脚本自动退出。
@echo off |
隐藏C:\>提示符以及其它显示出来的批处理命令. |
echo. |
包含一条线的间隔。 |
echo message |
在命令行窗口显示“message”,一般用作注释。 |
title |
设置窗口的标题。 |
start |
启动一个应用程序,或安装程序。 |
pause |
显示“Press any key to continue...” |
exit |
退出命令行窗口。 |
一旦你开始添加常用程序到无人值守光盘中,你将会发现本站中涉及到的大部分参数(在应用程序区域)都可以表示成下面那样:
start /wait %systemdrive%\install\some_application\setup.exe /switch /anotherswitch
start命令会启动软件的安装程序,而
/wait命令会让系统在处理批处理文件中的下一条命令之前等待前一个软件安装完成。使用
/wait命令是很
重要的,只有这样才不会让批处理文件中的所有命令一下子全部执行起来,那样将会导致同一时间运行多个软件的安装程序。
当你对批处理命令有所了解,并且想看到更多示例的时候,请访问 范例 页面。
» cmdlines.txt、svcpack.inf以及[GuiRunOnce] |
批处理文件还可以从
cmdlines.txt或
svcpack.inf中运行,这两个文件在Windows XP安装过程中的T-13/T-12分钟时使用。cmdlines.txt适用于类似 添加用户和设置自动登录 ,或者导入你的 HKEY_CURRENT_USER注册表设置 到默认配置文件中等任务。你将在各自的页面上了解到更多详细内容,而svcpack.inf更适用于安装 Pre-SP2 Hotfixe 。
从[GuiRunOnce]下运行批处理文件的示例你可以看这里: 截图
正如你可能在截图中看到的,其中应用了“ECHO.”和“ECHO message”命令的组合,虽然那样用并不是必须的,但是这样做可以让你清楚的了解整个安装过程![GuiRunOnce]字段是在第一次登录的时候运行的。
对于[GuiRunOnce],你可以把它放在$OEM$发布文件夹的任何位置。例如,如果你把batch_file.cmd放到 C:\XPCD\$OEM$\$1\install\,那么随后你就应该在[GuiRunOnce]字段中插入下列路径:
[GuiRunOnce]
%systemdrive%\install\batch_file.cmd
指定为安装文件夹的C:\XPCD\$OEM$\$1\Install\会被复制到系统分区中,因此上面命令中的路径就变成了C:\install\ ,关于这一点的详细信息可以在 $OEM$文件夹概述 一页中找到。
cmdlines.txt文件应放在\$OEM$文件夹内,且不需要额外的设置以表明它的存在。Windows XP的安装程序会自动查找cmdlines.txt文件,而所有由cmdlines.txt启动的批处理文件都应该放在同一个文件夹中。
svcpack.inf应该放在 C:\XPCD\I386\ 文件夹下(并请确保svcpack.in_文件被删除)。任何由svcpack.inf启动的批处理文件都应该保存在 C:\XPCD\I386\svcpack\ 文件夹下,否则就必须要在svcpack.inf中指定。详细信息请参考 安装Pre-SP3 Hotfixes 。
到这里,你已经了解了很多内容。概括说来,我们把Windows XP SP2光盘上的文件复制到了
硬盘上,准备好了$OEM$文件夹,为Windows XP的安装程序创建了一个winnt.sif应答文件,而且大致了解了一下批处理命令。接下来你将可以:
虽然你想要创建你的光盘,不过请首先学习: 应用程序 、 驱动程序 、 Pre-SP3 Hotfixe 、 注册表调整 、 Office XP ,还有其它一些 设置 。当你搞定后,请转到: 结束你的光盘 。