本文中咱們將會介紹p_w_picpathx的幾個基本應用:映像建立、映像壓縮、映像文件拆分以及應用映像。
本文的全部操做都須要在Windows PE下進行。雖然這可能沒有在DOS環境下方便,不過用Windows
PE取代DOS已是一個必然的趨勢,同時,Windows PE環境也使p_w_picpathx的適用範圍更廣。
咱們都知道,傳統的基於磁盤扇區的映像工具通常只能在Windows操做系統以外運行,所以都使用了專用的恢復環境,例如軟件開發商提供的特殊版本的
DOS。但這就存在一個問題,主要是關於存儲子系統的。如今咱們使用的存儲子系統規格愈來愈多,除了傳統的
IDE,常見的還有SCSI、SATA,以及各類級別的RAID等,如何讓映像工具支持這些不經常使用的存儲子系統成了一個最大的問題。
以使用DOS做爲恢復環境的映像工具爲例,若是該工具沒有自帶用於RAID系統的DOS驅動程序,那麼就沒法使用它對RAID系統建立和恢復映像。但
p_w_picpathx解決了這一問題,它的恢復環境是Windows
PE,這能夠看做是一個省略了圖形界面的Windows內核,所以任何磁盤子系統,只要提供了Windows下的驅動程序,就能夠用於Windows PE。
使用過程當中你們可能會注意到,用Windows PE光盤引導計算機,進入Windows PE環境以前,屏幕上首先會顯示「Press F6 to
Install…」的字樣,這和咱們直接用光盤安裝Windows操做系統時的選項相似。若是您使用了一些比較不經常使用的存儲子系統,例如SCSI或者
RAID,就須要在這個界面上按下F6,而後提供所需的驅動程序,這樣引導後Windows PE才能夠識別出您的硬盤。
下文中,實驗所用系統的設置以下:C盤安裝操做系統,D盤是光驅,E盤用於保存建立的映像文件。不過當咱們用Windows
PE光盤引導計算機後狀況有所變化,C盤依然是系統盤,但光驅成了X盤,Windows下的E盤成了Windows
PE環境下的D盤。所以爲了不混淆,在Windows PE環境下的操做將會使用PE中的盤符名稱,但在Windows環境下的操做將會使用Windows中的盤符。
建立映像
首先咱們須要準備一臺模板計算機,在這臺計算機上安裝打算批量部署的操做系統,並安裝全部須要的驅動程序、應用軟件、系統更新程序,同時咱們還能夠根據實際須要對系統和程序的各類
選項進行設置。設置完成以後運行sysprep.exe刪除全部沒必要要的信息 ,並關閉計算機。
進行到這一步的時候,和使用傳統的基於分區的影響工具部署都沒有太大區別,不過接下來咱們要使用微軟本身的映像工具了。
假設咱們但願使用默認設置建立一個C盤的映像,映像文件將以data.wim爲名保存在D盤根目錄下,並在建立完成後進行數據校驗,那麼咱們可使用這樣一個命令:
p_w_picpathx /capture c: d:\data.wim "Drive C " /verify
「/capture」參數的做用是建立映像文件,而該參數後面的「c:」則指定了要建立映像的目標分區。「d:\data.wim」這個參數指定了鏡像文件的保存位置以及名稱,「Drive
C」參數定義了映像文件的描述,須要用引號引用。最後的「/verify」參數則會讓p_w_picpathx建立完映像以後進行校驗。當看到圖1所示的界面時,表示咱們的命令是正確的,程序正在建立C盤的映像。當屏幕顯示「Successfully
p_w_picpathd c:\」的字樣時表示映像已經建立完成了。
這時候咱們就能夠將建立出來的data.wim文件保存起來,並用於以後的部署了。這裏還有一個有趣的功能須要提醒您:p_w_picpathx能夠將建立出來的映像文件保存在預建立映像的分區上。例如本例中,咱們就徹底能夠將data.wim保存在C盤,這實際上是基於文件的映像工具和基於扇區的映像工具的最大不一樣。
壓縮映像
固然,p_w_picpathx能作到的還有不少。有時咱們可能會但願儘可能減少生成的映像文件的體積,這時候就能夠用到p_w_picpathx的壓縮功能了。壓縮參數有兩個選項:Fast和Maximum,其中後者的壓縮率更高一些,固然花費的時間也要長一些。仍是上面的例子,若是須要以Maximum等級壓縮建立出來的映像文件,可使用這條命令:
p_w_picpathx /compress maximum /capture c: d:\data2.wim 「Drive C」 /verify
遺憾的是該參數只能在建立映像文件的時候使用,對於已經建立好的映像文件,已經沒法經過該參數進行壓縮,或者更改壓縮等級了。
拆分映像
若是您但願將建立出來的映像文件按照必定大小拆分,以便刻錄到光盤或者保存到其餘能夠動存儲介質上,那麼可使用p_w_picpathx的「/split」參數。例如,若是咱們但願將以前建立的data.wim文件以640
MB爲大小拆分,以便刻錄到CD光盤上,那麼可使用這條命令:
p_w_picpathx /split d:\data.wim d:\datasplited.swm 640
該操做將會建立一系列帶有固定編號的.swm文件,例如咱們要拆分的文件是data.wim,那麼拆分後的文件就是data1.swm、
data2.swm等。該參數一樣有些不足:首先,沒法在建立映像文件的時候使用,只能在映像文件建立成功以後使用。另外,拆分的文件大小是以MB爲單位指定的,若是咱們須要以GB爲單位拆分文件以便刻錄DVD光盤上,顯得不夠靈活。
應用映像
咱們已經建立好了系統映像文件,往後若是須要在多臺計算機上部署,或者某臺計算機的系統崩潰,就可使用建立好的映像文件來恢復。恢復過程是很是簡單的,依然須要進入到Windows
PE環境下,而後使用「/apply」參數運行p_w_picpathx.exe程序便可。
對於新計算機有一點須要注意,在使用p_w_picpathx安裝操做系統映像以前,必須首先給硬盤分好區。您可使用Windows
PE自帶的分區工具diskpart.exe進行。而若是您嫌麻煩,或者須要處理的計算機太多,也能夠本身編寫腳本,讓Windows PE啓動後自動進行分區操做。
假設咱們要把以前建立的保存在D盤的data.wim文件從新恢復到C盤,那麼能夠首先格式化C盤,而後使用這條命令:
p_w_picpathx /apply d:\data.wim 1 c: /verify
這裏要注意映像名稱後面的編號「1」,下文中咱們將會介紹,p_w_picpathx能夠把多個鏡像文件附加到同一個映像中,那麼在使用某個特定鏡像部署系統,或者執行其餘相似操做的時候,怎樣從附加了多個鏡像的映像文件中指定特定鏡像呢?這裏就須要使用編號了,若是但願對第幾個鏡像進行操做,在映像文件名稱後添加該鏡像的編號便可。
高級應用
除了上面介紹的功能,p_w_picpathx還有不少功能能夠適合不一樣狀況。一樣,下文將會經過幾個具體的實例向您介紹。
文件附加
有時咱們可能會遇到這樣的狀況:當咱們安裝好操做系統以後,須要建立一個映像文件;而安裝完補丁程序以及驅動程序以後,須要建立另一個映像;等安裝完全部其餘須要的應用程序,並進行過必要的設置以後,還須要建立第三個映像文件。這樣的要求有一個特色,那就是三個映像文件中大部分數據都是相同的,而每次都是隻有部分文件被增刪或者更改。那麼按照通常的作法,直接建立三個各自獨立的映像文件,無疑浪費了大量的存儲空間,並且映像文件太多也不利於往後的管理。
爲了解決這個問題,p_w_picpathx中包含了一個叫作附加的功能。簡單來講,該功能能夠在一個映像文件中保存多個不一樣狀態下的操做系統鏡像。例如以前設想的狀況,將操做系統在三個時候的不一樣狀態所有附加到同一個映像文件中,這樣,由於操做系統中有大量三個狀態下沒有發生任何更改的文件,所以這些文件實際上在映像文件中只須要保存一個實例,這就能夠在壓縮的基礎上更進一步減少映像文件的體積。
注意,這裏提到了兩個名詞:「映像」和「鏡像」。爲了方便敘述,下文對這兩個名詞的定義以下:對操做系統所在分區進行「複製」建立的文件稱之爲「鏡像」,而多個「鏡像」附加在一塊兒即造成一個「映像」。
在上文的操做中咱們已經對整個系統盤建立了一個完整映像data.wim,假設當時咱們只是安裝了操做系統,尚未裝驅動和應用程序,那麼如今咱們能夠啓動到正常Windwos狀態下,按照須要安裝全部的驅動和程序,而後重啓動計算機到Windows
PE環境(別忘了運行sysprep.exe)。要建立新的鏡像,並附加到現有的映像文件中,可使用下列命令:
p_w_picpathx /append c: d:\data.wim 「Drive C 2」 /verify。
「/append」的做用是將目標分區附加到現有文件,須要注意,若是已經使用了「/append」參數,就不須要同時使用「/capture」了。然後面的「d:\data.wim」則指定了要被附加的文件所在位置和名稱。
注意,若是被附加的源映像文件被壓縮過,那麼附加上去的鏡像文件就必須進行一樣等級的壓縮。
配置文件
p_w_picpathx的某些選項能夠由配置文件指定,這樣咱們就能夠預先編寫好配置文件,而後一次執行,實現比較複雜的操做。要指定配置文件,須要以「/config」參數啓動p_w_picpathx。配置文件中主要有三個字段,各自的含義以下。
[ExclusionList]
定義了使用「/capture」參數後被排除的文件和文件夾名稱
[CompressionExclusionList]
定義了不被壓縮的文件或文件夾名稱,或者文件類型。這裏可使用通配符
[AlignmentList]
指定文件以64K爲範圍排列,這些文件將不會被壓縮,而壓縮後的文件將會以32K爲範圍排列。
咱們只須要在文本編輯器,例如Windows記事本中按照上述規定的字段編寫內容,而後將文件保存爲.ini格式,就能夠在使用p_w_picpathx.exe的時候經過「/config」參數調用了。
打開Windows記事本或者其餘任何文本編輯器,分別輸入[ExclusionList]、[CompressionExclusionList]和[AlignmentList]三個字段,而後按照須要爲這三個字段設定內容。
例如,若是咱們但願在建立映像文件的時候跳過度頁文件和休眠文件,那麼就能夠在[ExclusionList]字段下添加這兩個文件的名稱:
「Hiberfil.sys」和「Pagefile.sys」。注意,每一個文件要佔用一行空間。若是咱們但願在壓縮文件的時候取消對全部擴展名爲.zip
的文件的壓縮(畢竟它們已經被壓縮過了,再次壓縮只能延長所需時間,體積的變化不會太明顯),那麼能夠在
[CompressionExclusionList]字段下添加「*.zip」這一行內容。
注意:一般狀況下,若是要使用配置文件,那麼就必須在運行p_w_picpathx命令的時候使用/config參數,並指定配置文件的位置。但若是咱們預先將配置文件以wimscript.ini爲名保存在p_w_picpathx.exe文件所在的文件夾下,那麼之後運行的時候只要使用了「/capture」參數,該配置文件就會被自動加載,而無論咱們有沒有配合「/config」參數一塊兒使用。
映像文件的維護
咱們已經瞭解瞭如何建立和應用映像文件,那麼平常維護方面,這種新的文件格式又能帶給咱們什麼?須要注意,以前介紹的全部操做都是使用p_w_picpathx在Windows
PE的命令行環境下運行,而接下來要介紹的一些功能在正常的Windows模式下就能夠操做。
查看映像文件信息
咱們首先繼續討論一下前文中存在的一個問題,對於附加了多個鏡像的映像文件,能夠經過添加編號的方式指定對哪一個鏡像進行操做。可是一旦時間長了,咱們如何知道某個映像文件中有幾個鏡像,分別是什麼內容?這就要用到p_w_picpathx的另外一個參數「/info」了。
仍是以上文建立的附加了多個鏡像的映像文件data.wim爲例,在Windows PE環境下,運行這樣的命令:p_w_picpathx /info
d:\data.wim,咱們能夠看到,程序會自動顯示一個以XML格式保存的文件,文件的內容就是該映像文件中全部附加的鏡像文件的信息(圖3)。這裏面你們能夠留意看「」這一字段的內容,這其實就是咱們在使用
「/capture」參數建立映像時輸入的描述。所以在使用的時候要注意輸入詳細的描述信息,方便往後的使用。
查看映像文件內容
隨着使用時間的延長,管理員們可能須要管理愈來愈多各類用途的映像文件。如何快速從多個映像文件中找到本身的目標就顯得很是重要。經過使用p_w_picpathx的
「/dir」參數,咱們就能夠直接把某個映像文件,甚至具體到其中附加的某個鏡像的內容顯示出來。該參數的使用方法是這樣的:p_w_picpathx /dir
d:\data.wim 1。
首先讓咱們試試看使用「/dir」參數列出映像文件中具體某個鏡像的內容。回到Windows正常狀態下(注意,這一步操做不能在Windows
PE環境下進行,必須回到Windows下),而後運行下列命令:
p_w_picpathx /dir d:\data.wim 1
這將顯示data.wim這個映像文件中包含的鏡像內容(若是映像文件中包含了多個鏡像,也能夠經過編號指定具體鏡像)。這裏顯示的內容很是多,查看起來很不方便,那麼咱們就可使用這樣的命令:
p_w_picpathx /dir d:\data.wim 1 >d:\list.txt
該命令能夠將顯示的內容所有輸出到D盤一個名爲list.txt的文本文件中,使用文本編輯器查看和搜索具體文件就至關簡單了。
這裏有個問題須要注意,就算您的映像文件中只包含了一個鏡像,在使用/dir參數的時候依然須要在文件名後面指定鏡像編號,不然將沒法列出其中的內容。暫時不清楚這是設計特性仍是軟件的Bug。
將映像文件內容映射爲文件夾
除了使用「/dir」參數列出映像文件的歸納內容,咱們還可使用「/mount」參數和「/unmount」參數將映像文件中具體的鏡像映射爲本地硬盤上的文件夾,並編輯其中的內容。「/mount」參數有兩個,分別是「/mount」和「/mountrw」,其中前者能夠將鏡像映射爲只讀文件夾,然後者能夠將鏡像映射爲可讀寫文件夾。
要注意,這兩個命令都只能在Windows XP SP二、Windows Server 2003 SP1以及Windows
Vista中使用。同時在映射以前,還要安裝WIM FS插件,該插件在WAKI工具包中提供。
安裝好插件以後,在命令提示行窗口內運行下列命令:
p_w_picpathx /mountrw e:\c e:\data.wim 1
「e:\c」的含義是將鏡像映射到E盤下一個名爲「c」的文件夾中。若是該文件夾內當前有文件,那麼在被映射的鏡像卸載以前,原先的內容將沒法訪問。映射了鏡像以後,咱們就可使用Windows資源管理器打開映射出來的文件夾,查看其中的內容,添加或者刪除文件,或者像在操做本地硬盤那樣進行其餘操做。
由於咱們以前使用的參數是「/mountrw」,這樣映射出來的文件是可寫的,所以當用完以後,爲了使對文件的更改可以生效,咱們須要使用
「/unmount」參數配合「/commit」選項,合併對映像文件的修改,並將其卸載。能夠用這樣的命令:p_w_picpathx /unmount /commit
e:\c。
鏡像的提取和刪除
有時候您可能會遇到這樣的狀況:一個映像文件中附加了不少不一樣環境的鏡像文件,可其中一個鏡像文件已經沒用了。爲了減小存儲空間的佔用,您可能但願刪除不用的鏡像文件。同時,您可能還會有這樣的需求:想要將附加到一個映像文件中的獨立鏡像提取出來,作其餘用途。這些任務依然能夠經過p_w_picpathx的參數實現(本段內容須要在Windows
PE環境下操做)。
要刪除映像文件中附加的鏡像,咱們可使用「/delete」參數,例如:p_w_picpathx /delete d:\data.wim
1。若是但願將映像文件中的某個鏡像提取出來,可使用「/export」參數,例如:p_w_picpathx /export d:\new.wim d:\data.wim
1。
注意,在提取鏡像的時候必定要保證目標映像文件的所在分區具備足夠的可用空間。若是可用空間不足,程序不會報錯,依然會生成新的映像文件,可是文件自己是不完整的。
p_w_picpathx.exe的不足
雖然優點不少,不過目前p_w_picpathx.exe還有不少不足,主要表如今:
p_w_picpathx只能用於對完整的操做系統以及應用程序建立和應用映像。有些第三方的映像工具能夠在操做系統和應用程序發生改變後對其建立「差別映像」,這個p_w_picpathx.exe是作不到的。
p_w_picpathx只能建立和使用.wim(Windows Imaging)格式的映像文件,不支持使用其餘第三方工具建立的映像。
對於同一個映像文件只能使用一種壓縮等級,隨後附加的鏡像文件也必須使用和初始映像文件同樣的壓縮等級。
映像文件的映射只能在Windows XP SP二、Windows Server 2003 SP1或者Windows
Vista下進行。可是p_w_picpathx能夠對沒有安裝Service Pack的Windows XP和Windows Server
2003,以及任何版本的Windows 2000建立映像文件。
只有保存在NTFS文件系統下的映像文件才能夠被映射爲具備讀/寫權限的文件夾,而保存在FAT、FAT3二、ISO或UDF文件系統下的映像文件只能被映射爲只讀文件夾。這主要是爲了不FAT/FAT32文件系統最大2GB文件的體積限制有可能致使的數據丟失。
該工具不具備磁盤操做能力,由於須要使用微軟的其餘工具,例如Diskpart以及Format準備用於卷映像的磁盤分區。
IMAGEX /CAPTURE
p_w_picpathx /capture /compress fast c: G:\system.wim "Boot C"
//以標準壓縮率建立當前C盤的p_w_picpathx映像保存在G:\system.wim,並以"Boot C"標識
WIM文件建立 /capture
壓縮開關 /compress
壓縮模式 fast (maximum none)
建立源 c:
建立文件 G:\system.wim
WIM文件映像名 "Boot C"
IMAGEX /APPEND
p_w_picpathx /append d: G:\system.wim "Drive D"
//將當前D盤下的內空附加至G:\system.wim,並標識爲"Drive D"
WIM文件追加 /append
追加源 d:
追加目的 G:\system.wim
追加映像名稱 "Drive D"
IMAGEX /APPLY
p_w_picpathx /apply G:\system.wim 1 C:\ /verify
//將G:\system.wim文件中的第一個映像"Boot C"恢復至當前C盤下,完成後檢查文件
WIM文件恢復 /apply
源文件 G:\system.wim
目標路徑 C:\
校檢參數 /verify
IMAGEX /DELETE /?
p_w_picpathx /delete G:\system.wim 2
//刪除G:\system.wim第二個映像,即名爲Drive D的映像
WIM映像刪除 /delete
WIM文件 G:\system.wim
映像序號 2
IMAGEX /DIR
p_w_picpathx /dir G:\system.wim 1
//顯示G:\system.wim文件第一個映像"Boot C"內容
WIM映像查看 /dir
被查看WIM文件 G:\system.wim
被查看WIM文件序號 1
IMAGEX /INFO /?
p_w_picpathx /info G:\system.wim
//顯示G:\system.wim文件索引信息
WIM文件索引 /info
WIN文件 G:\system.wim
IMAGEX /EXPORT /?
p_w_picpathx /export G:\system.wim 1 G:\newsys.wim "newsys"
//提取G:\system.wim文件中第一個映像"Boot C"並將其保存爲一個新WIM文件G:\newsys.wim,標識爲"newsys"
WIM文件提取 /export
被提取文件 G:\system.wim
被提取映像序號 1
提取至 G:\newsys.wim
標識爲 "newsys"
IMAGEX /SPLIT /?
p_w_picpathx /split G:\newsys.wim G:\splitsys.swm 640
//對G:\newsys.wim文件進行按自定義大小"640"分割爲多個文件,並保存在G:盤以序列命名
WIM文件分割 /split
被分割文件 G:\newsys
分割大小(MB) 640
IMAGEX /MOUNT /?
IMAGEX /MOUNTRW /?
p_w_picpathx /mount G:\system.wim 2 G:\mount
p_w_picpathx /mountrw G:\system.wim 2 G:\mount
//將WIM文件G:\system.wim中第二個映像"Drive D"映射至G:\mount文件夾,/mountrw爲可寫
WIM文件映射只讀 /mount
WIM文件映射讀寫 /mountrw(NTFS)
WIM文件 G:\system.wim
映像序號 2
映射路徑 G:\mount
IMAGEX /UNMOUNT /?
p_w_picpathx /unmount /commit G:\mount
//結束對G:\mount的映射,並將改變同步至G:\system.wim文件第二個映像中
wimscript.ini
IMAGEX CAPTURE APPEND
[ExclusionList]
C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files
Hiberfil.sys
Pagefile.sys
[CompressionExclusionList]
*.zip
*.rar
*.jpg
*.mp3
[AlignmentList]app