Skip to main content
評分: 

邊做邊學 Windows 7:如何以 DISM 將語言套件加入 Windows 7 映像


 

邊做邊學 Windows 7 範例影片欣賞


如何以 DISM 將語言套件加入 Windows 7 映像

文章及影片製作 / 賴榮樞 (http://www.goodman-lai.idv.tw)

本文及示範影片將利用 DISM,將台灣繁體中文語言套件,加入 Windows 7 英文版 Professional 映像,並且將映像的系統預設 UI 語言設為繁體中文。

示範影片:如何以 DISM 將語言套件加入 Windows 7 映像 (10:07)


簡介

DISM 是 Deployment Imaging Servicing and Management 的縮寫,這是出自微軟的命令列工具,可用來「維修」Windows 映像,其名稱也由此而來:維修及管理部署用的映像。

這裡的 Windows 映像(Windows Imaging),指的是部署 Windows 的技術。這種由微軟開發、Vista 首先採用的技術,利用一種稱為 Windows Imaging Format(WIM)的磁碟映像格式來儲存作業系統。

而 DISM 維修或管理 Windows 映像,指的是增減 Windows 映像裡的功能、元件,或者列出、調整 Windows 映像的資訊、設定等。

Windows 7 已經內建 DISM(位於%WinDir%\System32),而 Windiws 7 的 Windows 自動化套件Windows 7 OEM Preinstallation Kit 也包含這支工具程式。目前這個版本的 DISM 可以處理的 Windows 映像版本包括了 Windows Vista SP1 及以上的 SP 版本、Windows 7、Windows Server 2008、Windows Server 2008 R2 等。

存於 WIM 檔內的 Windows 映像,稱為離線映像,DISM 處理離線之前,必須先掛載 WIM 檔。而執行中的 Windows 稱為連線映像,除了離線映像,DISM 也具備部分連線映像的處理能力。

以下是幾個 DISM 處理連線或離線映像的範例。

提升執行權限

DISM 是命令列工具程式,因此必須以『命令提示字元』執行,但因為 DISM 需要較高的執行權限,因此必須先提升『命令提示字元』的權限,也就是要『以系統管理員身份執行』來執行『命令提示字元』。

如果是沒有提升權限的『命令提示字元』,執行 DISM 會出現「錯誤:740」權限不足的訊息。

如果是 Windows 7,可利用滑鼠右鈕按下任一個『命令提示字元』,然後執行『以系統管理員身份執行』。

如果已安裝 Windows AIK 或 Windows OPK,並且要執行這些套件的 DISM,亦可執行『開始/所有程式/Microsoft Windows AIK(如果安裝的是 Windows OPK,這裡要點選 Windows OPK)』,然後以滑鼠右鈕按下『部署工具命令提示字元』,再執行『以系統管理員身份執行』。

加入語言套件

每個 Windows 7 映像至少包含一個語言套件,但透過 DISM,能將其他的語言套件加入 Windows 映像。這個例子將要示範將台灣繁體中文(zh-TW)語言套件,加入英文版的 Windows 7。

Windows 7 的語言套件可以到微軟網站下載,例如 MSDN Subscription 可以下載到 ISO 檔案格式的 Windows 7 語言套件,而且同一語系分別還有 x86 和 x64 不同的套件。語言套件 ISO 檔裡只有一個名為 lp.cab 的檔案。要將語言套件加入 Windows 映像之前,要先取出 ISO 檔裡的 lp.cab;這個例子會將 lp.cab 放在 e:\w7packages 資料夾,並且更名成 lp(zh-TW).cab,以為識別。

1. WIM 映像檔可以包含數個映像,因此在處理映像之前,必須先知道要處理的映像名稱或索引編號:

dism /get-wimInfo /wimFile:e:\w7Images\install.wim

  • /get-wimInfo 表示要顯示 WIM 檔案的資訊
  • /wimFile 用來指定 WIM 檔案的路徑和檔名

整個指令的意思,是要顯示這個 WIM 檔案的資訊。按下 Enter 之後,會列出了這個 WIM 檔案包含的映像,以及每個映像的索引編號、名稱等資訊。稍後我們要將語言套件新增到這個 WIM 檔案的 Professional 映像,因此請記下 Professional 映像的索引編號或名稱,這裡索引編號是 4,名稱是 Windows 7 Professional。通常會採用索引編號,因為比較好記。

2. 接著要掛接欲處理的映像,這個例子要掛接的是 Professional 映像:

dism /mount-wim /wimFile:e:\w7Images\install.wim /index:4 /mountDir:e:\w7Mount

  • /mount-wim 表示要掛接 WIM 檔案
  • /wimFile 用來指定 WIM 檔案的路徑和檔名
  • /index:4 表示要掛接 WIM 檔裡第 4 個映像,也就是 Professional
  • /mountDir:e:\w7Mount 表示要將 Professional 映像掛接到 e:\w7Mount 資料夾,這個掛接資料夾必須事先建立,若不存在,會出現錯誤

整個指令的意思,是要將 install.wim 的第 4 個映像掛接到 e:\w7Mount 資料夾。按下 Enter 後,DISM 就會開始掛接,而且會顯示處理進度。最後看到「操作順利完成」,表示已經完成掛接。

3. 我們可以檔案總管來觀察掛接資料夾 e:\w7Mount,內容看起來就像安裝好 Windows 的系統磁碟。由於加入語言套件的動作需要臨時資料夾,因此請先找或建一個,這個例子將使用 e 磁碟的 w7scratch 資料夾。

4. 加入語言套件之前,我們可以先利用 /get-intl 來觀察映像裡所包含的語言:

dism /image:e:\w7mount /get-intl

  • /image 要指定掛接映像的資料夾
  • /get-intl 可列出映像的語言資訊

按下 Enter 後,會顯示相關資訊,包括預設系統 UI 語言、系統設定的地區,都是 en-US,也就是美式英文。也會顯示已安裝在映像的語言,目前只有美式英文。

5. 現在要將語言套件加入掛接的映像:

dism /image:e:\w7mount /scratchDir:e:\w7scratch /add-package /packagePath:e:\w7packages\lp(zh-TW).cab

  • /scratchDir 要指定運作過程所需的臨時資料夾
  • /add-package 用來加入套件
  • /packagePath 則是指定套件的路徑和檔名

按下 Enter 後,DISM 就會開始將指定的語言套件加入所掛接的映像

6. 現在我們再次利用 /get-intl 來觀察映像裡所包含的語言:

dism /image:e:\w7mount /get-intl

預設系統 UI 語言、系統地區設定、時區等資訊和剛剛看到的一樣,但是安裝在映像的語言多出了 zh-TW,這就是剛才加入的繁體中文。

設定預設語言

剛才雖然已將繁體中文加入映像,但系統預設的 UI 語言仍是英文。因此現在將示範以 DISM 設定預設語言的作法。

1. 要設定映像預設語言,需使用 /set-skuIntlDefaults:

dism /image:e:\w7mount /set-skuIntlDefaults:zh-tw

/set-skuIntlDefaults 會將 Windows 映像的預設系統 UI 語言、非 Unicode 程式的語言、輸入法地區設定、鍵盤配置與時區值,設為指定的語言,此例設成 zh-tw,也就是台灣繁體中文。

2. 同樣的,我們可以再次利用 /get-intl 來觀察映像裡所包含的語言:

dism /image:e:\w7mount /get-intl

預設系統 UI 語言、系統地區設定、地區設定等設定都變成 zh-TW,而預設時區變成 Taipei,位置也變成台灣。

3. 處理離線映像要先掛載映像,而完成所有的動作之後,要利用 /unmount-wim 來卸載映像:

dism /unmount-wim /mountDir:e:\w7mount /commit

commit 表示要讓之前的變更生效。

結語

DISM 是一支功能豐富且威力強大的工具程式,對 Windows 7 的部署非常重要。除了本文所示範,DISM 還有許多功能,詳細的中文說明,可參考中文版 Windows 7 自動化套件裡的 waik.chm,這份文件的『部署工具技術參照/部署映像服務與管理技術參照』,是 DISM 詳細說明。