Вы находитесь на странице: 1из 23

准备开始

需要准备的材料:

• 集成了 SP1 的 Windows XP CD


• XP SP1 Deployment Tools
• WinISO (可选)
• 光盘刻录工具

在 C 盘的根目录创建一个叫做 XPCD 的文件夹(C:\XPCD),然后复制集成了 SP1 的


Windows XP 安装光盘上的所有文件到 C:\XPCD

如果你只是想全自动的进行 Windows XP 的无人值守安装,你就不需要再你的 XPCD


文件夹下创建任何子文件夹了。如果你想要在安装操作系统的同时安装一些额外的程序,例
如驱动程序、常用的应用程序、Hotfixes 等,那你就需要在 XPCD 文件夹下创建如下的子
文件夹:

C:\XPCD\$OEM$\$1\install\
C:\XPCD\$OEM$\$1\drivers\

唯一一个你可以改名的文件夹只有“install”和“drivers”,你可以把它们改名为“Extras”、
“MyStuff”或者其他什么你喜欢的名字(最好不要使用中文)。本文则会假设你就使用“install”
和“drivers”,所以确保你使用的名称跟你在批处理文件中的名称是统一的。

下一步就是要创建一个 winnt.sif 文件了,这个文件将在安装系统的过程中提供所有预


先输入好的应答信息。

创建 Winnt.sif 应答文件

下载 XP SP1 Deployment Tools ,然后解压缩到一个文件夹,或者双击 cab 文件,提取出


setupmgr.exe 和 ref.chm 这两个文件。

Setup Manager(setupmgr.exe)是一个向导模式的用来创建 winnt.sif 应答文件的工具,


使用这个工具创建的应答文件基本上就不会出现什么错误了。创建过程中注意使用以下的选
项:

新建或修改现有应答文件:新建
安装类型:Windows 无人值守安装
Windows 平台:Windows XP Home 或者 Professional
交互等级:全部自动
分发文件夹:从 CD 安装

另外,你还要同意授权协议,然后按照你的实际情况填写安装过程中需要的其他信息。
如果有什么选项的含义你不是很明白,那也可以忽略它,对于这些忽略的或者没有填写的选
项,Windows XP 将会使用默认设置来进行安装。

当你完成后,程序会自动创建一个名为 unattend.txt 的文件。如果你要从 CD 上安装系


统,那你就要把这个文件改名为 winnt.sif(请确定你没有改名为 winnt.sif.txt)。

如果你不打算安装额外的程序,而只是进行无人值守安装,那就可以直接参考结束工作。

重要

如果你还要安装额外的程序,那还需要在 winnt.sif 文件的[Unattended]字段添加如下命


令:

[Unattended]
OemPreinstall=Yes
UnattendSwitch="no"

你也可以查看参考资料和资源获得批处理文件的范例。

批处理文件和命令的使用

在我们使用批处理文件安装额外的程序之前,你应该知道批处理文件起到什么样的作用
以及它们是怎样使用的。

批处理文件(*.cmd 或者 *.bat)是从 winnt.sif 文件的 [GuiRunOnce]字段下被执


行的,这发生在安装程序安装好操作系统并使用管理员帐户登录系统后。在这一过程中我们
可以安装 Hotfix 补丁程序、应用程序、破解过的 uxtheme.dll、删除不想要的墙纸和屏幕保
护等。在批处理文件执行完毕后,Windows 的外壳(Shell)就会被加载。

在本文的每一页中,每个应用的批处理命令都会被当作一个完整的批处理文件对待,都
有自己的开头和结尾(应用程序和 DirectX 的批处理文件除外)。你可以选择使用多个单独
的批处理文件,但也可以把它们全部综合在一起。

在批处理文件的开头通常会使用 CLS 命令清理屏幕,随后会用@echo off 来隐藏我


们熟悉的 C:\> 命令行。 ECHO. 命令则会显示一行空白。举例来说 ECHO example
message 命令会在屏幕上显示“example message” 。

start /wait %systemdrive%\$OEM\$1\path\to\setup.exe /switches


start 会运行程序,而 wait 命令会使得安装程序一直等待,直到批处理文件中的前一
条命令完全执行完毕。使用 wait 命令是很重要的,这样在批处理文件中的命令就不会同时
被执行,也就尽量避免了产生冲突的可能。
要结束批处理文件,可以使用 EXIT 命令。建议你在进行测试的时候在使用 Exit 命令
前先使用 PAUSE 命令。使用 PAUSE 命令会使得批处理文件运行完毕后要求你按任意键继
续,这样你就有足够的时间阅读安装过程中出现错误的程序显示的错误内容(如果有的话)
了。

如果你已经对批处理文件有所了解,并且想看到更多的示例,你可以察看后面的资源页。

批处理文件运行的截图: Screenshot

正如你在截图中所看到的,这里同时使用了"ECHO." 命令和 "ECHO message"命令。


