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