ImageX可以用來捕獲WES7系統(tǒng)的鏡像并將其創(chuàng)建為鏡像文件(.wim格式),從而可以在離線狀態(tài)下對WES7系統(tǒng)進行提取、部署、修改等操作。
可能之前您使用某些磁盤工具來做嵌入式產品的系統(tǒng)鏡像備份、還原等。但事實證明,Windows Embedded開發(fā)工具包中的ImageX才是部署WES7系統(tǒng)的最佳工具,本文重點通過動手實例來演示ImageX在Windows Embedded產品開發(fā)過程中的用法。
實驗環(huán)境:
建議您準備目標機和開發(fā)機兩臺實驗設備,目標機上安裝有定制的WES7系統(tǒng),開發(fā)機上安裝有Win7操作系統(tǒng)和WES開發(fā)環(huán)境。
實驗步驟:
1. 首先確認一下目標機上的磁盤分區(qū)情況,本例中磁盤0是目標機的主硬盤,兩個分區(qū),C盤卷標為SYS,是主分區(qū),約10GB;D盤卷標為DATA,約6.4GB,用于存放實驗數(shù)據(jù);磁盤1是從硬盤,只有一個分區(qū)即E盤,卷標為ImgTarget,約6GB,用于存放鏡像文件。光驅為F盤,插入了IBW光盤。
2. 通過DiskPart查看當前磁盤分配情況。從IBW光盤啟動目標機,在Install Windows界面點擊Launch WinPE Command Prompt以進入WinPE環(huán)境,輸入diskpart,在DISKPART>提示下輸入list vol來查看當前設備上的磁盤分區(qū)情況。請注意,此時盤符分配情況發(fā)生了變化。一定要注意這點,通過對比卷標和磁盤大小,確定原來的D盤和E盤盤符互換了,而WinPE占用的盤符是X。
圖1
3. 捕獲WES7操作系統(tǒng)鏡像。本例中,我們的目標機系統(tǒng)安裝在C盤,現(xiàn)在要把它捕獲為鏡像文件(.wim格式),然后存放在D盤,即卷標為ImgTarget的分區(qū)上。使用命令exit退出diskpart,然后鍵入以下命令來捕獲鏡像:
Imagex /capture c: d:\ImgOfWES7_0216.wim “capture WES7 by ImageX” /verify
/capture表示捕獲卷鏡像到一個wim文件中,接著是目標卷的路徑,然后是鏡像名稱的全路徑,雙引號里面是該鏡像的名字,最后是啟用文件資源確認。
4. 看到如下界面時,表示命令正確,ImageX開始為您的WES7工作了,百分比顯示進度,還有估算的剩余時間。
圖2
當看到”Successfully imaged …”時表示捕獲成功。
備注:還有一個參數(shù)/compress,它表示可以將鏡像文件壓縮,以減小其體積,一共有maximun,fast,none三個值,分別表示最大壓縮、最快壓縮、不壓縮。
5. /append參數(shù)可以將已有的鏡像文件擴展,例如,您的WES7剛剛安裝完畢,需要做一下備份,而在安裝一些軟件并進行更改后又需要做一個鏡像,這種情況下可以將一類鏡像文件集成到同一個鏡像文件中?;蛘呷绻哪繕嗽O備上有兩個分區(qū),也可以分別將兩個分區(qū)捕獲到同一個鏡像文件中。我們在WinPE中鍵入以下命令:
Imagex /append e: d:\ImgOfWES7_0216.wim “capture DATA by ImageX” /verify
這表示將E盤捕獲至之前創(chuàng)建的鏡像文件中。
6. 使用/apply參數(shù)可以將WES7鏡像應用到目標設備中。在保證捕獲鏡像時的設備和目標設備基本一致的前提下(這包括硬件配置和磁盤分區(qū)的一致),可以將捕獲到的鏡像部署到目標設備上,在WinPE中鍵入以下命令:
Imagex /apply d:\ImgOfWES7_0216.wim 1 c:
/apply參數(shù)后面是鏡像文件的全路徑,接著要跟上wim文件中的鏡像序號,然后是目標卷的路徑。
與/capture參數(shù)類似,如果命令正確解析,會顯示百分比進度和估算的剩余時間,當出現(xiàn)”Successfully applied image.”時表示恢復鏡像成功。
7. WIM文件中可以存放多個鏡像文件,如果不確定要恢復哪個鏡像,可以通過/info參數(shù)來查看一下其中的鏡像信息。在WinPE中鍵入:
Imagex /info d:\ImgOfWES7_0216.wim
返回鏡像文件的XML格式描述。
圖3
Image Count處顯示該文件中有兩個鏡像,找到鏡像索引是1的區(qū)塊,
8. 查看一下提取到的ImgOfWES7_0216.wim文件大小大約是877MB,假設要將它刻錄在CD光盤上,那么可以用/split參數(shù)將其分成600MB大小的若干文件(.swm格式),以利于刻錄。在WinPE中鍵入:
Imagex /split d:\ImgOfWES7_0216.wim d:\ImgOfWES7_0216.swm 600
/split參數(shù)后面跟原鏡像全路徑,接著是要目標全路徑,注意用了swm格式,最后是期望的鏡像大小,默認單位為MB。
命令提示成功完成后,我們可以看到原鏡像文件已被分成了兩個swm文件,且第二個往后的名字自動加了數(shù)字2。
9. 使用/dir參數(shù)可以列出鏡像包含的所有文件和文件夾清單,如果要顯示剛才鏡像文件中的鏡像1,因為內容太多屏幕會滾動很長時間,這時可以使用>d:\list.txt來將結果導入到目標文件中,方便用文本編輯器查看。
10. 參數(shù)/mount參數(shù)以只讀方式將WIM文件加載到指定的文件夾,方便查看鏡像內容。參數(shù)/moutrw是有了寫的權限。下面嘗試一下對其中一個鏡像進行更改,在命令提示符中鍵入:
Imagex /mountrw e:\ImgOfWES7_0216.wim 2 e:\mount
將鏡像文件中的第二個鏡像,也就是我們對DATA盤做的鏡像加載到E盤mount目錄下,打開該目錄,看到原來該盤中的數(shù)據(jù)??梢栽谠撃夸浵滦陆ㄒ粋€記事本文檔,輸入一些字符并保存。然后在命令提示符中鍵入:
Imagex /unmount /commit e:\mount
/unmount表示將加載到mount文件夾的鏡像卸載,/commit表示將所做的更改提交。然后結合/dir參數(shù)就可以看到效果,在命令提示符中鍵入:
Imagex /dir e:\ImgOfWES7_0216.wim 2
可以看到剛才新建的記事本文檔已經進去了。應用/apply參數(shù)就可以把修改后的鏡像提交到目標分區(qū),很方便。
上面是一系列使用ImageX時的鏡像操作方法,下面再擴展一下其用法:
1. 參數(shù)/export用于將鏡像文件中一個標記的鏡像導出到另一個WIM文件中。具體用法如:
Imagex /export d:\ImgOfWES7_0216.wim 2 d:\ImgNew.wim
指定好原鏡像路徑,其中對應的鏡像編號和目標鏡像路徑,待命令成功執(zhí)行后,就可以看到D盤出現(xiàn)了新的WIM文件,里面有剛才導出的鏡像。[!--empirenews.page--]
2. 參數(shù)/delete用來移除包含多個卷鏡像的WIM格式鏡像文件中指定的卷鏡像??梢試L試移除上例中的數(shù)據(jù)盤鏡像。在WinPE中鍵入:
Imagex /delete d:\ImgOfWES7_0216.wim 2
命令成功執(zhí)行后通過/info參數(shù)來觀察,看到該鏡像文件中只有一個鏡像了。
3. Wimscript.ini是為了防止ImageX在獲取鏡像時遇到鎖定文件或文件夾造成失敗而設計的,通過它可以列出一些排除在ImageX捕獲之外的文件和文件夾,它應當位于與ImageX同一目錄中,ImageX的/capture參數(shù)可以自動加載它。以下是它的示例:
[ExclusionList] //被排除的文件和文件名字
"System Volume Information"
RECYCLER
[CompressionExclusionList] //不被壓縮的文件或文件夾名稱或者文件類型,可以使用通配符
*.mp3
*.zip