这不是必须的,但是这使得你可以明白批处理文件实际上是怎样工作的。

无人值守安装 DirectX 9.0b

下载: DirectX 9.0b Redistributable

执行 dx90b_redist.exe,同意 EULA,然后选择把文件解压缩到这个文件夹:
C:\XPCD\$OEM$\$1\install\Directx9b\
为了节省空间你也可以删除 BDA,BDANT 和 DirectX 这三个文件,总共可以节约
16MB 左右。这个方法在 Windows XP SP1 下测试完全可行。整个文件夹现在应该是这样
的:

为了让你同意 EULA(事实上在解压缩安装文件的时候我们就同意过了),微软禁止了
DirectX 的无人值守全自动安装方式,因此我们要改动一下安装文件,以便可以无人值守安
装。如果你想要自己修改,按么找一个二进制编辑软件,打开 dxsetup.exe 文件,搜索 0x33e2
然后把这一行的 74 改成 EB。

如果你不想自己修改,也可以在这里下载修改过的 Dxsetup.zip (for DirectX 9.0b)

解压缩这个文件,然后复制其中的内容到之前保存 DirectX9 安装文件的文件夹,并覆


盖原来的 dxsetup.exe 文件。

在你的批处理文件中添加如下命令:
ECHO.
ECHO Installing DirectX 9.0b
ECHO Please wait...
start /wait %systemdrive%\install\DirectX9b\dxsetup.exe /opk

如果你想要看到安装的过程,你也可以用 /windowsupdate 命令代替 /opk 命令。

点击放大

如果基于某些原因你需要修改过的针对 DirectX9.0a 的 dxsetup.exe 文件,你可以从这


里下载。

应用程序的全自动安装

在本段中,我们会教你怎样在无人干预的情况下全自动安装常用的应用程序。所涉及到
的程序都在左侧的列表中。

每一页中都会向你展示你需要用到的批处理命令。而你也可以把它们添加到你自己的批
处理文件中,或者如果你分别为应用程序和补丁程序设置了不同的批处理文件,你就可以把
这些命令添加到单独的一个 applications.cmd 批处理文件中。同时,你可以在资源部份看看
我是怎样做的。

最后别忘了把批处理文件的路径添加到 winnt.sif 文件的[GuiRunOnce] 字段!

尚未添加的应用程序

Winamp
Messenger Plus!

没有添加这些程序是因为,在全自动安装这些程序完成后,这些程序会试图自动运行或
者要求你回答一些问题。

全自动安装 Pre-SP2 Hotfixes

在写这篇文章的时候,在 Windows Update 网站上可用的 Windows XP 关键更新大概


有 35MB 左右,没人喜欢下载它们,尤其是当你使用一个 56K 的小猫上网时。在安装好操
作系统并开始使用前,你还要上网更新大量补丁,甚至还要下载并安装不少应用软件,而在
使用前你可能想对你的系统做一个完整的备份,这实在是一件麻烦的事。幸好我们可以自动
安装程序,我们可以把这 35MB 的补丁程序放在 Windows XP 的安装光盘中,并且在安装
操作系统的同时装好它们。本段分为两部分:获得 Hotfixes 和安装 Hotfixes。
在安装 Hotfixes 的页面你将会看到需要使用的批处理命令,你需要把这些命令添加到
你的批处理文件中,或者添加到专门的 hotfixes.cmd 如果你根据用途的不同而使用了多个
批处理文件。你可以在资源页面看到我是怎样创建我自己的 hotfixes.cmd 的。

别忘了在 winnt.sif 文件的[GuiRunOnce]字段下添加上你的批处理文件的路径!

获得 Hotfixes

你可能想知道怎样找到你的系统所需要的 hotfixes 补丁,有两种方法:

方法 1:

是用一台只安装了 SP1 的 Windows XP 电脑(不要安装其他补丁程序),然后访问


WindowsUpdate 网站。注意显示出来的每个补丁程序前的六位数的编号,例如“329441:
Security Update for Microsoft Windows”,在你记下所有补丁程序的编号后,把这些编号添
加到这个 URL 的后面:http://support.microsoft.com/?kbid=xxxxxx ,用编号代替上面的
xxxxxx 。然后通过相应的知识库文章中提出的链接下载每个补丁程序。重复进行,直到所
有可用的补丁程序都下载回来了。

方法 2:

不需要访问 WindowsUpdate 网站,我们可以使用免费得软件:HFNetChk 。正如网页


上的说明:“HFNetChk.exe 是一个多线程的命令行工具,你可以用它连接多台计算机,并
查看补丁程序的安装轻卡 ung。”。

安装 HFNetChk 然后打开命令提示符(开始 >运行 >CMD),进入到安装 HFNetChk


的目录(通常是:C:\Program Files\Shavlik Technologies\HFNetChk\),然后输入:hfnetchk
-v

