從手工安裝到自動化部署:通用 Windows 映像製作實戰
針對需大量部署/維護異構硬體環境的場景,結合 Sysprep 一般化與 Ghost 映像克隆,打造「十分鐘完成安裝」的通用 Windows 封裝包。適用 XP/2003,核心邏輯延伸至現代 MDT/SCCM。
核心概念:一般化 + 映像捕獲 = 通用映像
- 一般化:移除機器特有資訊 (SID、驅動、硬體 ID、啟動狀態),讓映像可套用至不同硬體
- 映像捕獲:將一般化後的系統分割區封裝為 .gho/.wim 檔
- 特化:部署時重新偵測硬體、產生新 SID、套用無人值守應答檔
階段一:基準系統準備與驅動清理
1. 安裝基準系統
- 全新安裝 XP/2003,打滿補丁至基準日期
- 安裝通用軟體 (Office、壓縮、PDF、瀏覽器、防毒)
- 設定預設使用者配置檔 (
Default User):桌面、開始選單、登錄預設值
2. 依序卸載硬體驅動 (關鍵順序)
- 網路介面卡
- USB 控制器/裝置
- 聲卡
- 顯示卡
- 監視器
- 其他:調閱器、紅外線、智慧卡讀卡機等
裝置管理員 → 右鍵裝置 → 解除安裝。完成後勿重開機,否則 Windows 重新偵測安裝驅動。
3. 修正 ACPI HAL 為標準 PC (跨主板關鍵)
- 裝置管理員 → 電腦 → 右鍵「ACPI Uniprocessor PC」/「ACPI Multiprocessor PC」→ 更新驅動程式
- 「否,不這次」→ 「從清單或指定位置安裝」→ 「不搜尋,我要自行選擇」
- 選「標準電腦」/「Standard PC」→ 下一步 → 完成
- 勿重開機
4. 修正 IDE/磁碟控制器為標準雙通道 PCI IDE (跨儲存控制器關鍵)
- 裝置管理員 → IDE ATA/ATAPI 控制器 → 主要 IDE 通道 / 次要 IDE 通道
- 右鍵 → 更新驅動程式 → 同樣選「標準雙通道 PCI IDE 控制器」
- 兩個通道皆處理 → 勿重開機
階段二:建立 Sysprep 自動應答檔
- XP 光碟
\SUPPORT\TOOLS\deploy.cab 解壓 → 執行 setupmgr.exe
- 建立新應答檔 → 選「Sysprep 安裝」→ 選版本 (如 Professional)
- 「完全自動安裝」→ 是
- 依精靈設定:產品金鑰、授權模式、電腦名稱 (可用 * 自動產生)、管理員密碼、時區、網路設定 (典型/自訂)、工作群組/網域、區域選項、語言、IE 設定等
- 完成 → 儲存為
C:\Sysprep\sysprep.inf
階段三:執行 Sysprep 一般化
- 將
sysprep.exe、setupcl.exe、sysprep.inf 複製至 C:\Sysprep\
- 執行:
C:\Sysprep\sysprep.exe -reseal -mini -quiet -reboot
參數說明:
-reseal 一般化 (清除 SID、事件日誌、暫存檔)
-mini 進入迷你安裝 (OOBE) 階段而非完整安裝
-quiet 無訊息模式
-reboot 完成後重開機
- 系統自動關機 (或重開機進入 OOBE),此時即為「一般化完成」狀態
階段四:映像捕獲 (Ghost / ImageX / DISM)
Ghost 方案 (傳統、相容性佳)
- 啟動 Ghost (DOS/WinPE/Windows 版)
- Local → Partition → To Image
- 選擇系統分割區 → 輸出檔名 (如
XP_Base.gho) → 壓縮 High
- 完成後備份 .gho 至伺服器/外接碟
ImageX / DISM 方案 (現代、檔案級、單實例儲存)
# WinPE 環境下
imagex /capture C: D:\Images\XP_Base.wim "XP Base Image" /compress maximum /verify
# 或 DISM (Win7+ 環境捕獲 XP 分割區)
dism /capture-image /imagefile:D:\Images\XP_Base.wim /capturedir:C:\ /name:"XP Base" /compress:max /checkintegrity
階段五:部署與特化
- 目標機器啟動 WinPE / Ghost DOS
- 還原映像至系統分割區
- 重開機 → 進入 Mini-Setup (OOBE) → 依
sysprep.inf 自動特化:
偵測硬體安裝驅動 → 產生新 SID → 套用電腦名/密碼/網路/時區/加入域
- 進入桌面 → 驗證驅動、服務、應用程式正常
進階:驅動庫整合 (實現真正跨硬體)
- 收集目標硬體驅動 (晶片組、顯卡、網卡、聲卡、USB3.0、儲存控制器)
- 解壓至
C:\Drivers\ 依廠商/型號分類
sysprep.inf [Unattended] 區段加入:
OemPnPDriversPath="Drivers\Chipset;Drivers\LAN;Drivers\Audio;Drivers\Video;Drivers\Storage"
DriverSigningPolicy=Ignore
- 映像捕獲前確保
C:\Drivers 存在於映像中
授權與啟動處理
- 零售/OEM 版:Sysprep 會重置啟動狀態,部署後需重新啟動 (MAK/零售金鑰) 或 OOA 自動啟動 (OEM SLP + 正確 BIOS 標記)
- 大量授權 (KMS/MAK) :
sysprep.inf 設定金鑰,部署後自動/手動啟動
- 注意:單一映像部署多台需對應授權數量
常見失敗排查
| 現象 | 原因 | 解決 |
| 部署後藍屏 0x7B | 儲存控制器驅動遺漏/不符 | 確認標準雙通道 PCI IDE + 整合目標控制器驅動至 OemPnPDriversPath |
| 網卡未偵測/無網路 | 網卡驅動遺漏/PCI ID 不符 | 整合廠商驅動;檢查 PCI\VEN_XXXX&DEV_XXXX 匹配 |
| SID 重複 (網域衝突) | Sysprep -reseal 未執行/失敗 | 重新執行 Sysprep 一般化;或用 NewSID 工具 (已停止更新) |
| OOBE 卡住/要求輸入 | sysprep.inf 參數缺漏/錯誤 | 檢查應答檔必要欄位;用 SetupMgr 重新產生 |