更新: 如果你需要製作以Windows 10為基底的WinPE, 請看此篇:
製作WinPE可開機光碟 (使用Windows ADK for Windows 10, version 1703)
之前寫的這篇比較針對ProLiant, 這次我把內容整理成比較通用性的版本給大家參考.
主要是利用Windows AIK來做WinPE, 並且把一些未內含的驅動程式和工具程式包進去.
需要的軟體:
- Windows自動化安裝套件 Windows Automated Installation Kit (AIK)
- Windows自動化安裝套件補充元件
- 需要加進去WinPE的驅動程式和工具程式
- Windows 7 Service Pack 1, Windows Server 2008 R2 SP1或是其他Windows AIK可以安裝的作業系統
Windows AIK可以安裝在下列作業系統內:
- Windows Server 2003 (含 Service Pack 2)
- Windows Vista SP1
- Windows Server 2008
- Windows 7
- Windows Server 2008 R2
接下來我用Windows Server 2008 R2 SP1來示範:
步驟1:
安裝Windows Automated Installation Kit.
步驟2:
Windows AIK安裝完成後, 把Windows自動化安裝套件補充元件複製進系統.> xcopy D:\ "C:\Program Files\Windows AIK\Tools\PETools" /ERDY
其中D:\是ISO映像的根目錄, C:\Program Files\Windows AIK\是預設安裝位置.
如果你把Windows AIK安裝到不同資料夾, 請相對修改位置.
步驟3:
準備要加進WinPE的驅動程式, 這裡以Cisco UCS Virtual Interface Card和HP Smart Array RAID controller為例子, 把驅動程式放在C:\driver裡面.執行部署工具命令提示字元, 在命令列鍵入:
> copype amd64 C:\WinPE (你也可以指定到其他的資料夾)
步驟5:
掛載映像檔.
> dism /mount-wim /wimfile:C:\WinPE\winpe.wim /index:1 /mountdir:C:\WinPE\mount
步驟6:
加入驅動程式.
> dism /image:C:\WinPE\mount /add-driver /driver:C:\driver /recurse
步驟7:
確認一下加進去的驅動程式.
> dism /image:C:\WinPE\mount /get-drivers
步驟8:
接下來可以加入一些工具程式方便在WinPE中使用, 在C:\WinPE\mount底下新建一個資料夾,例如: C:\WinPE\mount\tool, 然後把程式複製到裡面.
這裡以Nirsoft的DevManView x64為例子, 等完成WinPE時可以用來看看裝置是否有用到包進去的驅動程式.
步驟9:
儲存並卸載映像檔. (記得要先關掉其他不用的視窗, 否則會出現錯誤!)
> dism /unmount-wim /mountdir:C:\WinPE\mount /commit
步驟10:
產生WinPE ISO檔案.
> copy C:\WinPE\winpe.wim C:\WinPE\ISO\sources\boot.wim
> oscdimg -n -bC:\WinPE\etfsboot.com C:\WinPE\ISO C:\WinPE\WinPE.iso
完成!
測試開機並叫出工具程式:
懶人包:
copype amd64 C:\WinPE
dism /mount-wim /wimfile:C:\WinPE\winpe.wim /index:1 /mountdir:C:\WinPE\mount
dism /image:C:\WinPE\mount /add-driver /driver:C:\driver /recurse
dism /image:C:\WinPE\mount /get-drivers
dism /unmount-wim /mountdir:C:\WinPE\mount /commit
copy C:\WinPE\winpe.wim C:\WinPE\ISO\sources\boot.wim
oscdimg -n -bC:\WinPE\etfsboot.com C:\WinPE\ISO C:\WinPE\WinPE.iso
後記:
如果你要做x86的版本, 記得驅動程式和工具程式也要換成x86版的.copype x86 C:\WinPE
dism /mount-wim /wimfile:C:\WinPE\winpe.wim /index:1 /mountdir:C:\WinPE\mount
dism /image:C:\WinPE\mount /add-driver /driver:C:\driver /recurse
dism /image:C:\WinPE\mount /get-drivers
dism /unmount-wim /mountdir:C:\WinPE\mount /commit
copy C:\WinPE\winpe.wim C:\WinPE\ISO\sources\boot.wim
oscdimg -n -bC:\WinPE\etfsboot.com C:\WinPE\ISO C:\WinPE\WinPEx86.iso
繼續閱讀:
製作WinPE可開機光碟或USB大拇哥 (使用Windows ADK)
請問不加驅動程式會有影響嗎?
回覆刪除只要Windows內建的驅動程式夠你用, 不加驅動程式不會有影響.
刪除(會需要的大部分是為了Windows沒內建驅動程式的RAID卡或網卡)
你好,能跟你請教一個問題,我有參考你的文章,把windows 2012的winPe光碟做出來了,只是裡面沒有iscsi initiator,
回覆刪除是也要把它的當成tools包進去嗎?
\windows\System32
iscsicli.exe
iscsicpl.dll
iscsicpl.exe
iscsidsc.dll
iscsied.dll
iscsiexe.dll
iscsium.dll
iscsiwmi.dll
8 File(s) 918,120 bytes
\windows\System32\Drivers
msiscsi.sys
1 File(s) 168,552 bytes
\windows\System32\en-US
iscsicpl.dll.mui
iscsicpl.exe.mui
iscsidsc.dll.mui
iscsiexe.dll.mui
4 File(s) 84,992 bytes
我的最總目標是想要把windows 2012 install在iscsi lun上讓他可以開機.
謝謝你的回复.
要用iSCSI LUN boot跟存取iSCSI target是兩回事.
刪除我沒用AIK試過, 如果用ADK應該可以做到用WinPE開機存取iSCSI target.
Windows PE 選用元件參考
http://technet.microsoft.com/zh-tw/library/hh824926.aspx
WinPE-StorageWMI 包含用於存放管理的 PowerShell Cmdlet。這些 Cmdlet 使用 Windows 存放管理 API (SMAPI) 管理本機儲存區,如磁碟、磁碟分割以及磁碟區物件。或者,這些 Cmdlet 使用存放管理提供者,將 Windows SMAPI 與陣列存放管理搭配使用。WinPE-StorageWMI 也包含 Internet SCSI (iSCSI) 啟動器 Cmdlet,透過乙太網路介面卡或 iSCSI 主機匯流排介面卡 (HBA),將主機電腦或伺服器連線到外部 iSCSI 型存放裝置陣列上的虛擬磁碟。
相依性:安裝 WinPE-StorageWMI 之前,先依序安裝 WinPE-WMI > WinPE-NetFX4 > WinPE-Scripting > WinPE-PowerShell3。
您此篇教學做出來的 WinPE 開機之後是用文字命令操作的。
回覆刪除不好意思...我想請教您;如何製作出有桌面、視窗介面的 WinPE 系統?(可用滑鼠操作的)
可否麻煩給我指教一番? 先謝謝您! ^^"
Windows AIK或是ADK並不能直接做出有桌面的WinPE(除非動手腳), 你可以利用一些非微軟的工具像是WinBuilder做出你要的WinPE.
刪除不好意思..我想再請教您有沒有 WinPE 3.0 Boot Image Creator 這個工具軟體?如果有,可否麻煩您 Email 給我、或是放到雲空讓我下載?
刪除因為到官網下載必須註冊,而且不能用免費信箱註冊、實在有點麻煩,所以才想說問您有沒有
不管怎麼樣,我在此先謝謝您! ^^"
不好意思, 還是請您透過合法正當的管道取得該軟體.
刪除大大您好,小弟也是用Windows AIK來製作開機光碟,結果也是如您上述一樣沒桌面圖示,僅有系統管理員,想請問該怎麼做才能將硬碟的資料複製出來呢?
回覆刪除還請您指點迷津,謝謝><
例如透過net use連到網路上其他機器的share folder, 或是複製到USB外接硬碟...
刪除請問如何可以在winpe的環境下mount 上一個ISO檔案?是否有什麼command或Tool可以支援這個動作。
回覆刪除不好意思, 我沒試過
刪除