记下每个补丁程序的知识库文章编号,然后按照方法一中的说明来分别查询它们;或者
使用 Technet 安全公告编号(MSxx-xxx),然后使用这个 URL:
http://www.microsoft.com/technet/security/bulletin/MSxx-xxx.asp,把 xx-xxx 用 HFNetChk
中显示的编号代替。

这是一个冗长的过程,然是最终来说还是值得的!以后维护新的 Hotfix 补丁程序就容


易得多了,因为以后每周三(那是微软的补丁日)只会发布一到两个新的补丁程序。当 SP2
正式发布后,你就可以丢掉这些,然后开始收集 Pre-SP3 hotfixe 补丁程序了... 但那也是很
久以后的事情了!

安装 Hotfixes

把所有的补丁程序都保存在这个文件夹中:C:\XPCD\$OEM$\$1\install\Hotfixes\

打开记事本,复制并粘贴如下的命令(这只是一个范例,如果这里的文件路径跟你的实
际情况不同,请做适当的修改):
CLS
@echo off
ECHO.
ECHO Installing Q815021...
start /wait %systemdrive%\install\Hotfixes\Q815021_WXP_SP2_x86_ENU.exe /Q /M /Z
ECHO.
ECHO Installing Q811493...
start /wait %systemdrive%\install\Hotfixes\Q811493_WXP_SP2_x86_ENU.exe /Q /M /Z
ECHO.
ECHO Installing Q819639...
start /wait %systemdrive%\install\Hotfixes\WindowsMedia9-KB819639-x86-ENU.exe /Q:A /R:N
ECHO.
ECHO Installing Q817606...
start /wait %systemdrive%\install\Hotfixes\Q817606_WXP_SP2_x86_ENU.exe /Q /M /Z
ECHO.
EXIT

像这样的文件应
该使用这个参数 像这样的文件要使用这个参数来安装:
来安装: /Q:A /R:N
/Q /M /Z

接着把文件保存为 hotfixes.cmd,或者添加到你已有的批处理文件中。然后这些补丁
程序就会一个接一个地全自动安装好了,这过程中并不需要用户的参与。

你同样可以使用这个方法安装 IE6 和 OE6 的累积性补,还有 JScript 5.6 升级。如果你


遇到了一些职能通过 WindowsUpdate 下载的补丁程序,你也可以试试通过 Corporate
WindowsUpdate 网站下载它们。

无人值守安装 Windows 驱动程序

如果你每次装好系统后都要升级大量的驱动程序,那么本段就向你演示了怎样在安装
Windows 的同时升级设备的驱动程序,而不是仅安装光盘上 drivers.cab 文件中保存的过时
驱动程序。这并不像你想象的那么难!

打开 winnt.sif 然后在[Unattended] 字段下添加以下两行内容(驱动程序的路径和名称


只是一个范例,你可以根据你的实际情况更改):
DriverSigningPolicy=Ignore
OemPnPDriversPath="Drivers\Catalyst3_6\2KXP_INF;Drivers\Catalyst3_6\tv_out\WDM_XP"

说明:

OemPnPDriversPath="Drivers\Catalyst3_6\2KXP_INF;Drivers\Catalyst3_6\tv_out\WDM_
XP"
在这一行中你可以告诉安装程序在哪里查找比光盘中自带的驱动版本更新的驱动程序
目录,如果找到了更新的驱动这些驱动就会被用来替代操作系统自带的那些。我们可以用半
角冒号来分隔不同的目录。

DriverSigningPolicy=Ignore
这一行可以使得安装程序强制安装没有经过微软数字签名认证(WHQL)的驱动,通常
这个命令都是跟 OemPnPDriversPath 一起使用的。

驱动程序是怎样安装的 (以 ATI Catalyst 为例)

如果你没有 ATI 的镭显卡也不用担心,通过本段你就可以了解怎样安装其他设备的驱


动程序了。

1. 下载最新的 ATI Catalyst 驱动程序

2. 从 .exe 文件中解压缩所有文件到一个文件夹,例如:
C:\XPCD\$OEM$\$1\Drivers\Catalyst3_6\

3.找到 *.inf 文件,它们应当在当前文件夹或者其子文件夹中,ATI Catalyst 3.6 驱动


的.inf 文件在这个子文件夹中: C:\XPCD\$OEM$\$1\Drivers\Catalyst3_6\2KXP_INF

正如你在上面的截图中所看到的(点击放大),inf 文件保存在 2KXP_INF 文件夹中。

4. winnt.sif 应该是这样的(用红色边框标记出的部分):
你可以看到,在批处理文件中指向的路径是 inf 文件所在的文件夹,we 不是 inf 文件本
身。保存 winnt.sif 文件,这样你就完成了。对于其他类型的设备,你同样可以按照上面的
方法来自动安装驱动程序。

不过在安装 SB Live!声卡的驱动时就没有这么幸运了,似乎该声卡的驱动程序只能通过
exe 文件安装而不是 inf 文件(然而直接通过运行安装程序也许同样可以全自动无人值守安
装好该声卡的驱动,只不过我还没有尝试过)。

