无人值守的 Windows 安装程序
Windows 安装程序使用无人参与的安装应答文件来自动化 Windows 的在线安装和自定义。此方法对于大规模部署以及在每台计算机的配置中实现一致性和精确性非常有用。
无人值守安装需要创建一个或多个包含安装自定义的应答文件。例如,您可以更改 Internet Explorer 配置或分区和格式化硬盘。有关使用 Windows 系统映像管理器 (Windows SIM) 创建应答文件的信息,请参阅Windows 系统映像管理器技术参考。
Windows 安装程序有两种应用应答文件的方法:显式指定应答文件或隐式搜索应答文件。
显式指定应答文件
您可以使用 **setup.exe /unattend:** filename命令明确指定应答文件。
在此示例中,文件名是应答文件的本地或 UNC 路径。有关详细信息,请参阅Windows 安装程序命令行选项。
此应答文件用于配置 Windows 安装。因为在安装过程中需要重新启动,所以此应答文件的副本缓存在计算机上。
隐式搜索应答文件
如果未指定应答文件,Windows 安装程序会在多个不同位置隐式搜索应答文件。这些位置包括先前缓存的应答文件、驱动器根目录下的应答文件以及其他位置。下面的隐式应答文件搜索顺序部分列出了有效搜索路径的完整列表。
每次配置阶段启动时,Windows 安装程序都会隐式搜索应答文件。
Windows 安装程序搜索应答文件时有优先顺序。如果在有效位置之一中找到应答文件,则它必须包含有效的配置阶段。如果找到答案文件并且它不包含正在运行的给定配置阶段的设置,则该答案文件将被忽略。
备注
通常,仅使用名为 Unattend.xml 的应答文件。但是,由于某些应答文件包括磁盘分区等破坏性操作,因此您必须在 windowsPE 和 offlineServicing 配置阶段将 Unattend.xml 文件重命名为 Autounattend.xml。这些阶段在您首次运行 Windows PE 或 Setup.exe 时运行。当您使用 Windows 安装 DVD 启动方法并在 USB 闪存驱动器 (UFD) 或软盘上提供应答文件时,通常会使用 Autounattend.xml 文件。
隐式应答文件搜索顺序
Windows 安装程序根据搜索顺序识别并记录所有可用的应答文件。使用具有最高优先级的应答文件。应答文件经过验证,然后缓存到计算机。在 windowsPE 和 offlineServicing 传递期间,有效的答案文件被缓存到 $Windows.~BT\Sources\Panther 目录中。Windows安装解压到硬盘后,应答文件缓存到%WINDIR%\panther。
下表显示了隐式应答文件搜索顺序。
搜索顺序 | 地点 | 描述 | ||
---|---|---|---|---|
1 | 登记处 HKLM\System\Setup!UnattendFile | 指定注册表中指向应答文件的指针。应答文件不需要命名为 Unattend.xml。 | ||
2 | %WINDIR%\Panther\无人值守 | 应答文件的名称必须是 Unattend.xml 或 Autounattend.xml。 注意 Windows 安装程序仅在下层安装时搜索此目录。如果 Windows 安装程序从 Windows PE 启动,则不会搜索 %WINDIR%\Panther\Unattend 目录。 | ||
3 | %WINDIR%\黑豹 | Windows 安装程序将应答文件缓存到此位置。
| ||
4 | 可移动读/写媒体,按驱动器号顺序,位于驱动器的根目录。 | 可移动读/写媒体,按驱动器号顺序,位于驱动器的根目录。 应答文件的名称必须是 Unattend.xml 或 Autounattend.xml,并且应答文件必须位于驱动器的根目录下。 | ||
5 | 可移动只读媒体,按驱动器号顺序,位于驱动器的根目录。 | 可移动只读媒体,按驱动器号顺序,位于驱动器的根目录。 应答文件的名称必须是 Unattend.xml 或 Autounattend.xml,并且必须位于驱动器的根目录下。 | ||
6 | windowsPE和offlineServicing通行证:
所有其他通行证:
| 在windowsPE 和offlineServicing pass 中,应答文件的名称必须是Autounattend.xml。 对于所有其他配置阶段,文件名必须是 Unattend.xml。 | ||
7 | %系统驱动% | 应答文件名必须是 Unattend.xml 或 Autounattend.xml |
备注
由于答案文件在 Windows 安装过程中缓存到计算机中,因此您的答案文件将在两次重新启动之间保留在计算机上。在将计算机交付给客户之前,您必须删除 %WINDIR%\panther 目录中的缓存应答文件。但是,如果您打算在最终用户启动计算机时运行的 oobeSystem 配置阶段中有未处理的设置,请不要删除缓存的应答文件。
应答文件中的敏感数据
安装程序会在当前配置阶段结束时删除缓存应答文件中的敏感数据。
然而,如果答案文件嵌入在比缓存的答案文件更高的优先级位置,则如果嵌入的答案文件与隐式搜索标准匹配,则缓存的答案可能会在每个后续配置通道的开始处被覆盖。例如,如果答案文件嵌入在 %WINDIR%\Panther\Unattend\Unattend.xml 中,则嵌入的答案文件将替换每个配置阶段开始时缓存的答案文件。例如,如果嵌入的应答文件同时指定了 specialize 和 oobeSystem 传递,则为 specialize 传递发现嵌入应答文件、缓存、处理并清除敏感数据。在 oobeSystem 传递期间再次发现嵌入的应答文件并再次缓存。因此,不再清除专业通行证的敏感数据。之前处理过的敏感数据不会再次被清除。除非必须覆盖缓存的应答文件,否则建议将应答文件嵌入在较低优先级的位置。
Microsoft 建议您在将计算机交付给客户之前删除 Windows 安装中的所有应答文件。这包括任何嵌入的应答文件以及缓存的应答文件。但是,如果您打算在最终用户启动计算机时运行的 oobeSystem 配置阶段中有未处理的设置,请不要删除缓存的应答文件。
您可以向 Setupcomplete.cmd 命令脚本添加一个命令,以删除计算机上的任何缓存或嵌入的应答文件。有关详细信息,请参阅向 Windows 安装程序添加自定义脚本。
Windows 安装程序在应答文件中注释配置过程
处理配置阶段后,Windows 安装程序会注释缓存的应答文件以指示该阶段已被处理。如果再次输入配置阶段并且在此期间没有替换或更新缓存的应答文件,则不会再次处理应答文件设置。相反,Windows 安装程序将搜索优先级低于缓存的 Unattend.xml 文件的隐式 Unattend.xml 文件。
例如,您可以使用包含 specialize 阶段中的 RunSynchronous 命令的应答文件安装 Windows。在安装期间,specialize pass 运行并执行 RunSynchronous 命令。安装后,运行sysprep /generalize命令。如果没有比缓存的应答文件优先级更高的应答文件,或者应答文件没有明确传递给 Sysprep,则安装程序将在计算机下次启动时运行 specialize。由于缓存的应答文件包含已应用该传递的设置的注释,因此不会执行 RunSynchronous 命令。
隐式应答文件搜索示例
以下示例有助于描述隐式应答文件搜索的行为。
Windows 安装程序会自动发现名为 Autounattend.xml 的应答文件
- 创建一个名为 Autounattend.xml 的应答文件,其中包含 windowsPE 传递中的设置。
- 将 Autounattend.xml 复制到可移动媒体设备。
- 将计算机的 BIOS 配置为从 CD 或 DVD 启动。
- 启动 Windows Vista 产品 DVD。
- 在 Windows 启动时插入软盘。
Windows 安装程序启动并自动将 Autounattend.xml 识别为有效的应答文件。由于应答文件使用有效的文件名 (Autounattend.xml),位于有效搜索路径之一(A 的根),并且包含当前配置阶段 (windowsPE) 的有效设置,因此使用该应答文件。
应答文件被缓存到计算机上。如果在以后的过程中没有发现其他答案文件,则在整个 Windows 安装程序中都会使用缓存的答案文件。
在预定义的搜索路径中按优先顺序发现答案文件
-
使用前一方案中的步骤安装带有应答文件的 Windows。用于安装 Windows 的应答文件缓存到系统的 %WINDIR%\Panther 目录中。
-
将 Unattend.xml 文件复制到 %WINDIR%\System32\Sysprep 目录。
此应答文件在通用传递中具有设置。 -
运行sysprep /generalize命令以创建参考映像。
由于 %WINDIR%\System32\Sysprep 目录位于隐式搜索路径中,因此找到了复制到此目录的应答文件。但是,用于安装 Windows 的应答文件仍缓存在计算机上,并包含通用化阶段的设置。此缓存的应答文件的优先级高于复制到 Sysprep 目录中的应答文件。使用缓存的应答文件。
备注
Sysprep 可以作为命令行工具或 GUI 工具运行。如果将 Sysprep 作为 GUI 工具运行,则可以选中Generalize复选框。
To use the new answer file, copy it to a directory of a higher precedence than the cached answer file or you can specify the answer file by using the **/unattend** option. For example:
sysprep /generalize /unattend:C:\MyAnswerFile.xml
应答文件必须包含有效的配置阶段
- 将 Unattend.xml 文件复制到软盘。
Unattend.xml 文件仅包含针对 auditSystem 和 auditUser 配置阶段的设置。 - 在已安装的 Windows 操作系统上,运行sysprep /generalize /oobe命令。
即使应答文件在隐式搜索路径之一中可用,Unattend.xml 文件也被忽略,因为它不包含通用配置阶段的有效阶段。