autounattend.xml必须严格命名为小写、存于U盘根目录或\sources\子目录,且编码为UTF-8无BOM;缺windowsPE、specialize、oobeSystem任一阶段将导致安装卡在对应环节;中文系统须显式配置四项zh-CN区域设置,特殊字符需转义。
autounattend.xml 文件名和存放位置必须严格匹配
windows 安装程序只在启动时扫描两个位置:u 盘根目录、\sources\ 子目录;且仅识别 autounattend.xml 这个精确文件名。写成 unattend.xml、autounattend.xml(大小写错误)、autounattend.xml.txt(隐藏后缀)都会被跳过。
常见失败现象是“安装流程完全没变化”,第一反应就该检查这个——不是配置错,而是压根没加载上。
- U 盘格式必须为 FAT32(NTFS 在某些 UEFI 主板上不识别启动文件)
- 用记事本保存时务必选“UTF-8 无 BOM”,VS Code 默认就是,Notepad++ 需手动选编码
- 不要把文件放进
\sources\boot.wim或其他 WIM 内部,它必须是 U 盘上的独立文件
三个必配阶段缺一不可:windowsPE / specialize / oobeSystem
少任何一个阶段,安装就会卡在对应环节。比如漏掉 windowsPE,系统根本不会自动分区,停在磁盘选择界面;漏掉 oobeSystem,哪怕前面全对,最后仍要手动点“跳过此步骤”。
每个阶段的核心作用:
-
windowsPE:决定装哪个镜像(ImageInstall)、怎么分盘(DiskConfiguration),WillShowUI必须设为Never -
specialize:设计算机名(支持%RAND:COMPUTERNAME%随机生成)、启用 WinRM、关闭快速启动、禁用驱动签名强制 -
oobeSystem:跳过 EULA(HideEULAPage=true)、跳过机器级 OOBE(SkipMachineOOBE=true)、自动登录一次(用于后续脚本触发)
中文系统四项区域设置必须全部显式声明为 zh-CN
只设 UILanguage=zh-CN 不够,UserLocale、SystemLocale、InputLocale 也得同步写死为 zh-CN。缺一项,安装后桌面语言可能回退成英文,或输入法默认美式键盘。
管理员密码含特殊字符时必须转义:
-
&→& → <code>-
>→> - 双引号不用转义,单引号可直接写
产品密钥字段若填了带空格的版本(如 XXXXX XXXXX XXXXX XXXXX XXXXX),安装中途会报错退出,建议留空或用合法 25 位密钥(不含空格、全角字符)。
测试前务必在虚拟机里跑通,别直接上真机
真实硬件差异大,UEFI/BIOS、NVMe/IDE、TPM 2.0 开关状态都会影响行为。VMware 或 Hyper-V 中先验证,能省下大量排查时间。
出问题时关键日志在目标机的 C:\Windows\Panther\ 下:
-
setupact.log:完整执行流水,搜ERROR或failed -
setuperr.log:只记录错误行,优先看这个 - 如果连
Panther目录都没生成,说明autounattend.xml根本没被读取,回头查文件名和位置
最常被忽略的是:老电脑 BIOS 模式下需额外关闭 Secure Boot 和 TPM 校验,否则卡在“这台电脑不满足最低安装要求”——这个开关不在 XML 里,得进主板设置手动关。


