全自动破解 UXTheme.dll 文件

如果我们在系统安装的时候就破解好 UXTheme.dll 文件,那就不用以后重启动到命令


行安全模式下,然后再字符界面中更换文件了。一起来看看吧!

下载: UXTheme_xpsp1.zip

解压缩 UXTheme.dll 到 C:\XPCD\$OEM$\$1\install\uxtheme\

然后在批处理文件中添加如下命令:

ECHO.
ECHO Copying patched UXTheme.dll...
REN %systemroot%\System32\dllcache\uxtheme.dll uxtheme.old
COPY "%systemdrive%\Install\uxtheme\uxtheme.dll" "%systemroot%\System32\dllcache\"
REN %systemroot%\System32\uxtheme.dll uxtheme.old
COPY "%systemdrive%\Install\uxtheme\uxtheme.dll" "%systemroot%\System32\"
点击放大

你也可以用这个方法更换很多系统文件,例如 msgina.dll 和 shell32.dll。

自动调整注册表设置

在本页中,我们会教你怎样把最常用的注册表调整方法组合到一个.reg 文件中然后统一
执行。这样在启动过程中你就可以禁止漫游 windows XP 的运行,或者禁用语言栏。

如果准备这样做,把下列命令粘贴到你的批处理文件中:

ECHO.
ECHO Applying Registry Tweaks...
REGEDIT /S %systemdrive%\install\RegTweaks.reg

接下来,打开记事本,新建一个名为 RegTweaks.reg 的文件并保存到


C:\XPCD\$OEM$\$1\install\

确认你保存的不是 RegTweaks.reg.txt (这是一个最常见的错误)

下面,你可以看看我最喜欢的注册表调整。但是那些还不是全部,建议你访问 Kelly's XP
Corner,那里有更多好用的注册表调整方法。建议你直接把下面的内容复制出来然后粘贴到
你自己的 RegTweaks.reg 文件中去,这样你就可以清楚地看到具体由哪些命令,他们都起
到什么作用 (注意:以下的文件中关于自动登录的内容需要你按照自己的实际情况添加你
的用户名和密码)。

Windows Registry Editor Version 5.00


;现在将给“我的电脑”的右键菜单中添加“服务”命令
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\services]
@=hex(2):53,00,65,00,72,00,76,00,69,00,63,00,65,00,73,00,00,00
"SuppressionPolicy"=dword:4000003c
[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\services\command]
@=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,73,00,79,00,73,
00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,00,6d,00,63,00,2e,00,65,00,78,00,
65,00,20,00,2f,00,73,00,20,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,
00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,
32,00,5c,00,73,00,65,00,72,00,76,00,69,00,63,00,65,00,73,00,2e,00,6d,00,73, 00,63,00,20,00,2f,00,73,00,00,00
;现在将给文件夹的右键菜单中添加“在这里打开命令行窗口”的命令
[HKEY_CLASSES_ROOT\Directory\shell\cmd]
@="在这里打开命令行窗口"
[HKEY_CLASSES_ROOT\Directory\shell\cmd\command]
@="cmd.exe /k \"cd %L\""
;禁用 Windows 图片和传真查看器
[-HKEY_CLASSES_ROOT\SystemFileAssociations\image\ShellEx\ContextMenuHandlers\ShellImagePreview]
;在 BSOD 事件中禁用自动重启动
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]
"AutoReboot"=dword:00000000
;禁用桌面清理向导
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\CleanupWiz]
"NoRun"=dword:00000001
;禁用错误报告但在发生严重错误时通知我
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PCHealth\ErrorReporting]
"DoReport"=dword:00000000
;禁用 IMAPi 光盘刻录服务
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ImapiService]
"Start"=dword:00000004
;禁用 Messenger 服务(是为了过滤垃圾信息,不会影响到 MSN Messenger 或者 Windows Messenger 软件)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Messenger]
"Start"=dword:00000004
;禁用 Remote Registry 服务
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteRegistry]
"Start"=dword:00000004
;禁用 Windows Time 服务
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time]
"Start"=dword:00000004
;禁用欢迎屏幕并使用传统登录窗口
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"LogonType"=dword:00000000
;为 Internet Explorer 添加搜索引擎(以 Microsoft Knowledge Base, Altavista, Google, MSN, FileMirrors 为序)
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl\MSKB]
@="http://support.microsoft.com/?kbid=%s"
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl\AV]
@="http://www.altavista.com/sites/search/web?q=%s"
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl\GGL]
@="http://www.google.com/search?q=%s"
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl\MSN]
@="http://search.msn.com/results.asp?q=%s"
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl\FM]
@="http://www.filemirrors.com/search.src?file=%s"
;Prevents Internet Explorer windows from being reused
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"AllowWindowReuse"=dword:00000000
;移除语言栏
[-HKEY_CLASSES_ROOT\CLSID\{540D8A8B-1C3F-4E32-8132-530F6A502090}]
@="Language bar"
"MenuTextPUI"="@%SystemRoot%\\System32\\msutb.dll,-325"
;把 Internet Explorer 可同时下载的文件数目增大到 10(默认是 2)
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MaxConnectionsPer1_0Server"=dword:0000000a
"MaxConnectionsPerServer"=dword:0000000a
;改变菜单显示延迟(加快开始菜单的显示速度)
[HKEY_CURRENT_USER\Control Panel\Desktop]
"MenuShowDelay"="2"
;从我的电脑中删除共享文档文件夹
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSp
ace\DelegateFolders\{59031a47-3f72-44a7-89c5-5595fe6b30ee}]
;删除快捷方式的箭头
[HKEY_CLASSES_ROOT\lnkfile]
"IsShortcut"=-
;允许为回收站重命名
HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\ShellFolder]
"Attributes"=hex:50,01,00,20
"CallForAttributes"=dword:00000000
;禁用漫游 Windows XP 窗口
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Tour]
"RunCount"=dword:00000000
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Applets\Tour]
"RunCount"=dword:00000000
;设置自动登录选项。
;用你想要设置自动登录的用户名替换 InsertName 值
;用你前面输入的用户帐户的密码替换 InsertPassword 值
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DefaultUserName"="InsertName"
"DefaultPassword"="InsertPassword"
"AutoAdminLogon"="1"
;NoLowDiskSpaceChecks 会禁用磁盘剩余空间低的警告
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoLowDiskSpaceChecks"=dword:00000001
;NoRecentDocsmenu 会删除开始菜单中的最近打开的文档菜单
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoRecentDocsMenu"=dword:00000001

