1. 程式人生 > >如何使用Windows ADK 製作Windows 10 Preinstallation Environment(Windows 10 PE)

如何使用Windows ADK 製作Windows 10 Preinstallation Environment(Windows 10 PE)

前言

無論是大白菜還是老毛桃,它的Windows PE的版本始終停留在Windows 8版本上。Windows 10都出來好久了,對於經常有系統部署和維護任務的童鞋來說,有廣告就算了,不更新就沒法等了。

Windows PE還是來源於Windows,它的資料在MSDN上肯定找得到。功夫不得有心人,我找到了一篇實用的文章,而且微軟還把它翻譯成了中文。這篇中文文件對我等英語小白來說,太實用了。附上文件地址:http://download.csdn.net/download/caoshiying/10039009

什麼是Windows PE

適用於 Windows 10 的 Windows PE (WinPE) 是一個小型作業系統,用於安裝、部署和修復 Windows 10 桌面版(家庭版、專業版、企業版和教育版)、Windows Server 2016 Technical Preview 和其他 Windows 作業系統。 通過 Windows PE,你可以:
- 在安裝 Windows 前設定你的硬碟。
- 使用來自網路或本地驅動器的應用或指令碼安裝 Windows。
- 捕獲和應用 Windows 映像。
- 在 Windows 作業系統不執行時,對它進行修改。
- 設定自動恢復工具。
- 從不可啟動的裝置中恢復資料。
- 新增自己的自定義外殼程式或 GUI 來使此類任務自動化。

製作方法

下載並安裝Windows ADK

啟動ADK環境

開始選單位於Windows Kits下一個叫做Deployment and Imaging Tools Environment的快捷方式。此快捷方式其實只是執行一個批處理程式。

準備工作環境

首先是工作資料夾。我的工作資料夾是:D:\WinPE。此資料夾不能手動建立,否則ADK報錯,說資料夾已經存在之類的錯誤。總之找到一空閒的剩餘空間足夠的分割槽就行了。
其次是用於Windows PE的啟動U盤,在此說明一下,引導扇區有壞區等不良U盤製作成的U盤是無法啟動的,不支援UEFI啟動型別的主機板是無法啟動的(只要不是太老的主機板就行了)。

執行命令列

微軟的文件預設選擇的是一個空的PE環境,連桌面都沒有,只有一個控制檯視窗,Power Shell也沒有。微軟雖然在文件中說明有多少Package可選,但沒有Package的依賴關係和順序。經過我反覆實踐,按如下步驟把所有的功能包都加到PE裡面了。順便問一下微軟:為什麼不給一個選項全選啊?

set DISMROOTDIR=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs
set WORKDIR=D:\WinPE
call "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat"
copype x86 dism /Mount-Image /ImageFile:"%WORKDIR%\media\sources\boot.wim" /index:1 /MountDir:"%WORKDIR%\mount" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-HTA.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-FontSupport-ZH-CN.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-FontSupport-ZH-HK.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-FontSupport-ZH-TW.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-NetFx.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-WMI.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-StorageWMI.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-Scripting.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-PowerShell.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-MDAC.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-FMAPI.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-EnhancedStorage.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-Dot3Svc.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-Fonts-Legacy.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-DismCmdlets.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-SecureBootCmdlets.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-PPPoE.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-RNDIS.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-GamingPeripherals.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-PlatformId.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-WDS-Tools.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-WinReCfg.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-LegacySetup.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-Setup.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-SecureStartup.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-Setup-Server.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-Setup-Client.cab" Dism /Add-Package /Image:"%WORKDIR%\mount" /PackagePath:"%DISMROOTDIR%\WinPE-PlatformId.cab" Dism /Unmount-Image /MountDir:"%WORKDIR%\mount" /commit MakeWinPEMedia /ISO %WORKDIR% D:\Windows-x86-All-10.1709.iso MakeWinPEMedia /UFD %WORKDIR% X:

最後說明一下,為防止某些童鞋文件看都不看一眼,直接複製貼上,把本地磁碟給格式化了,我把用於啟用U盤的碟符改成了X。請各位把X改成自己的U盤碟符。最後,貼幾張圖看看成果。

下圖是正在新增Packages:
圖1

下圖是製作ISO檔案成功:
圖2

下圖是製作U盤成功:
圖3