製作用於 UEFI 的 Bootable USB

前言

簡單來說,如果你的實體伺服器是用傳統 BIOS 的話,那麼使用 Windows 7 USB DVD Download Tool 工具,即可將開機及作業系統相關安裝檔案製作在 USB 隨身碟當中。

但是,如果你的實體伺服器是採用新式 UEFI 的話,那麼會發現用剛才 USB 製作工具所做出來的 USB 根本沒用,所以本篇筆記就出現了。簡單來說,要製作用於 UEFI 系統的 USB 要注意下列事項:
  • USB 至少要 8GB (舉例來說,Windows Server 2016 TP4 的 ISO 映像檔已經 5GB 左右)
  • USB 必須要格式化為 FAT32 檔案系統格式而非 NTFS
  • USB 必須要採用  GPT 而非傳統的 MBR
  • 複製 Windows ISO 映像檔內的檔案至 USB 當中,但是 install.wim 會大於 4GB 而發生複製錯誤的情況,所以要使用 dism 指令先切割成較小的檔案。

此 Bootable USB 製作方式,適用 Windows 版本如下:
  • Windows 8 / 8.1 / 10
  • Windows Server 2012 / 2012 R2 / 2016



實作步驟

首先,找一台 Windows 主機,依序鍵入下列指令處理 USB。值得注意的是,此次實作環境的 USB 是 16GB,倘若你的 USB 大於 16GB (例如,32GB) 的話,那麼在建立分割區時應該使用「create partition primary size=16000」,避免空間過大超過 FAT32 支援而執行指令失敗。
C:\> diskpart
DISKPART> list disk
DISKPART> select disk 2
DISKPART> clean
DISKPART> convert gpt
DISKPART> create partition primary
DISKPART> format fs=FAT32 quick
DISKPART> assign letter=W
DISKPART> exit


完成上述設定並開啟「磁碟管理」之後,會發現 USB 已經格式化完成並使用 W: 磁碟機代號。


此次實作環境為製作 Windows Server 2016 TP4 至 USB 當中,若直接複製 ISO 映像檔內的檔案時,會發生 install.wim 檔案太大而失敗的情況 (不管是用檔案總管或 xcopy 指令複製)。



此時,請先用 dism 指令,將 install.wim 檔案切割成較小的檔案時,FAT32 檔案系統便不會因為超過定址而發生複製失敗的情況了。假設,我已經先將 Windows Server 2016 TP4 ISO 映像檔,解壓縮後放到 C:\ISO 資料夾內,便可以執行如下指令切割 install.wim 檔案。
C:\> dism /split-image /imagefile:c:\iso\sources\install.wim /swmfile:c:\iso\sources\install.swm /filesize:3500 /checkintegrity



最後,就可以把 install.wim 檔案刪除 (留下剛才分割的 install.swm、install2.swm 即可),然後利用檔案總管或指令「xcopy C:\iso\*.* /s /e /f W:\」。