完成后别忘了保存 RegTweaks.reg 文件。

结束工作

对于不安装额外程序(只是用了一个无人值守安装的 winnt.sif 文件)的人,你们要做


的就是复制 winnt.sif 文件到 C:\XPCD\i386\ 目录下,然后把批处理文件复制到
C:\XPCD\$OEM$\$1\install\ (并且在 winnt.sif 文件的[GuiRunOnce]字段下添加批处理文
件的路径),然后把 C:\XPCD\目录下的内容都复制到一张光盘上。这样安装文件就可以根
据预先创建的应答文件进行一个全自动的无人值守安装了。

对于还要安装额外程序的人,首先要确保 Winnt.sif 文件在 C:\XPCD\i386\文件夹中,


并且批处理文件在 C:\XPCD\$OEM$\$1\install\ 中(并且在 winnt.sif 文件的[GuiRunOnce]
字段下添加批处理文件的路径),然后确保$OEM$ 文件夹跟 i386 文件夹是并列的,而不
是在 i386 文件夹中。

例如:
C:\XPCD\i386\
C:\XPCD\$OEM$\

而不是:
C:\XPCD\i386\$OEM$\

把 C:\XPCD\ 目录下的所有文件都刻录到光盘上,别忘了根据这两篇文章的方法使该
光盘可以引导系统:
The Elder Geek | Windows Help.net

如果你对 WinISO 软件比较熟悉,为了节省时间你也许可以使用这个方法:下载这个空


白的可引导的 XP ISO 文件,在 WinISO 中打开它,然后把 C:\XPCD\目录下的内容拖动到
WinISO 界面上,然后保存 ISO。这样的 ISO 文件就可以在常见的刻录软件中以光盘镜像的
形式刻录了。而你也可以在 Virtual PC / VMWare 等虚拟机软件中载入 ISO 文件做测试。

如果你喜欢在字符界面下安装时手工制定一个分区来安装并选择袭击想要的文件系统,
请确保你的 winnt.sif 文件的[Data]和[Unattended]字段下有如下的参数:

[Data]
AutoPartition=0

[Unattended]
Repartition=No

然后,当安装程序询问你选择哪块硬盘/分区安装时,请删除当前分区并重
新创建,这样你就可以选择该分区是用的文件系统了。如果你没有这样做,安装
程序就会直接开始安装系统,并且直接使用当前该分区是用的文件系统。
无人值守安装 Winnt.sif 文件命令解释

[Data]

AutoPartition=1 or 0
如果你在这里设置为 1,Windows 的安装程序就会在任意一个有足够可用空间的硬盘分区上安装操作
系统。如果你删除这一行或者把值设置为 0,则安装程序会在安装过程中讯问你要把操作系统安装到哪个
硬盘分区,并且如果该分区已经包含了一个操作系统,安装程序也会给你合理建议。

MsDosInitiated = "0" or "1"


如果你在这里设置为 0,则会通知安装程序,你是从光盘上安装操作系统的,如果你准备用软盘引导
系统并从硬盘上安装,则在这里设置为 1。

UnattendedInstall = "Yes"
如果这里设置为 Yes,则安装程序会进行一次无人值守安装。

[Unattended]

