微软系统封装工具ImageX使用方法及实例介绍
本文的所有操作都需要在Windows PE下進(jìn)行。雖然這可能沒有在DOS環(huán)境下方便,不過用Windows PE取代DOS已經(jīng)是一個(gè)必然的趨勢,同時(shí),Windows PE環(huán)境也使imagex的適用范圍更廣。
本文的所有操作都需要在Windows PE下進(jìn)行。雖然這可能沒有在DOS環(huán)境下方便,不過用Windows PE取代DOS已經(jīng)是一個(gè)必然的趨勢,同時(shí),Windows PE環(huán)境也使imagex的適用范圍更廣。
我們都知道,傳統(tǒng)的基于磁盤扇區(qū)的映像工具一般只能在Windows操作系統(tǒng)之外運(yùn)行,因此都使用了專用的恢復(fù)環(huán)境,例如軟件開發(fā)商提供的特殊 版本的 DOS。但這就存在一個(gè)問題,主要是關(guān)于存儲(chǔ)子系統(tǒng)的。現(xiàn)在我們使用的存儲(chǔ)子系統(tǒng)規(guī)格越來越多,除了傳統(tǒng)的 IDE,常見的還有SCSI、SATA,以及各種級(jí)別的RAID等,如何讓映像工具支持這些不常用的存儲(chǔ)子系統(tǒng)成了一個(gè)最大的問題。
以使用DOS作為恢復(fù)環(huán)境的映像工具為例,如果該工具沒有自帶用于RAID系統(tǒng)的DOS驅(qū)動(dòng)程序,那么就無法使用它對(duì)RAID系統(tǒng)創(chuàng)建和恢復(fù)映 像。但 imagex解決了這一問題,它的恢復(fù)環(huán)境是Windows PE,這可以看作是一個(gè)省略了圖形界面的Windows內(nèi)核,因此任何磁盤子系統(tǒng),只要提供了Windows下的驅(qū)動(dòng)程序,就可以用于Windows PE。
使用過程中大家可能會(huì)注意到,用Windows PE光盤引導(dǎo)計(jì)算機(jī),進(jìn)入Windows PE環(huán)境之前,屏幕上首先會(huì)顯示“Press F6 to Install…”的字樣,這和我們直接用光盤安裝Windows操作系統(tǒng)時(shí)的選項(xiàng)類似。如果您使用了一些比較不常用的存儲(chǔ)子系統(tǒng),例如SCSI或者 RAID,就需要在這個(gè)界面上按下F6,然后提供所需的驅(qū)動(dòng)程序,這樣引導(dǎo)后Windows PE才可以識(shí)別出您的硬盤。
下文中,實(shí)驗(yàn)所用系統(tǒng)的設(shè)置如下:C盤安裝操作系統(tǒng),D盤是光驅(qū),E盤用于保存創(chuàng)建的映像文件。不過當(dāng)我們用Windows PE光盤引導(dǎo)計(jì)算機(jī)后情況有所變化,C盤依然是系統(tǒng)盤,但光驅(qū)成了X盤,Windows下的E盤成了Windows PE環(huán)境下的D盤。因此為了避免混淆,在Windows PE環(huán)境下的操作將會(huì)使用PE中的盤符名稱,但在Windows環(huán)境下的操作將會(huì)使用Windows中的盤符。
創(chuàng)建映像
首先我們需要準(zhǔn)備一臺(tái)模板計(jì)算機(jī),在這臺(tái)計(jì)算機(jī)上安裝打算批量部署的操作系統(tǒng),并安裝所有需要的驅(qū)動(dòng)程序、應(yīng)用軟件、系統(tǒng)更新程序,同時(shí)我們還 可以根據(jù)實(shí)際需要對(duì)系統(tǒng)和程序的各種選項(xiàng)進(jìn)行設(shè)置。設(shè)置完成之后運(yùn)行sysprep.exe刪除所有不必要的信息 ,并關(guān)閉計(jì)算機(jī)。
進(jìn)行到這一步的時(shí)候,和使用傳統(tǒng)的基于分區(qū)的影響工具部署都沒有太大區(qū)別,不過接下來我們要使用微軟自己的映像工具了。
假設(shè)我們希望使用默認(rèn)設(shè)置創(chuàng)建一個(gè)C盤的映像,映像文件將以data.wim為名保存在D盤根目錄下,并在創(chuàng)建完成后進(jìn)行數(shù)據(jù)校驗(yàn),那么我們可以使用這樣一個(gè)命令:
imagex /capture c: d:\data.wim "Drive C " /verify
“/capture”參數(shù)的作用是創(chuàng)建映像文件,而該參數(shù)后面的“c:”則指定了要?jiǎng)?chuàng)建映像的目標(biāo)分區(qū)。“d:\data.wim”這個(gè)參數(shù)指 定了鏡像文件的保存位置以及名稱,“Drive C”參數(shù)定義了映像文件的描述,需要用引號(hào)引用。最后的“/verify”參數(shù)則會(huì)讓imagex創(chuàng)建完映像之后進(jìn)行校驗(yàn)。當(dāng)看到圖1所示的界面時(shí),表示 我們的命令是正確的,程序正在創(chuàng)建C盤的映像。當(dāng)屏幕顯示“Successfully imaged c:\”的字樣時(shí)表示映像已經(jīng)創(chuàng)建完成了。
這時(shí)候我們就可以將創(chuàng)建出來的data.wim文件保存起來,并用于之后的部署了。這里還有一個(gè)有趣的功能需要提醒您:imagex可以將 創(chuàng)建出來的映像文件保存在預(yù)創(chuàng)建映像的分區(qū)上。例如本例中,我們就完全可以將data.wim保存在C盤,這其實(shí)是基于文件的映像工具和基于扇區(qū)的映像工 具的最大不同。 ? 壓縮映像當(dāng)然,imagex能做到的還有很多。有時(shí)我們可能會(huì)希望盡量減小生成的映像文件的體積,這時(shí)候就可以用到imagex的壓縮功能了。壓縮參數(shù)有兩個(gè)選項(xiàng):Fast和Maximum,其中后者的壓縮率更高一些,當(dāng)然花費(fèi)的時(shí)間也要長一些。還是上面的例子,如果需要以Maximum等級(jí)壓縮創(chuàng)建出來的映像文件,可以使用這條命令:
imagex /compress maximum /capture c: d:\data2.wim “Drive C” /verify
遺憾的是該參數(shù)只能在創(chuàng)建映像文件的時(shí)候使用,對(duì)于已經(jīng)創(chuàng)建好的映像文件,已經(jīng)無法通過該參數(shù)進(jìn)行壓縮,或者更改壓縮等級(jí)了。
拆分映像
如果您希望將創(chuàng)建出來的映像文件按照一定大小拆分,以便刻錄到光盤或者保存到其他可以動(dòng)存儲(chǔ)介質(zhì)上,那么可以使用imagex的 “/split”參數(shù)。例如,如果我們希望將之前創(chuàng)建的data.wim文件以640 MB為大小拆分,以便刻錄到CD光盤上,那么可以使用這條命令:
imagex /split d:\data.wim d:\datasplited.swm 640
該操作將會(huì)創(chuàng)建一系列帶有固定編號(hào)的.swm文件,例如我們要拆分的文件是data.wim,那么拆分后的文件就是data1.swm、 data2.swm等。該參數(shù)同樣有些不足:首先,無法在創(chuàng)建映像文件的時(shí)候使用,只能在映像文件創(chuàng)建成功之后使用。另外,拆分的文件大小是以MB為單位 指定的,如果我們需要以GB為單位拆分文件以便刻錄DVD光盤上,顯得不夠靈活。
應(yīng)用映像
我們已經(jīng)創(chuàng)建好了系統(tǒng)映像文件,日后如果需要在多臺(tái)計(jì)算機(jī)上部署,或者某臺(tái)計(jì)算機(jī)的系統(tǒng)崩潰,就可以使用創(chuàng)建好的映像文件來恢復(fù)。恢復(fù)過程是非常簡單的,依然需要進(jìn)入到Windows PE環(huán)境下,然后使用“/apply”參數(shù)運(yùn)行imagex.exe程序即可。
對(duì)于新計(jì)算機(jī)有一點(diǎn)需要注意,在使用imagex安裝操作系統(tǒng)映像之前,必須首先給硬盤分好區(qū)。您可以使用Windows PE自帶的分區(qū)工具diskpart.exe進(jìn)行。而如果您嫌麻煩,或者需要處理的計(jì)算機(jī)太多,也可以自己編寫腳本,讓W(xué)indows PE啟動(dòng)后自動(dòng)進(jìn)行分區(qū)操作。
假設(shè)我們要把之前創(chuàng)建的保存在D盤的data.wim文件重新恢復(fù)到C盤,那么可以首先格式化C盤,然后使用這條命令:
imagex /apply d:\data.wim 1 c: /verify
這里要注意映像名稱后面的編號(hào)“1”,下文中我們將會(huì)介紹,imagex可以把多個(gè)鏡像文件附加到同一個(gè)映像中,那么在使用某個(gè)特定鏡像部 署系統(tǒng),或者執(zhí)行其他類似操作的時(shí)候,怎樣從附加了多個(gè)鏡像的映像文件中指定特定鏡像呢?這里就需要使用編號(hào)了,如果希望對(duì)第幾個(gè)鏡像進(jìn)行操作,在映像文 件名稱后添加該鏡像的編號(hào)即可。 高級(jí)應(yīng)用除了上面介紹的功能,imagex還有很多功能可以適合不同情況。同樣,下文將會(huì)通過幾個(gè)具體的實(shí)例向您介紹。
文件附加
有時(shí)我們可能會(huì)遇到這樣的情況:當(dāng)我們安裝好操作系統(tǒng)之后,需要?jiǎng)?chuàng)建一個(gè)映像文件;而安裝完補(bǔ)丁程序以及驅(qū)動(dòng)程序之后,需要?jiǎng)?chuàng)建另外一個(gè)映像; 等安裝完所有其他需要的應(yīng)用程序,并進(jìn)行過必要的設(shè)置之后,還需要?jiǎng)?chuàng)建第三個(gè)映像文件。這樣的要求有一個(gè)特點(diǎn),那就是三個(gè)映像文件中大部分?jǐn)?shù)據(jù)都是相同 的,而每次都是只有部分文件被增刪或者更改。那么按照一般的做法,直接創(chuàng)建三個(gè)各自獨(dú)立的映像文件,無疑浪費(fèi)了大量的存儲(chǔ)空間,而且映像文件太多也不利于 日后的管理。
為了解決這個(gè)問題,imagex中包含了一個(gè)叫做附加的功能。簡單來說,該功能可以在一個(gè)映像文件中保存多個(gè)不同狀態(tài)下的操作系統(tǒng)鏡像。例如之 前設(shè)想的情況,將操作系統(tǒng)在三個(gè)時(shí)候的不同狀態(tài)全部附加到同一個(gè)映像文件中,這樣,因?yàn)椴僮飨到y(tǒng)中有大量三個(gè)狀態(tài)下沒有發(fā)生任何更改的文件,因此這些文件 實(shí)際上在映像文件中只需要保存一個(gè)實(shí)例,這就可以在壓縮的基礎(chǔ)上更進(jìn)一步減小映像文件的體積。
注意,這里提到了兩個(gè)名詞:“映像”和“鏡像”。為了方便敘述,下文對(duì)這兩個(gè)名詞的定義如下:對(duì)操作系統(tǒng)所在分區(qū)進(jìn)行“復(fù)制”創(chuàng)建的文件稱之為“鏡像”,而多個(gè)“鏡像”附加在一起即形成一個(gè)“映像”。
在上文的操作中我們已經(jīng)對(duì)整個(gè)系統(tǒng)盤創(chuàng)建了一個(gè)完整映像data.wim,假設(shè)當(dāng)時(shí)我們只是安裝了操作系統(tǒng),還沒有裝驅(qū)動(dòng)和應(yīng)用程序,那么現(xiàn)在 我們可以啟動(dòng)到正常Windwos狀態(tài)下,按照需要安裝所有的驅(qū)動(dòng)和程序,然后重啟動(dòng)計(jì)算機(jī)到Windows PE環(huán)境(別忘了運(yùn)行sysprep.exe)。要?jiǎng)?chuàng)建新的鏡像,并附加到現(xiàn)有的映像文件中,可以使用下列命令:
imagex /append c: d:\data.wim “Drive C 2” /verify。
“/append”的作用是將目標(biāo)分區(qū)附加到現(xiàn)有文件,需要注意,如果已經(jīng)使用了“/append”參數(shù),就不需要同時(shí)使用“/capture”了。而后面的“d:\data.wim”則指定了要被附加的文件所在位置和名稱。
注意,如果被附加的源映像文件被壓縮過,那么附加上去的鏡像文件就必須進(jìn)行同樣等級(jí)的壓縮。 配置文件imagex的某些選項(xiàng)可以由配置文件指定,這樣我們就可以預(yù)先編寫好配置文件,然后一次執(zhí)行,實(shí)現(xiàn)比較復(fù)雜的操作。要指定配置文件,需要以“/config”參數(shù)啟動(dòng)imagex。配置文件中主要有三個(gè)字段,各自的含義如下。
[ExclusionList]
定義了使用“/capture”參數(shù)后被排除的文件和文件夾名稱
[CompressionExclusionList]
定義了不被壓縮的文件或文件夾名稱,或者文件類型。這里可以使用通配符
[AlignmentList]
指定文件以64K為范圍排列,這些文件將不會(huì)被壓縮,而壓縮后的文件將會(huì)以32K為范圍排列。
我們只需要在文本編輯器,例如Windows記事本中按照上述規(guī)定的字段編寫內(nèi)容,然后將文件保存為.ini格式,就可以在使用imagex.exe的時(shí)候通過“/config”參數(shù)調(diào)用了。
打開Windows記事本或者其他任何文本編輯器,分別輸入[ExclusionList]、[CompressionExclusionList]和[AlignmentList]三個(gè)字段,然后按照需要為這三個(gè)字段設(shè)定內(nèi)容。
例如,如果我們希望在創(chuàng)建映像文件的時(shí)候跳過分頁文件和休眠文件,那么就可以在[ExclusionList]字段下添加這兩個(gè)文件的名稱: “Hiberfil.sys”和“Pagefile.sys”。注意,每個(gè)文件要占用一行空間。如果我們希望在壓縮文件的時(shí)候取消對(duì)所有擴(kuò)展名為.zip 的文件的壓縮(畢竟它們已經(jīng)被壓縮過了,再次壓縮只能延長所需時(shí)間,體積的變化不會(huì)太明顯),那么可以在 [CompressionExclusionList]字段下添加“*.zip”這一行內(nèi)容。
注意:通常情況下,如果要使用配置文件,那么就必須在運(yùn)行imagex命令的時(shí)候使用/config參數(shù),并指定配置文件的位置。但如果我 們預(yù)先將配置文件以wimscript.ini為名保存在imagex.exe文件所在的文件夾下,那么以后運(yùn)行的時(shí)候只要使用了“/capture”參 數(shù),該配置文件就會(huì)被自動(dòng)加載,而不管我們有沒有配合“/config”參數(shù)一起使用。 映像文件的維護(hù)我們已經(jīng)了解了如何創(chuàng)建和應(yīng)用映像文件,那么日常維護(hù)方面,這種新的文件格式又能帶給我們什么?需要注意,之前介紹的所有操作都是使用imagex在Windows PE的命令行環(huán)境下運(yùn)行,而接下來要介紹的一些功能在正常的Windows模式下就可以操作。
查看映像文件信息
我們首先繼續(xù)討論一下前文中存在的一個(gè)問題,對(duì)于附加了多個(gè)鏡像的映像文件,可以通過添加編號(hào)的方式指定對(duì)哪個(gè)鏡像進(jìn)行操作。但是一旦時(shí)間長了,我們?nèi)绾沃滥硞€(gè)映像文件中有幾個(gè)鏡像,分別是什么內(nèi)容?這就要用到imagex的另一個(gè)參數(shù)“/info”了。
還是以上文創(chuàng)建的附加了多個(gè)鏡像的映像文件data.wim為例,在Windows PE環(huán)境下,運(yùn)行這樣的命令:imagex /info d:\data.wim,我們可以看到,程序會(huì)自動(dòng)顯示一個(gè)以XML格式保存的文件,文件的內(nèi)容就是該映像文件中所有附加的鏡像文件的信息(圖3)。這里 面大家可以留意看“”這一字段的內(nèi)容,這其實(shí)就是我們?cè)谑褂?“/capture”參數(shù)創(chuàng)建映像時(shí)輸入的描述。因此在使用的時(shí)候要注意輸入詳細(xì)的描述信息,方便日后的使用。
查看映像文件內(nèi)容
隨著使用時(shí)間的延長,管理員們可能需要管理越來越多各種用途的映像文件。如何快速從多個(gè)映像文件中找到自己的目標(biāo)就顯得非常重要。通過使用 imagex的 “/dir”參數(shù),我們就可以直接把某個(gè)映像文件,甚至具體到其中附加的某個(gè)鏡像的內(nèi)容顯示出來。該參數(shù)的使用方法是這樣的:imagex /dir d:\data.wim 1。
首先讓我們?cè)囋嚳词褂谩?dir”參數(shù)列出映像文件中具體某個(gè)鏡像的內(nèi)容。回到Windows正常狀態(tài)下(注意,這一步操作不能在Windows PE環(huán)境下進(jìn)行,必須回到Windows下),然后運(yùn)行下列命令:
imagex /dir d:\data.wim 1
這將顯示data.wim這個(gè)映像文件中包含的鏡像內(nèi)容(如果映像文件中包含了多個(gè)鏡像,也可以通過編號(hào)指定具體鏡像)。這里顯示的內(nèi)容非常多,查看起來很不方便,那么我們就可以使用這樣的命令:
imagex /dir d:\data.wim 1 >d:\list.txt
該命令可以將顯示的內(nèi)容全部輸出到D盤一個(gè)名為list.txt的文本文件中,使用文本編輯器查看和搜索具體文件就相當(dāng)簡單了。
這里有個(gè)問題需要注意,就算您的映像文件中只包含了一個(gè)鏡像,在使用/dir參數(shù)的時(shí)候依然需要在文件名后面指定鏡像編號(hào),否則將無法列出其中的內(nèi)容。暫時(shí)不清楚這是設(shè)計(jì)特性還是軟件的Bug。 將映像文件內(nèi)容映射為文件夾除了使用“/dir”參數(shù)列出映像文件的概括內(nèi)容,我們還可以使用“/mount”參數(shù)和“/unmount”參數(shù)將映像文件中具體的鏡像映射 為本地硬盤上的文件夾,并編輯其中的內(nèi)容。“/mount”參數(shù)有兩個(gè),分別是“/mount”和“/mountrw”,其中前者可以將鏡像映射為只讀文 件夾,而后者可以將鏡像映射為可讀寫文件夾。
要注意,這兩個(gè)命令都只能在Windows XP SP2、Windows Server 2003 SP1以及Windows Vista中使用。同時(shí)在映射之前,還要安裝WIM FS插件,該插件在WAKI工具包中提供。
安裝好插件之后,在命令提示行窗口內(nèi)運(yùn)行下列命令:
imagex /mountrw e:\c e:\data.wim 1
“e:\c”的含義是將鏡像映射到E盤下一個(gè)名為“c”的文件夾中。如果該文件夾內(nèi)當(dāng)前有文件,那么在被映射的鏡像卸載之前,原先的內(nèi)容將無法 訪問。映射了鏡像之后,我們就可以使用Windows資源管理器打開映射出來的文件夾,查看其中的內(nèi)容,添加或者刪除文件,或者像在操作本地硬盤那樣進(jìn)行 其他操作。
因?yàn)槲覀冎笆褂玫膮?shù)是“/mountrw”,這樣映射出來的文件是可寫的,因此當(dāng)用完之后,為了使對(duì)文件的更改能夠生效,我們需要使用 “/unmount”參數(shù)配合“/commit”選項(xiàng),合并對(duì)映像文件的修改,并將其卸載。可以用這樣的命令:imagex /unmount /commit e:\c。鏡像的提取和刪除
有時(shí)候您可能會(huì)遇到這樣的情況:一個(gè)映像文件中附加了很多不同環(huán)境的鏡像文件,可其中一個(gè)鏡像文件已經(jīng)沒用了。為了減少存儲(chǔ)空間的占用,您可能 希望刪除不用的鏡像文件。同時(shí),您可能還會(huì)有這樣的需求:想要將附加到一個(gè)映像文件中的獨(dú)立鏡像提取出來,做其他用途。這些任務(wù)依然可以通過imagex 的參數(shù)實(shí)現(xiàn)(本段內(nèi)容需要在Windows PE環(huán)境下操作)。
要?jiǎng)h除映像文件中附加的鏡像,我們可以使用“/delete”參數(shù),例如:imagex /delete d:\data.wim 1。如果希望將映像文件中的某個(gè)鏡像提取出來,可以使用“/export”參數(shù),例如:imagex /export d:\new.wim d:\data.wim 1。
注意,在提取鏡像的時(shí)候一定要保證目標(biāo)映像文件的所在分區(qū)具有足夠的可用空間。如果可用空間不足,程序不會(huì)報(bào)錯(cuò),依然會(huì)生成新的映像文件,但是文件本身是不完整的。
imagex.exe的不足
雖然優(yōu)勢很多,不過目前imagex.exe還有很多不足,主要表現(xiàn)在:
imagex只能用于對(duì)完整的操作系統(tǒng)以及應(yīng)用程序創(chuàng)建和應(yīng)用映像。有些第三方的映像工具可以在操作系統(tǒng)和應(yīng)用程序發(fā)生改變后對(duì)其創(chuàng)建“差異映像”,這個(gè)imagex.exe是做不到的。
imagex只能創(chuàng)建和使用.wim(Windows Imaging)格式的映像文件,不支持使用其他第三方工具創(chuàng)建的映像。
對(duì)于同一個(gè)映像文件只能使用一種壓縮等級(jí),隨后附加的鏡像文件也必須使用和初始映像文件一樣的壓縮等級(jí)。
映像文件的映射只能在Windows XP SP2、Windows Server 2003 SP1或者Windows Vista下進(jìn)行。但是imagex可以對(duì)沒有安裝Service Pack的Windows XP和Windows Server 2003,以及任何版本的Windows 2000創(chuàng)建映像文件。
只有保存在NTFS文件系統(tǒng)下的映像文件才可以被映射為具有讀/寫權(quán)限的文件夾,而保存在FAT、FAT32、ISO或UDF文件系統(tǒng)下的映像文件只能被映射為只讀文件夾。這主要是為了避免FAT/FAT32文件系統(tǒng)最大2GB文件的體積限制有可能導(dǎo)致的數(shù)據(jù)丟失。
該工具不具有磁盤操作能力,因?yàn)樾枰褂梦④浀钠渌ぞ?#xff0c;例如Diskpart以及Format準(zhǔn)備用于卷映像的磁盤分區(qū)。
總結(jié)
以上是生活随笔為你收集整理的微软系统封装工具ImageX使用方法及实例介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手工备份与还原Windows8激活文件
- 下一篇: Android操作HTTP实现与服务器通