在 Windows 安装过程中,有很多设置页面需要人工输入,为了实现自动化安装,微软提供了 应答文件 机制。有了应答文件就可以全程无人值守安装。
本篇教程以 cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso 为样本,并以无人值守安装为目的制作最小的应答文件。
安装 Windows ADK
制作应答文件需要用到 Windows ADK 工具包中的 Windows 系统映像管理器(SIM) 。
直链:Windows ADK 10.1.25398.1
仅安装部署工具
即可,其中包含了Windows 系统映像管理器
。软件操作很简单,这里不展开说了,网上有很多教程。
配置阶段
Windows 在整个安装过程中分为不同的阶段,依次为:
- windowsPE
- offlineServicing
- generalize
- specialize
- auditSystem
- auditUser
- oobeSystem
绝大多数时候也就只用到windowsPE
、specialize
和oobeSystem
这三个配置阶段。
windowsPE
这是 Windows 安装过程的第一个阶段。主要用于启动安装程序,对硬盘格式化等操作。
跳过语言设置
为了跳过这个页面,我们在该阶段添加 Microsoft-Windows-International-Core-WinPE 组件。
设置 InputLocale、SystemLocale、UILanguage、UserLocale 这四个值为zh-CN
,表示用简体中文。
跳过许可条款
接着便是软件许可条款
页面。
为了跳过这个页面,我们在该阶段添加 Microsoft-Windows-Setup 组件。
将 UserData/AcceptEula 设置为true
。
选择系统
如果镜像文件中包含多个系统版本的话就会弹出这个页面。
为了跳过这个页面,我们在该阶段添加 Microsoft-Windows-Setup 组件。
将 ImageInstall/OSImage/InstallFrom/MetaData 键值设置为/IMAGE/INDEX
和1
。
其中1
表示安装列表中第一个操作系统,在这里也就是Windows 7 简易版
。
安装位置
选择系统安装在哪个硬盘的哪个分区上。
考虑到每个用户的硬件环境不同,需求不同,建议交给用户自己选择。否则容易对硬盘格式化造成硬盘数据丢失。
硬盘的无人值守设置参考 InstallTo 配置。
至此 windowsPE 阶段就算配置完成了,系统开始安装:
安装完成后会自动重启电脑,进入下一个阶段。
oobeSystem
重启后来到的第一个设置页面,要求我们创建用户。
输入产品密钥
更新设置
时间设置
网络设置
以上这些设置可以统一用 SkipMachineOOBE 属性跳过
添加 Microsoft-Windows-Shell-Setup 组件,将 OOBE/SkipMachineOOBE 设置为true
。
注意,微软并不推荐使用SkipMachineOOBE
,但是不用的话则会强制要求用户创建一个新用户才能进行下一步。
不过对于用户来说可以绕过:Windows系统安装后,跳过创建用户的向导,直接使用administrator账户
事情还没完,因为前面跳过了创建用户的操作,Windows 内置用户Administrator
又默认是禁用的,导致无法顺利进入桌面。
所以要在应答文件中设置启用Administrator
用户并自动登录。
添加 Microsoft-Windows-Shell-Setup 组件。
将 AutoLogon/Enabled 设置为true
。
将 AutoLogon/Username 设置为Administrator
。
使用应答文件
经过上面的分析,最终得到一个最小的应答文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="windowsPE"> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <InputLocale>zh-CN</InputLocale> <SystemLocale>zh-CN</SystemLocale> <UILanguage>zh-CN</UILanguage> <UserLocale>zh-CN</UserLocale> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <UserData> <AcceptEula>true</AcceptEula> </UserData> </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <OOBE> <SkipMachineOOBE>true</SkipMachineOOBE> </OOBE> <AutoLogon> <Enabled>true</Enabled> <Username>Administrator</Username> </AutoLogon> </component> </settings> </unattend>
|
使用这个应答文件仅会出现两次交互,选择系统版本
和安装磁盘位置
。
最后将这个 xml 文件命名为autounattend.xml
,放到 ISO 根目录下即可。
从第三方 WinPE 安装
实际上,如今用微软官方 ISO 去安装的方式已经不多见了。主流的方式是用第三方 PE 系统,因为有桌面,有丰富的工具,比如 微PE工具箱 之类的系统。
从第三方 PE 去安装意味着应答文件中 windowsPE 阶段的设置都是无意义的。
所以从第三方 PE 安装的话,则最小应答文件是这样的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="specialize"> <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SkipAutoActivation>true</SkipAutoActivation> </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <OOBE> <SkipMachineOOBE>true</SkipMachineOOBE> </OOBE> <AutoLogon> <Enabled>true</Enabled> <Username>Administrator</Username> </AutoLogon> </component> </settings> </unattend>
|
注意这里在 specialize 阶段添加了 Microsoft-Windows-Security-SPP-UX 组件。
属性 SkipAutoActivation 值设置为true
,表示跳过激活,否则安装会失败。
使用方法:将应答文件放在 C:\Windows\Panther\unattend.xml
即可。
或者用 WinNTSetup 之类的工具安装,可以指定应答文件。
其他
应答文件与系统版本是有关的,如果应答文件中存在不支持的参数,映像管理工具会警告:
如果试图用错误的应答文件安装会导致失败:
相关阅读
使用Windows Sysprep来封装系统
Windows7 无人值守技术
应答文件概述
自动化 Windows 安装
有关创建应答文件的最佳做法
应答文件搜索顺序