UnattendMode=FullUnattended
在这里设置为FullUnattended 将会进行一次完全自动的无人值守安装,在安装过程中遇到的所有问题
都将由在winnt.sif文件中预设的答案来回答,在安装过程中你将不能改变任何预设值。其他值得含义你可以
在Winnt.sif 部份所提供的Ref.chm 文件中找到。

OemSkipEula=Yes or No
在这里设置为 Yes 将会跳过 EULA 屏幕,因为你已经在创建应答文件的时候读过用户许可协议了。
在这里设置为 No 则意味着你需要在安装过程中按 F8 键同意许可协议。

OemPreinstall=No or Yes
这个选项默认设置为 No,但是如果你还想在安装系统的过程中从$OEM$/$1 文件夹下安装额外的程
序,你就应该把它设置为 Yes,这样安装程序就会知道这次的安装会发布其他程序,而预先把相应的安装
文件复制到系统盘中。

TargetPath=\WINDOWS
这个选项告诉了安装程序要把 Windows 安装到哪个目录中。

Repartition=No
这个选项可以选择是否自动删除目标计算机上的所有分区并用 NTFS 文件系统格式化硬盘。

UnattendSwitch="no"
这个选项可以用来选择是否在用光盘引导系统进行安装后跳过欢迎屏幕。

重要:

如果你在这里选择了 Yes,那么后面对于注册表 HKEY_CURRENT_USER 部分的调整以及 Powertoys


中的一些设置九只能应用到默认的 Administrator 帐户上了。而你后来新建的用户帐户就无法应用这相应的
设置。所以在这里要选择 No,这样安装结束后你可以看到 Windows 欢迎(就是让你输入用户名以及询问
是否注册的页面,只在装好操作系统第一次运行的时候出现 ),在欢迎屏幕上你可以是如一个新的用户名,
接着就会登陆。而批处理文件这时候才会被执行,相应的注册表调整就可以应用到你的帐户上了。

WaitForReboot="No"
这个选项用来决定计算机是否在图形界面的安装进行完毕后等待 15 秒。设置为No则可
以禁止等待。

OemPnPDriversPath="Drivers\Catalyst3_6\2KXP_INF;Drivers\asus\sound\"
在这一行你可以告诉安装文件到哪里搜索比操作系统自带的驱动程序更新的版本。如果
安装程序能找到一个更好的版本,则会自动安装。你可以在驱动程序页面看到更详细的解释。

DriverSigningPolicy=Ignore
这个选项可以强制安装程序安装没有经过 WHQL 认证的驱动程序。这个选项要和
OemPnPDriversPath 选项联合使用。

AutoActivate = Yes
这个选项可以自动激活你的 Windows XP。如果你想要自动激活 Windows,你首先必
须设置一个 Internet 连接,而且也要确保你的产品序列号已经写在[UserData]字段下。

[GuiUnattended]

AdminPassword = (你的密码) 或者 *
这个选项可以让你为 inde Windows XP 中的 Administrator 帐户设置密码。如果你在这
里输入* 则意味着没有设置任何密码。means no password will be set.(在设置密码的时候
记得把括号删掉)。

EncryptedAdminPassword=Yes 或者 No
这个选项用来告诉安装文件你的密码是否被加密,Yes 表示密码被加密了,而 No 表示
密码为被加密。如果你没有为 Administrator 帐户设置密码,那么这个选项应该被设置为 No。
如果你选择了 Yes,Setup Manager 就会把密码加密保存在 winnt.sif 文件中。

OEMSkipRegional=0 或者 1
这个选项设置为 0 会显示区域设置屏幕,而设置为 1 就可以跳过这个屏幕。

TimeZone=85
这个选项告诉安装程序时区的设置,例如 GMT 标准时间的值是 85,每个不同的时区
都由相应的数值表示,一个完整的时区和数值对照表可以在部署工具的 ref.chm 文件中看
到。

OemSkipWelcome=0 或者 1
如果上面的 OemPreinstall 选项你设置为 No,那么这个选项你就要设置为 0;而如果
OemPreinstall 选项设置为 Yes,则这个选项就要设置为 1。如果设置为 0,安装程序就会
知道你不想在图形界面的安装过程中显示欢迎屏幕。

[Display]
BitsPerPel=32
这个选项指定了屏幕的色彩位数。可用的值有:32,24,16,还有 8(也就是 256 色)。

Xresolution=1024
这个选项指定了屏幕的默认横向分辨率。

Yresolution=768
这个选项指定了屏幕的默认纵向分辨率。

Vrefresh=85
这个选项设置了屏幕的刷新率。请确保这个设置没有超出你的显示器的可用范围,否则
很有可能损坏显示器。

[UserData]

ProductKey=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
这个选项告诉了安装程序在安装过程中使用的序列号

FullName="Insert Name"
这个选项用来指定你的名字,这将会显示在系统属性的”注册给“下。

OrgName="Insert Organisation Name"


这个选项可以用来设置你的组织名称,这个也会显示在系统属性的“注册给”下。

