Windows PE阶段的无人值守, 一般有两个操作: 分区, 安装镜像.
以管理员方式打开Windows映像管理器
选择文件-"选择Windows映像"
选中刚刚导出的Win10Pro_20H2_ENG.wim后,过几分钟, 加载完成后会在Win10Pro_20H2_ENG.wim同目录生成Win10Pro_20H2_ENG.cfg文件, Windows系统映像管理器界面也会出现相应的设置项目
点击 文件--“保存应答文件”, 指定名字和路径
在"Windows映像"内, 展开"Components", 展开 "amd64_Microsoft-Windows-Setup",选中"DiskConfiguration"右键选择"添加设置以传送 1 Windows PE",
在"应答文件"框内,可以看到已经添加成功的设置. 选中"amd64_Microsoft-Windows-Setup", 修改右侧设置如下
选中"DiskConfiguration",右键选择"插入新建Disk",选择新建的Disk, 修改右侧设置如图
下面创建分区, 我们计划创建4个分区
Disk | Order | Size | Type | Active | Extend | Format | Label | Letter | PartitionID | TypeID |
0 | 1 | 512 MB | EFI | No | No | FAT32 | SYSTEM | 1 | ||
0 | 2 | 128 MB | MSR | No | No | 2 | ||||
0 | 3 | Rest Of Disk | Primary | No | Yes | NTFS | Windows | C | 3 | |
0 | 4 | 1024 MB | Primary | No | No | NTFS | WinRE | 4 | de94bba4-06d1-4d40-a16a-bfd50179d6ac |
完成后如图所示.
此时应答文件内的内容为:
<DiskConfiguration> <Disk wcm:action="add"> <CreatePartitions> <CreatePartition wcm:action="add"> <Order>1</Order> <Size>512</Size> <Type>EFI</Type> </CreatePartition> <CreatePartition wcm:action="add"> <Order>4</Order> <Size>1024</Size> <Type>Primary</Type> </CreatePartition> <CreatePartition wcm:action="add"> <Order>3</Order> <Extend>true</Extend> <Type>Primary</Type> </CreatePartition> <CreatePartition wcm:action="add"> <Order>2</Order> <Size>128</Size> <Type>MSR</Type> </CreatePartition> </CreatePartitions> <ModifyPartitions> <ModifyPartition wcm:action="add"> <Active>false</Active> <Format>FAT32</Format> <Label>SYSTEM</Label> <Order>1</Order> <PartitionID>1</PartitionID> </ModifyPartition> <ModifyPartition wcm:action="add"> <Active>false</Active> <Extend>true</Extend> <Format>NTFS</Format> <Label>Windows</Label> <Letter>C</Letter> <Order>3</Order> <PartitionID>3</PartitionID> </ModifyPartition> <ModifyPartition wcm:action="add"> <Active>false</Active> <Format>NTFS</Format> <Order>2</Order> <Label>WinRE</Label> <PartitionID>4</PartitionID> <TypeID>de94bba4-06d1-4d40-a16a-bfd50179d6ac</TypeID> </ModifyPartition> </ModifyPartitions> <DiskID>0</DiskID> <WillWipeDisk>true</WillWipeDisk> </Disk> </DiskConfiguration> <EnableFirewall>false</EnableFirewall> <EnableNetwork>false</EnableNetwork> <Restart>Restart</Restart>
分区至此完成.
下面为安装Windows映像部分
在"Windows映像"内选择"ImageInstall",右键选择"添加设置以传送 1 Windows PE"
选中"应答文件"中“OSImage",修改右侧设置如下
展开"InstallFrom",右键删除"Credentials"
修改"InstallFrom"右侧Path设置:\Sources\Win10Pro_20H2_ENG.wim
修改"InstallTo"右侧DiskID:0, PartitionID:3
如果在Win10Pro_20H2_ENG.wim内, 有多个Image Index. 可以添加MetaData以指定Index名字或者序号.
指定INDEX名字:
Key:/IMAGE/NAME
Value:Windows 10 Pro 20H2 ENG
注意: 此处名字为用Dism /Get-wiminfo /wimfile:"Win10Pro_20H2_ENG.wim"时, 获取到的镜像内的名字信息.
指定Index序号:
Key: /IMAGE/INDEX
Value:2
2则指Win10Pro_20H2_ENG.wim内的索引2所包含的镜像.
如有其它分区的数据需要部署,可以用相同方法添加 "DataImage".
最终完成的应答文件内容为:
<ImageInstall> <OSImage> <InstallFrom> <Path>\Sources\Win10Pro_20H2_ENG.wim</Path> <MetaData wcm:action="add"> <Key>/IMAGE/INDEX</Key> <Value>1</Value> </MetaData> </InstallFrom> <InstallTo> <DiskID>0</DiskID> <PartitionID>3</PartitionID> </InstallTo> <InstallToAvailablePartition>false</InstallToAvailablePartition> <WillShowUI>OnError</WillShowUI> </OSImage> </ImageInstall>
另外, 还需要添加显示语言以跳过安装过程中的语言区域选择:
选择"amd64_Microsoft-Windows-International-Core-WinPE", 右键添加.以中文为例:
做如下设置:
选中SetupUILanguage,设置"UILanguage"为zh-CN
如果需要在镜像执行之前, 进行一些设置, 例如BIOS设置,机型检查等,可添加"amd64_Microsoft-Windows-Setup"下的RunAsynchronousCommand.
RunAsynchronousCommand为多个进程按顺序异步执行
RunSynchronousCommand为所有进程同步执行
例如需要加一个判断CPU的异步执行的脚本.CheckCPU.cmd
将所有设置保存, 确定在"消息"窗口, 没有错误或者警告出现.
将所得的应答文件, 打包到ISO内\Sources\Boot.wim里.
将ISO挂载, 复制出除install.esd的全部文件到D:\ISOTest文件夹.将Win10Pro_20H2_ENG.wim复制到ISOTest\Sources\下.
(此处可以删除 \Support文件夹, 和\Sources内除了boot.wim和W10Pro_20H2_ENG.wim的所有文件)
挂载boot.wim,此处需要先在\Sources下创建一个临时文件夹BootMount
Dism /Mount-wim /Wimfile:"Boot.wim" /Index:1 /Mountdir:BootMount
复制Mytest.xml到BootMount\Sources\下.
在桌面创建Winpeshl.ini, 修改其中内容为
[LaunchApps]
X:\Sources\Setup.exe, /unattend:"X:\Sources\Mytest.xml"
将其复制到BootMount\Windows\System32\下.
提交修改并卸载此镜像
Dism /Unmount-Wim /Mountdir:BootMount /Commit
完成后, 目录如下:
用以下命令将isotest内的内容封装成ISO文件:
进入Windows ADK如下目录 C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg.
用以下命令封装isotest内容为ISO文件:
Oscdimg.exe -lMY_ISO -u2 -yo"bootorder.txt" -h -m -b"etfsboot.com" "D:\isotest" "Windows 10 20H2 ENG Test.iso"
参考链接: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/oscdimg-command-line-options
附应答文件全部内容:
<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="windowsPE"> <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <DiskConfiguration> <Disk wcm:action="add"> <CreatePartitions> <CreatePartition wcm:action="add"> <Order>1</Order> <Size>512</Size> <Type>EFI</Type> </CreatePartition> <CreatePartition wcm:action="add"> <Order>4</Order> <Size>1024</Size> <Type>Primary</Type> </CreatePartition> <CreatePartition wcm:action="add"> <Order>3</Order> <Extend>true</Extend> <Type>Primary</Type> </CreatePartition> <CreatePartition wcm:action="add"> <Order>2</Order> <Size>128</Size> <Type>MSR</Type> </CreatePartition> </CreatePartitions> <ModifyPartitions> <ModifyPartition wcm:action="add"> <Active>false</Active> <Format>FAT32</Format> <Label>SYSTEM</Label> <Order>1</Order> <PartitionID>1</PartitionID> </ModifyPartition> <ModifyPartition wcm:action="add"> <Active>false</Active> <Extend>true</Extend> <Format>NTFS</Format> <Label>Windows</Label> <Letter>C</Letter> <Order>3</Order> <PartitionID>3</PartitionID> </ModifyPartition> <ModifyPartition wcm:action="add"> <Active>false</Active> <Format>NTFS</Format> <Order>2</Order> <Label>WinRE</Label> <PartitionID>4</PartitionID> <TypeID>de94bba4-06d1-4d40-a16a-bfd50179d6ac</TypeID> </ModifyPartition> </ModifyPartitions> <DiskID>0</DiskID> <WillWipeDisk>true</WillWipeDisk> </Disk> </DiskConfiguration> <EnableFirewall>false</EnableFirewall> <EnableNetwork>false</EnableNetwork> <Restart>Restart</Restart> <ImageInstall> <OSImage> <InstallFrom> <Path>\Sources\Win10Pro_20H2_ENG.wim</Path> <MetaData wcm:action="add"> <Key>/IMAGE/INDEX</Key> <Value>1</Value> </MetaData> </InstallFrom> <InstallTo> <DiskID>0</DiskID> <PartitionID>3</PartitionID> </InstallTo> <InstallToAvailablePartition>false</InstallToAvailablePartition> <WillShowUI>OnError</WillShowUI> </OSImage> </ImageInstall> <RunAsynchronous> <RunAsynchronousCommand wcm:action="add"> <Description>CheckCPU</Description> <Order>1</Order> <Path>X:\Sources\CheckCPU.cmd</Path> </RunAsynchronousCommand> </RunAsynchronous> </component> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SetupUILanguage> <UILanguage>zh-CN</UILanguage> </SetupUILanguage> <InputLocale>0804:{81D4E9C9-1D3B-41BC-9E6C-4B40BF79E35E}{FA550B04-5AD7-411f-A5AC-CA038EC515D7}</InputLocale> <SystemLocale>zh-CN</SystemLocale> <UILanguage>zh-CN</UILanguage> <UILanguageFallback>en-US</UILanguageFallback> <UserLocale>zh-CN</UserLocale> </component> </settings> <cpi:offlineImage </unattend>
111