WinPE系統(tǒng)中加載多個(gè)wim鏡像的方法與掛載方法
代碼:
MOUN %Curdrv%\MINIPE\OP.wim,Y:\OP\,1
FIND MEM>128,IFEX %Curdrv%\MINIPE\OP2.wim,MOUN %Curdrv%\MINIPE\OP2.wim,Y:\OP2\,1
FIND MEM>256,IFEX %Curdrv%\MINIPE\OP3.wim,MOUN %Curdrv%\MINIPE\OP3.wim,Y:\OP3\,1
備注:OP是默認(rèn)加載。當(dāng)內(nèi)存大于128M時(shí),且存在OP2.wim,加載OP2.wim。當(dāng)內(nèi)存大于256M時(shí),且存在OP3.wim,加載OP3.wim。
WinPE系統(tǒng)中WIM文件在不可寫介質(zhì)上可寫掛載的處理方法
WinPE系統(tǒng)分光盤、U盤和硬盤啟動(dòng),其掛載WIM文件有可寫和非可寫掛載兩種方式,如果是可寫介質(zhì)啟動(dòng)的話可以實(shí)現(xiàn)可寫掛載(本文不重點(diǎn)探討)。光盤是非可寫的,所以無法可寫掛載WIM文
件。 一些軟件運(yùn)行的時(shí)候會(huì)產(chǎn)生一些文件,如:殺軟、迅雷等,如果非可寫的話就會(huì)出錯(cuò)。現(xiàn)提供一種方法徹底解決這樣的問題,解決的關(guān)鍵就是判斷WinPE系統(tǒng)是從那種介質(zhì)啟動(dòng)的?如果是CD方
式啟動(dòng)的,就是非可寫的。這個(gè)判斷讓W(xué)IM文件里的啟動(dòng)程序來做是最好的。下面以opera.wim為例說明處理方法,假設(shè)opera.wim中包含兩個(gè)文件,一個(gè)opera.exe,另一個(gè)opera.cmd,而關(guān)鍵的部
分就opera.cmd,其代碼如下:
代碼:
@echo off
COLOR 5f
for %%a in (y x w v u t s r q p o n m l k j i h g f e d c) do (
if exist %%a:\minipe\opera.wim (
if not exist %%a:\minipe\opera.wim\ (
fsutil fsinfo drivetype %%a:|findstr /i "CD">nul&&(
call :one
exit)||(
call :two
exit)
)
)
)
:one
echo.
echo 啟動(dòng)程序判斷此PE是光盤啟動(dòng)的,光盤是非可寫介質(zhì),為了是程序正常啟動(dòng),
echo.
echo. 請(qǐng)指定文件運(yùn)行的分區(qū),我們會(huì)將文件復(fù)制到您指定分區(qū)的peopera下,以便
echo.
echo. 下次可以減少此次操作。
echo. -------------------------------------------------------------------
echo.
set /p TP=請(qǐng)輸入運(yùn)行分區(qū)
echo.
echo.
Set TP=%TP:~0,1%
xcopy Y:\opera /e %TP%:\peopera\ /y /h /r>nul 2>nul
attrib -r -a %TP%:\peopera /s /d
pushd %TP%:\peopera
start operausb.exe
)
goto :eof
:two
start operausb.exe
goto :eof
說明:
1、首先,用戶點(diǎn)擊運(yùn)行opera.wim的時(shí)候,會(huì)先啟動(dòng)里面的opera.cmd,由它來判斷WinPE系統(tǒng)是不是在CD介質(zhì)上啟動(dòng)運(yùn)行的,如果是,那么就提示用戶設(shè)置一個(gè)本地分區(qū),當(dāng)用戶指定本地分區(qū)
后,這時(shí)候,opera.cmd就會(huì)將所需的文件復(fù)制到本地分區(qū)上并運(yùn)行。如果判斷WinPE系統(tǒng)在可寫介質(zhì)上運(yùn)行,那么就直接運(yùn)行程序。
2、此判斷程序需要有findstr.exe和fsutil.exe這兩個(gè)文件,一般的WinPE系統(tǒng)內(nèi)核中是沒有的,這兩個(gè)文件或放在內(nèi)核中,或放在WIM文件中,但建議放在內(nèi)核中,因?yàn)橛性S多軟件都需要同樣
的處理。
3、此方法適用于ISO和IMG核心的WinPE系統(tǒng),同樣也適合是否開B盤的。
WinPE系統(tǒng)中掛載WIM映像的方法
本方法由“無憂老九”提供,本貼只作免費(fèi)分享。
Microsoft Windows Imaging Format (WIM) 映像是MS新型的映像文件,具有高壓縮比、掛接方便、掛接內(nèi)存小等特點(diǎn)。在XP/2K3的WinPE中通過掛接WIM作為外置程序,可以避免外置程序受到
病毒等因素的破壞,使外置程序更加安全可靠,同時(shí)也可使對(duì)外發(fā)行的WinPE打包文件更小更簡(jiǎn)潔。
一、WinPE中的WimFltr組件:
在現(xiàn)行WinPE中掛載WIM文件的支持相當(dāng)簡(jiǎn)單,無需修改TXTSETUP.SIF文件、也無需.INF文件,只需在注冊(cè)表文件(SETUPREG.HIV)增加兩項(xiàng)服務(wù)和分別向SYSTEM32目錄、DRIVERS目錄復(fù)制兩個(gè)文
件即可,下面是WimFltr組件的文件列表:
I386
|
+---SYSTEM32
|
+-----WIMGAPI.DLL
|
+-----FLTLIB.DLL
|
+-----DRIVERS
|
+-----WIMFLTR.SYS
|
+-----WIMFSF.SYS
二、用PECMD.EXE掛載WIM映像的注意事項(xiàng):
經(jīng)老九無數(shù)次試驗(yàn),得到這樣的經(jīng)驗(yàn):在WinPE中開啟WimFltr、FBWF兩項(xiàng)服務(wù)時(shí)有先后之分,啟動(dòng)FBWF服務(wù)必須在啟動(dòng)WimFltr之后,否則無法掛載WIM映像(包括用MS的IMAGEX.EXE也無法掛載
WIM映像,原因不明)。所以,基于IMG格式的WinPE核心要保留適當(dāng)?shù)目蓪懣臻g(500K左右應(yīng)足夠了),同時(shí)在配置文件中盡早通過FILE命令刪掉一些啟動(dòng)后無用的垃圾文件;基于ISO格式的WinPE核心
要有一個(gè)可寫的RamDisk(即B:盤),因FBWF服務(wù)還沒啟動(dòng)時(shí)無法將WIM掛載到X:盤中,只能掛載到RamDisk(B:盤)中。MOUN命令的格式如下: 引用:
MOUN [Wim文件名], <Mount目標(biāo)目錄>, [映像ID], [WimFltr臨時(shí)工作目錄] 其中:藍(lán)色的參數(shù)是必須的,紅色的參數(shù)是可選項(xiàng)。
1、如果WIM映像是只讀的(如在光盤中),紅色的參數(shù)"WimFltr臨時(shí)工作目錄"必須省略,否則無法掛上WIM映像。
2、當(dāng)設(shè)置WimFltr臨時(shí)工作目錄時(shí)表示RW(讀寫)方式掛載,這個(gè)目錄建議設(shè)置到硬盤;
3、當(dāng)省略WimFltr臨時(shí)工作目錄時(shí)表示(只讀)方式掛載,掛載后的目標(biāo)目錄是可寫的。
三、其它注意事項(xiàng):
一旦掛載上WIM映像后,建議不要用其它工具對(duì)原WIM映像讀寫(包括用RAR打包這類操作);如果機(jī)子內(nèi)存不大,建議設(shè)置虛擬內(nèi)存并將臨時(shí)文件夾設(shè)置到硬盤