ComputerName=Insert Name
在这个选项中你可以指定计算机的名称,这个名称会用在系统和网络中,而且该名称也
会在系统属性的计算机名选项卡下

[TapiLocation]

CountryCode=44
这个选项用来设置国家代码,例如英国就是 44。对于其他国家的代码请参考部署工具
中的 ref.chm 文件。

Dialing=Tone
这个选项用来指定你的电话线路类型,可用的值是 Tone 和 Pulse。

[RegionalSettings]

LanguageGroup=1
这个选项用以指定安装的语言组类型,详细信息请参考部署工具中的 ref.chm 文件。

Language=00000809
这个选项用以指定安装的语言类型,详细信息请参考部署工具中的 ref.chm 文件。

[Identification]
JoinWorkgroup=WORKGROUP
这个选项用以指定将要加入的工作组。如果你没有使用网络,就可以把这个选项保持默
认设置。

[Networking]

InstallDefaultComponents=Yes or No
这个选项用以告诉安装程序你是否安装默认的网络组件。如果你设置了 Yes 那么默认
的网络组件就会被安装;如果你设置了 No 就可以自定义要安装的协议、服务还有客户端。
配置该选项的最佳方法是通过 Setup Manager(setupmgr.exe)。

[Components]

msmsgs=off
这个选项可以让安装程序不安装 Windows Messenger 4.6

msnexplr=off
这个选项可以让安装程序不安装 MSN Explorer 7.

freecell=off
这个选项可以让安装程序不安装 空当接龙游戏。

hearts=off
这个选项可以让安装程序不安装 红心大战游戏。

minesweeper=off
这个选项可以让安装程序不安装 扫雷游戏。

pinball=off
这个选项可以让安装程序不安装 三维弹球游戏。

solitaire=off
这个选项可以让安装程序不安装 纸牌游戏。

spider=off
这个选项可以让安装程序不安装 蜘蛛纸牌游戏。

zonegames=off
这个选项可以让安装程序不安装 MSN Zone 在线游戏。

[Shell]

CustomDefaultThemeFile = "%WinDir%\Resources\Themes\MyTheme.theme"
这个选项用以指定默认情况下 Windows 使用的主题,所指定的可以是系统自带的其他
主题,或者是第三方的主题。通过指定这个选项,Windows XP 在你第一次登陆的时候就可
以使用你喜欢的主题了。
DefaultStartPanelOff = Yes
这个选项告诉安装程序 Windows XP 将会使用经典开始菜单,并且像其他程序一样在
桌面上显示我的电脑、我的文档的图标。如果这个选项设置为 No,安装程序就会使用默认
的 Windows XP 开始菜单。

DefaultThemesOff = Yes
这个选项用以告诉安装程序使用Windwos 经典主题。注意:如果你把
CustomDefaultThemeFile设置为Yes,那么这个选项将会覆盖CustomDefaultThemeFile 选
项。

[GuiRunOnce]

%systemdrive%\install\main_batch.cmd
%systemdrive%\install\hotfixes.cmd
%systemdrive%\install\applications.cmd

GuiRunOnce 字段是用来指定批处理文件位置的,在这里指定的批处理文件会在安装
程序运行完毕并登录系统后运行。当管理员帐户(或者你自己的账户)登录系统后载入
Windows 外壳之前就会自动执行这里的批处理文件,而这些批处理文件的详细内容你可以
在左侧导航栏的“无人值守安装”下看到。

至于更详细的内容,你可以查看部署工具中的 ref.chm 文件。

下载

下载: DelUser

你可以用这个软件来删除由.NET Framework 1.1 创建的 ASP .Net 帐号,对于家庭用


户而言这个账户没有太大用处。

解压缩,然后复制 Deluser.exe 到 C:\XPCD\$OEM$\$1\install\Tools\

在批处理文件中添加如下命令:

ECHO.
ECHO Copying deluser utility...
COPY "%systemdrive%\Install\Tools\deluser.exe" "%systemroot%\"
ECHO.
ECHO Deleting ASP.NET User Account created by .NET Framework 1.1...
start /wait DELUSER /Q aspnet

记住,这个命令只能在安装了.NET Framework 1.1之后 使用

下载: SysInternals PsShutdown Utility


这个工具可以在批处理文件执行完成之后重启动系统,如果你不愿自己重启动的话这个
程序就很有用了。但是记得在重启动之前要留有一定的等待时间,因为批处理文件执行完成
后系统需要一定时间来更新快捷方式和其他一些文件。

解压缩,然后复制 psshutdown.exe 到 C:\XPCD\$OEM$\$1\install\Tools\

在批处理文件中添加如下命令:

ECHO.
ECHO Copying PsShutdown utility...
COPY "%systemdrive%\Install\Tools\psshutdown.exe" "%systemroot%\"
ECHO.

然后加入如下的命令(只能把它们加入到批处理文件的最末尾,如果你使用了多个批处
理文件则加入到最后一个批处理文件的最末尾):

