本篇教學適用於:Windows 10 所有版本、Windows Server 2016 所有版本、Windows 8、Windows 8.1、Windows 7、Windows Vista、Windows Server 2012 R2、Windows Server 2012、Windows Server 2008 R2、Windows Server 2008。
由於微軟今天只發佈了 Windows Server 2016 的 180 天試用版本,而且並沒有隨之發佈繁體中文版本的安裝映像,於是站長在著手製作 Windows Server 2016 繁體中文安裝映像時就順便撰寫了這篇教學,由於從 Windows Vista 開始的 Windows 系統都是使用 DISM (部署映像服務與管理工具) 這套公用程式來進行安裝映像的管理,因此這篇教學同樣可以適用於製作上面所列出的所有 Windows 版本之多國語言鏡像,也可以用於將 A 語言安裝鏡像轉為 B 語言安裝鏡像。
事前準備
首先請準備好下列工具:
- 要修改的 Windows 安裝映像 (例如 ISO 或是光碟)。
- 希望整合的 Windows 語言套件。
- 安裝符合欲修改之 Windows 安裝映像版本的 ADK (Assessment and Deployment Kit) 套件或 AIK (Automated Installation Kit) 套件 (Windows 7 或更早版本),請安裝「Windows 預先安裝環境 (Windows Preinstallation Environment)」此項。
接下來請在硬碟內準備一個工作目錄 (例如範例中使用的 C:\Workspace),並在其下建立兩個子目錄,一個用於放置安裝映像解壓縮後的檔案 (範例中為 C:\Workspace\14393),另一個則是用於暫時掛載並用於檔案處理的暫存目錄 (範例中為 C:\Workspace\mount)。
由於接下來的過程中會在指令中輸入這些目錄很多次,因此建議選用較短、較簡單的路徑。
Stage 1-分析安裝映像
一份 Windows 安裝映像內往往包含了多個 SKU (例如家用版、專業版、企業版等),而微軟在設計安裝映像壓縮機制 (WIM) 時考慮到希望能夠允許各個 SKU 之間能安裝不同的套件,因此各個 SKU 在受到 DISM 工具修改時是不會同時受到影響的,只有被指定的 SKU 才會被 DISM 工具修改 (這對 OEM 廠商來說,由於每個型號需要整合的軟體可能不盡相同因此是有其必要的)。
不過由於我們現在要做的是整合語言套件,因此我們希望每個 SKU 都能獲得同樣的修改內容,基於前面提過的設計,我們得要對每個 SKU 都分別進行相同的修改操作才行,因此事先了解這份安裝映像內有哪些 SKU 是很重要的,否則可能會發生有些 SKU 沒改到的情況。
Step 1:將安裝映像解壓縮到工作目錄內。
由於一般而言我們取得的安裝映像是 ISO 格式的,因此在開始之前請先將 ISO 內的所有檔案解壓縮到工作目錄內 (如果你是使用安裝光碟的話,由於光碟不可寫入因此請將光碟內的所有檔案複製到工作目錄內)。
Step 2:以系統管理權限開啟命令提示字元,並將當前目錄移至工作目錄。
由於 DISM 需要系統管理權限才能執行,因此請務必使用系統管理權限開啟命令提示字元,同時為了方便起見,請將當前目錄移至剛剛建立的工作目錄內。
Step 3:執行分析指令。
[crayon-67694bba12046550597445/] 以我目前使用的安裝映像 (Windows Server 2016) 為例,可以看到經過分析後此份安裝映像內其時有四個 SKU,分別是具備 GUI 的 Standard、Datacenter 與不具備 GUI 的 Standard、Datacenter 四種。
請記下各個項目的索引編號,在接下來掛載映像時會用到。
Stage 2-掛載映像並整合語言套件
接下來的步驟有點繁瑣,首先我們先處理這份安裝映像內的第一個 SKU。
Step 4:掛載映像
請先將前面提過的掛載暫存目錄建好,接下來執行下面這個指令:
[crayon-67694bba1204e370422566/] 掛載映像會需要一點時間,請耐心等候。
Step 5:整合語言套件
接下來我們就要實際將語言套件塞入此 SKU 中了,請執行下面這個指令:
[crayon-67694bba12050607434468/] 根據電腦處理能力的強弱,這步驟可能會需要 3 ~ 10 分鐘的時間。
Step 6:變更首選語言參數
如同我們在 Windows 內安裝語言套件時一樣,新增語言套件並不會影響系統原本的語言參數 (例如時區、所在位置、日期格式等),因此我們需要使用 DISM 工具對此 SKU 進行設定變更。
在變更之前你可以使用下面這行指令來檢視目前的語言參數:
[crayon-67694bba12051173160104/] 如下圖所示,可以發現繁體中文 (台灣) 語言套件已經成功安裝,但目前的首選語言仍然是英文 (美國)。
要變更預設語言參數只需要執行下面這行指令就行了 (請將 zh-tw 替換為要設定為首選的語言):
[crayon-67694bba12053782001299/]
之後再次執行前面提過的查詢指令就可以發現首選語言已經變更為繁體中文 (台灣)。
Step 7:將變更寫入檔案
由於前面的變更到目前為止都只寫入到掛載目錄內,並沒有實際修改到 install.wim 的內容,因此接下來我們要進行卸載並將修改寫入檔案的程序,請執行下面這行指令:
[crayon-67694bba12054100431509/]
Step 8:繼續處理其他 SKU
如同前面提過的,這些指令只會對單一 SKU 起作用,因此我們得輪流替這份安裝映像內的 SKU 進行相同的操作才能達到原先的目的,因此請重複 Step 4 ~ Step 7 的內容 (請依序將 Step 4 內的 Index:1 的數字部分遞增),直到整份安裝映像內的所有 SKU 都處理完畢為止。
Step 9:產生語系設定檔 (lang.ini)
在加入新語言套件之後需要產生新的語系資訊檔 (lang.ini),安裝程式才得以得知這個語言套件已經被加入安裝映像中,請執行下面的指令:
[crayon-67694bba12057972252413/]
Step 10:設定安裝程式預設語言
接下來的步驟是指定此安裝映像預設要使用的安裝程式介面語言,請執行下列指令:
[crayon-67694bba12058441780117/]
Stage 3:處理預先安裝環境
當我們透過 Windows 安裝映像啟用電腦時,實際上是透過安裝映像內的一套簡易版 Windows 環境 (稱為 Windows 預先安裝環境,Pre-installation Environment) 開機,並不是載入整套完整的 Windows 系統,而這套預先安裝環境則是壓縮封裝在安裝映像內的 boot.wim 檔案之中。
Step 11:將開機介面用字型檔整合到開機管理程式
由於繁體中文、簡體中文、日文所使用的字型檔體積較大,因此預設並沒有包含在 Windows 預先安裝環境中,因此在製作上述三個語系的預先安裝環境時需要先將字型檔整合到 boot.wim 內,開機時才不會發生亂碼與無法載入的情形,請使用下面這個指令將預先安裝環境的第一部分 (開機管理程式) 掛載起來。
[crayon-67694bba1205a338061364/] 掛載映像可能會需要一點時間,請耐心等候。
接下來要將字型檔整併入預先安裝環境中,字型檔的部分可以在前置準備時安裝的 ADK (AIK) 中取得,一般來說會放在 C:\Program Files (x86)\Windows Kits\<版本>\Assessment and Deployment Kit\Windows Preinstallation Environment\<架構>\WinPE_OCs\ 目錄內,以 WinPE-FontSupport-<語系名稱>.cab 命名。
以製作繁體中文的 Windows Server 2016 安裝映像為例,我們需要的字型檔路徑為 C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FontSupport-ZH-TW.cab,請執行下面這個指令:
[crayon-67694bba1205c957249823/] 由於目錄內有空格,請務必使用引號將路徑前後包起來。
接下來進行卸載並將修改寫入檔案,請執行下面這行指令:
[crayon-67694bba1205d807351759/]
Step 11:將字型檔也整合到預先安裝環境本體內
除了開機管理程式需要整合字型檔之外,預先安裝環境本身也需要,因此請重複上個步驟中除了卸載與寫入變更步驟之外的內容 (將一開始的 index:1 改為 index:2)。
Step 12:將預先安裝環境語言包整合到預先安裝環境內
接下來的步驟理所當然就是要把預先安裝環境的完整語言包整合進去囉,由於預先安裝環境的語言包拆成很多個檔案,因此在這邊與前面不同,要直接將整個目錄下的所有 cab 包整合到預先安裝環境內,基本上預先安裝環境的語言套件是放置於 C:\Program Files (x86)\Windows Kits\<版本>\Assessment and Deployment Kit\Windows Preinstallation Environment\<架構>\WinPE_OCs\<語系> 目錄內。
以製作繁體中文版 Windows Server 2016 為例,語系檔應該放在 C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-tw 目錄中,請輸入下面的指令:
[crayon-67694bba1205f510907133/] 由於目錄內有空格,請務必使用引號將路徑前後包起來,請留意此處運用了一個技巧,語系檔路徑使用的是目錄而不是檔案,因為 Windows PE 語系檔實際上分成二十幾個部分,一個一個裝實在太費時費力了,請注意目錄路徑最後請不要加上”/”,否則可能會出現錯誤。
這步驟最後出現錯誤是正常的,因為這 22 個語系檔當中有一些並不適用於當前製作中的安裝映像,因此不會被裝入預先安裝環境中。
Step 13:將語系資訊檔 (lang.ini) 放入 boot.wim
接下來的步驟是將 Step 9 產生的語系資訊檔 (lang.ini) 放入 boot.wim 中,以讓安裝程式得以運用這個檔案判斷安裝映像內包含的語言版本,請輸入下面的指令:
[crayon-67694bba12060070636318/]
Step 14:將變更寫入檔案
由於前面的變更到目前為止都只寫入到掛載目錄內,並沒有實際修改到 boot.wim 的內容,因此接下來我們要進行卸載並將修改寫入檔案的程序,請執行下面這行指令:
[crayon-67694bba12062220052032/]
Stage 3-修改安裝程式語系
這個階段相較於前面的步驟來說簡單許多,只要將語言套件解壓縮後把 setup 目錄底下的語系資源檔案直接放進安裝映像目錄內就行了,由於語言套件內的檔案很多,因此載入可能需要一點時間。
Step 16:將安裝程式語系資源檔案加入安裝映像中
將 setup 目錄裡的 sources 目錄直接拖進安裝映像目錄內即可。
成品概觀
接下來只要將整個安裝映像目錄內的檔案運用微軟官方的 CDImage 等工具製作成可開機格式的 ISO 映像即可,實際安裝的畫面就是下圖這樣:
選擇安裝介面語言之後還可以選擇要安裝的語系版本與地區設定。