使用預安裝的應用程序創建自定義 Windows 映像

Jacki

在本指南中,我們將介紹如何使用預安裝的應用程序、必要的文件以及其他環境和應用程序設置創建自定義 Windows 10/11 安裝映像。目前,許多管理員更喜歡部署一個乾淨的 Windows 映像,然後在計算機上安裝所有必需的程序和工具:通過 GPO 部署軟件,使用安裝命令AutoUnattend.xml或在%WINDIR%SetupScriptsSetupComplete.cmd腳本(允許在 OOBE 期間安裝軟件)、GPO 登錄腳本。或使用其他自動化工具(SCCM、Intune、MDT、Ansible)。然而,在某些情況下,業務細節要求將包含所有必要程序的預構建 Windows 映像部署到最終用戶計算機。

內容:

使用預裝軟件創建自定義 Windows 安裝映像的過程可能包括以下步驟:

  1. 在參考計算機(虛擬機)上部署一個乾淨的Windows實例;
  2. 以審核模式啟動Windows,安裝應用程序,配置環境;
  3. 將設備啟動到 WinPE 環境並使用 DISM 捕獲已安裝 Windows 的 WIM 映像;
  4. 替換安裝 USB 閃存驅動器(ISO 映像)上的原始 install.wim。

如果您要將 Windows 部署到公司網絡上的計算機,那麼使用 MDT 會更方便,它允許您在安裝過程中添加/更新程序,而無需每次都修改安裝 WIM 映像。

有關的:如何預訂 Apple Vision Pro 耳機?

第一步是創建包含您需要的所有程序、文件和設置的 Windows 參考映像。在虛擬機或計算機上執行全新的 Windows 安裝。

下載原始 Windows 10/11 安裝映像作為 ISO 文件,或使用媒體創建工具或 Rufus 將其直接刻錄到可啟動 USB 閃存驅動器。

執行手動 Windows 安裝並按CTRL+SHIFT+F3在 OOBE 階段(當提示選擇區域設置時)。這將使計算機進入審核模式,並且您將自動以內置帳戶身份登錄行政人員帳戶。

當桌面出現時,最小化 Sysprep 窗口(不要關閉它!!)。然後您可以開始安裝程序和更新,並配置必要的 Windows 設置。

我將使用WinGet用於在 Windows 上安裝各種應用程序和工具的包管理器:

winget install --id=7zip.7zip -e ; winget install --id=Notepad++.Notepad++ -e ; winget install --id=VideoLAN.VLC -e ; winget install --id=WinDirStat.WinDirStat -e ; winget install --id=dotPDNLLC.paintdotnet -e ; winget install --id=IrfanSkiljan.IrfanView -e ; winget install --id=Microsoft.PowerToys -e

我還為多個業務應用程序手動創建目錄並複製文件。

自定義桌面快捷方式、“開始”菜單圖塊、壁紙、屏幕保護程序、配色方案等。使用以下命令配置本地組策略設置gpedit.msc編輯。這些設置將應用於您從此自定義 Windows 映像部署的所有計算機。

設置操作系統和應用程序後,必須清理 Windows 以減小最終映像大小。

刪除現有的捲影副本和還原點:

vssadmin delete shadows /All /Quiet

清理WinSxS文件夾中未使用的組件和更新文件:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

刪除 Windows 更新緩存文件:

del %windir%SoftwareDistributionDownload*.* /f /s /q

您可以使用此 PowerShell 腳本清理用戶配置文件中的 Temp、Downloads 和 Cache 文件夾。

使用 cleanmgr 工具執行磁盤清理:

Cleanmgr /sagerun:1

清除事件查看器日誌:

for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"

清空 Windows 中的回收站:

Clear-RecycleBin -Force

要將當前用戶的設置應用到默認用戶(在創建新 Windows 用戶時用作模板),請創建一個unattend.xml應答文件中的C:WindowsSystem32Sysprep目錄。

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="https://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CopyProfile>true</CopyProfile>
</component>
</settings>
</unattend>

最後一步是準備自定義 Windows 映像以使用 sysprep.exe 工具進行部署。展開 Sysprep 窗口並選擇以下選項:

  • 輸入系統開箱即用體驗 (OOBE)
  • 概括
  • 關閉

此過程完成後,計算機將自動關閉。

使用 DISM 捕獲自定義 Windows 映像

在此階段,您需要從本地驅動器捕獲脫機 Windows 映像,將其保存為 WIM 文件,並將其放置在單獨的驅動器上(我們將單獨的 60GB 空驅動器連接到計算機)。

使用引用的 Windows 映像將計算機啟動到 WinPE 環境 (WinRE)。使用 Windows 安裝 U 盤,啟動計算機並按Shift+F10打開命令提示符。

確定分配給 Windows 分區的驅動器號以及 WIM 文件將復製到的空驅動器。運行命令:

diskpart
list disk
exit

在此示例中,包含 Windows 的驅動器被分配了盤符乙:空驅動器是d:

要從 E 驅動器捕獲脫機 Windows 映像並將生成的 WIM 映像保存到 D 驅動器,請運行以下命令:

dism /capture-image /imagefile:D:install.wim /capturedir:E: /ScratchDir:D: /name:"MyWinImage" /compress:maximum /checkintegrity /verify /bootable

在我的案例中,拍攝圖像大約需要 30 分鐘。

替換 USB 閃存驅動器上的原始 Install.wim 映像文件

捕獲自定義 Windows 映像後,您可以替換原始 install.wim 或 install.esd 映像文件sources安裝 USB 閃存驅動器上的文件夾(ESD 是 WIM 使用的最大壓縮格式)。

就我而言,我將舊圖像文件重命名為install.esd_bak並複制了新的install.wim圖像到 USB 記憶棒。

請注意,預裝軟件的 WIM 映像大小已顯著增加(從 4GB 增加到 10GB)。

如果您有用於在 UEFI 計算機上安裝 Windows 的 FAT32 可啟動 USB 閃存盤,則無法在此文件系統上保存大於 4GB 的 WIM 文件。在這種情況下,必須將大型 WIM 映像文件拆分為多個較小的 SWM 文件:

Dism /Split-Image /ImageFile:D:sourcesinstall.wim /SWMFile:c:tmpinstall.swm /FileSize:3500

在這種情況下,DISM 將創建四個文件install.swm,install2.swm,install3.swm, 和install4.swm。將這些文件複製到sources安裝介質上的文件夾。當 Windows 安裝程序安裝操作系統時,它會合併 SWM 文件。

現在,您可以使用可啟動 USB 閃存驅動器將您創建的 Windows 映像部署到任何計算機(您還可以使用 PXE 啟動通過網絡安裝 Windows)。

Windows 安裝完成後,檢查所有預裝應用程序是否可用:

Get-Package

這種部署預配置 Windows 映像的方法的缺點是您必須重建映像才能更新其中包含的任何應用程序。

Windows 更新和驅動程序可以直接集成到 WIM 映像中。在這種情況下,無需經歷完整的部署和圖像捕獲週期。