ECHO.
ECHO Restarting the PC in 1 minute...
psshutdown.exe -r -t 60 -f -m "Windows XP will now restart in 1 minute, this will give
enough time for the shortcuts to update and for the shell to fully load before its ready to
restart!"

你可以自定义在 " "之间的提示信息,并且可以把默认的等待 60 秒换成任意需要的时


间。在一个 800MHz 主频 CPU 的电脑(也就是我用来做测试的电脑)中,30-45 秒的等待
时间就足够了,但安全起见你可以设置稍长一些的等待时间。

注意: 为了使PsShutdown能够起作用,你必须安装有一块网卡,并且网卡的驱动程序
要能正常安装。如果你无法在安装操作系统的时候给网卡安装驱动,那么你就比较倒霉了,
抱歉!

下载: SysInternals PSKill Utility

PSKill 是用来在批处理文件执行过程中杀死进程的程序。以 ISO Buster 软件的安装举


例来说,当安装完成后这个程序就会自动运行。

解压缩,然后复制 pskill.exe 到 C:\XPCD\$OEM$\$1\install\Tools\

在批处理文件中添加如下命令:

ECHO.
ECHO Copying PSKill utility...
COPY "%systemdrive%\Install\Tools\pskill.exe" "%systemroot%\"
ECHO.

PSKill.exe 程序在批处理文件中是这样使用的:
PSKill nameofprocess

(例如. PSKill ISOBuster)


Windows XP SP2 无人值守安装

» Windows XP SP2 无人值守安装的第一个障碍

如果你刚开始测试 Windows XP SP2 的无人值守安装,你可能已经注意到安装过程在帮助保


你你的 PC 页面上停止了,这是 SP2 中的一个新功能,可以让最终用户启用自动更新功能。
下面是跳过这个页面的方法:

在你的winnt.sif文件[Data]字段下添加:AutomaticUpdates=yes

关于该内容的详细信息可以在 ref.chm 文件的 Unattended.txt > [Data] > AutomaticUpdates 路


径下找到。

» 禁用 Windows 防火墙

我们可以通过 winnt.sif 禁用 Windows 防火墙,在 winnt.sif 文件的任何位置添加如下内容:

[WindowsFirewall]
Profiles = WindowsFirewall.TurnOffFirewall

[WindowsFirewall.TurnOffFirewall]
Mode = 0

如果你希望打开 Windows 防火墙,但是想要预设其中的一些设置,请在 ref.chm 文件的 Unattended.txt


> [WindowsFirewall]路径下查看详细内容。因为内容太多,因此这里不过多讨论。

» Internet Explorer 弹出窗口过滤器设置

在 Windows XP SP2 中,IE 新增了一个弹出窗口过滤功能,该功能允许你设置过滤等级以及添加白名单。


下面是个例子,你可以在 winnt.sif 中添加内容对弹出窗口过滤器的选项进行设置:

[IEPopupBlocker]
AllowedSites=www.msfn.org;www.microsoft.com;www.amazon.com
BlockPopups=Yes
FilterLevel=Medium
ShowInformationBar=Yes

你可以在AllowedSites下添加任何数量的网站地址,它们之间可以用半角分号隔开。

BlockPopups可以被设置为Yes或No,默认情况下该功能是被启用的。

FilterLevel可以设置三个选项:High、Medium以及Low:
• High - 过滤所有弹出窗口
• Medium - 过滤大部分自动弹出的窗口(默认设置)
• Low -允许来自安全站点的弹出窗口

ShowInformationBar可以设置为Yes或No。如果一个弹出窗口被过滤,或ActiveX控件的安装企图
被阻止,在IE的地址栏下就会显示信息栏。该功能默认是启用的。

» Windows 安全中心

我们可以通过一系列注册表调整禁用安全中心的功能,或者通过停止相关服务的方法将其禁
止。

以下注册表设置禁用了系统提示区中的气球提醒,Windows 防火墙被关闭的提醒,没有安装
杀毒软件的提醒,或者自动更新被禁用的提醒:

Windows Registry Editor Version 5.00

;禁用杀毒软件提醒
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]
"AntiVirusDisableNotify"=dword:00000001

;禁用防火墙提醒
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]
"FirewallDisableNotify"=dword:00000001

;禁用自动更新提醒
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]
"UpdatesDisableNotify"=dword:00000001

以下注册表设置忽略了系统对杀毒软件和防火墙的监控设置,如果你用的第三方杀毒软件以
及网络防火墙无法被安全中心识别,则该功能就显得很有用:

Windows Registry Editor Version 5.00

;忽略杀毒软件
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]
"AntiVirusOverride"=dword:00000001

;忽略 Windows 防火墙


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]
"FirewallOverride"=dword:00000001

或者,你可以直接禁用 Windows 安全中心以及相关服务:


Windows Registry Editor Version 5.00

;禁用安全中心
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wscsvc]
"Start"=dword:00000004

Вам также может понравиться