支持Explorer桌面的WinPE3.1純凈制作步驟與技術(shù)要點(diǎn)
(Wingwy文章基礎上的補充)
2012-4-20于深圳
特別說(shuō)明:本文絕大部分是參考以下原創(chuàng )文章,只是在我實(shí)踐后進(jìn)行歸納、準確、詳細的描述。按照本文,有一定電腦知識的應能很快做出純凈(這里的純凈指不帶任何你不放心的文件,全部是微軟官方文件)的帶Explorer桌面的、具備Windows基本功能的WinPE3.1。參考文獻:
http://www.wingwy.com/archives/2011_02_857.html
http://www.wingwy.com/archives/2011_11_961.html
我制作的WinPE文件對比與拷貝程序(開(kāi)源)、支持Explorer的文件清單、注冊表導出項文件(一系列reg文件,用于快速修改注冊表)。
4.25日更新下載
http://115.com/file/dpbb3ux3#干凈WinPE制作工具(發(fā)布).rar
一、背景
關(guān)注PE的人群有兩類(lèi):一類(lèi)是下載網(wǎng)上已經(jīng)做好的PE的ISO文件進(jìn)行電腦維護工作;另一類(lèi)是自己做PE(技術(shù)愛(ài)好者;或害怕病毒/后門(mén)的人)。我是屬于后者。一般來(lái)說(shuō),我從不在自己日常使用的電腦環(huán)境下運行網(wǎng)上下載的非官方exe文件,何況是操作系統!網(wǎng)上的PE,說(shuō)不清楚里面有什么東東,我稍懂一點(diǎn)編程,知道其中的后果:你運行一個(gè)exe文件,就是把自己的電腦完全交給軟件的作者了,他愿意在你的電腦上干什么,完全取決于他的道德水平了!因此,我從不運行網(wǎng)上下載的工具軟件(大的軟件公司如微軟、Symantec等正式發(fā)布的軟件除外,而且我只從官網(wǎng)下載)。我的目標是:基于微軟的正版安裝光盤(pán),wim文件中不添加任何其他第三方軟件,做一個(gè)Win7PE,實(shí)現explorer桌面、控制面板、IE上網(wǎng)、中文輸入等Windows常用功能,里面不包含任何其它來(lái)路不明的文件。
Win7PE,網(wǎng)上有大量DIY下載(其中超過(guò)一半被我公司電腦上的SEP發(fā)現病毒或后門(mén)),我用虛擬機測試了一下,Wing大的PE最實(shí)用、最好用。但即使是Wing大的,我也不直接用他的ISO(不是不相信他個(gè)人,我想誰(shuí)也無(wú)法100%保證自己的做的PE沒(méi)有任何問(wèn)題吧?)。
怎樣從微軟的Waik+Win7安裝原盤(pán)(Install.wim)建立帶explorer桌面的WinPE?網(wǎng)上到處都是一些似是而非的文章,只有Wingwy的文章是原創(chuàng )的,而且有重要價(jià)值!很多網(wǎng)上都是轉載,甚至剽竊這篇文章。我就是從這篇文章入手,成功實(shí)現了。當然過(guò)程中遇到很多問(wèn)題,其中有些是Wingwy的文章中沒(méi)有講清楚(可能因為是事后回憶),例如部分文件缺失。因此,我寫(xiě)了這篇文章,一是自己留個(gè)備忘,二是給尚處于迷茫中的初學(xué)者一些提示,少走些彎路(WinPE的DIY并不是高技術(shù),但充滿(mǎn)痛苦的?。?。
WinPE制作,無(wú)非是文件和注冊表。我的做法是:當你看好一個(gè)網(wǎng)上的PE后(例如Wingwy的),就叫它“參考PE”吧,照著(zhù)它的樣子自己做一個(gè)(本文叫“目標PE”):①文件部分,我編了一個(gè)小程序,把“參考PE”中的文件清單全部找出來(lái),從原版Win7目錄中將Waik原生PE中沒(méi)有的文件拷貝出來(lái)(不含ux.exe, pecmd等);②注冊表:可以參照Wingwy的教程一步步自己做(我在本文中對步驟進(jìn)行了優(yōu)化,修改了幾處Wingwy記錯的地方,還添加了一些),也可以嘗試直接用參考PE的,呵呵。注冊表不會(huì )有病毒吧!
二、準備工作:
1、從微軟網(wǎng)站下載Waik 3.0和WAIK 3.1補充文件:
WAIK 3.0安裝文件(WINPE3.0):
http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=696DD665-9F76-4177-A811-39C26D3B3B34
WAIK 3.1補充文件(SP1補丁,即WINPE3.1):
http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=0aee2b4b-494b-4adc-b174-33bc62f02c5d
將以上兩個(gè)ISO文件刻錄到光盤(pán)(文件1G多),或用ULTROISO加載到虛擬光盤(pán)。
先將第一個(gè)ISO加載到光驅?zhuān)惭b第一個(gè)WAIK3.0??稍赬P下安裝,但安裝前可能需要安裝.net framework和MSXML6SP1等(安裝界面可直接點(diǎn)擊安裝);
再將第二個(gè)ISO加載到光驅?zhuān)揑SO包中沒(méi)有安裝程序,要手動(dòng)將該光盤(pán)中的所有文件替換到WAIK3.0的安裝目錄,微軟說(shuō)明文檔中提供了替換命令,微軟說(shuō)明文檔為
http://technet.microsoft.com/zh-CN/library/dd349350%28WS.10%29.aspx
替換命令為:xcopy H:\ “C:\Program Files\Windows AIK\Tools\PETools” /ERDY ,其中需要將H:替換為加載的光盤(pán)盤(pán)符。
2、安裝UltraISO
UltraISO是玩PE DIY的必備工具,用于將ISO文件加載為虛擬光驅、將ISO文件刻錄成PE啟動(dòng)光盤(pán)或U盤(pán)(最新版可自動(dòng)將PE放在隱藏分區)。
官網(wǎng)下載:http://www.ezbsystems.com/download.htm
中文官網(wǎng):http://cn.ezbsystems.com/download.htm
網(wǎng)上流傳的注冊碼,一般只能用于注冊第二個(gè)網(wǎng)址下載的。網(wǎng)上若找不到,到TB上購買(mǎi)一個(gè)。
3、安裝RegistryWorkshop(簡(jiǎn)稱(chēng)RW吧)
這個(gè)不是必備的,你可以用regedit直接操作注冊表,但RW可以批量自動(dòng)查找與替換、批量刪除、注冊表對比等,在準備PE注冊表時(shí),要用到批量刪除與修改(若不用RW,還真難辦)。安裝后,不必注冊,試用期有30天。官網(wǎng):http://www.torchsoft.com/
這里順便提一下怎樣編輯注冊表文件,供不懂的人參考(我也是最近才搞清楚,其實(shí)還挺復雜的,我相信搞懂的人不多,特別是權限問(wèn)題):運行regedit.exe或啟動(dòng)RW后,加載的是正在運行的Windows的注冊表,你編輯后,當即生效(沒(méi)有保存這一說(shuō))。
問(wèn)題1:怎樣編輯PE的注冊表?是否需要啟動(dòng)PE才能編輯PE自己的注冊表?不用,在Windows下你可以從菜單→文件→Load hive,分別加載PE的SOFTWARE/SYSTEM/DEFAULT的注冊表文件,取一個(gè)名字(例如PE-SOFT)來(lái)進(jìn)行編輯;編輯完成后,Unload hive即可(需要選中PE-SOFT注冊項Unload hive才變成可點(diǎn)擊)。若用RW,則Unload時(shí),可能會(huì )提示無(wú)權限,退出RW重新進(jìn)入就可以了。
問(wèn)題2:怎樣將安裝光盤(pán)的Install.wim中的注冊表的某一項(例如HKLM-SOFTWARE下的某一項)更新到PE的注冊表相同的文職?方法是先導出為reg文件,再導入到PE中。步驟:先加載Install.wim中的注冊表(如SOFTWARE),加載命名為PE-SOFT,找到導出項,導出成xxx.reg,卸載;然后加載PE的SOFTWARE,同樣命名為PE-SOFT(必須與剛才同名),導入xxx.reg,再卸載即可。
問(wèn)題3:怎樣克服注冊表修改的權限問(wèn)題?很多人都說(shuō)必須在PE環(huán)境中直接修改PE自己的注冊表,因為在Windows下因為權限問(wèn)題不能修改加載的PE注冊表。我費了好大勁,才知道有辦法(注意過(guò)程的細節,否則不行):①先將所有者變成自己:選中加載后的PE-SOFT項,右鍵單擊PE-SOFT→權限→高級→所有者→選中自己的賬戶(hù)→注意勾選“替換子容器和對象的所有者”→應用,先退出全部對話(huà)框,再重復右鍵單擊PE-SOFT→權限→高級→添加賬戶(hù)→將自己的賬戶(hù)添加進(jìn)權限清單→勾選所有權限→將應用于改成“This key and subkeys”→注意勾選下面的兩個(gè)選項框→應用。這時(shí),你發(fā)現可以修改和刪除PE-SOFT中的注冊項了。
4、準備好待拷貝的Win7文件
目的:將Waik原生PE缺失的文件,從這里拷貝。
可以從Win7安裝光盤(pán)的Install.wim映像文件加載(解壓縮)到一個(gè)目錄(如:G:\Win7SP1\Mount),可以用imagex命令將其解壓縮,例如:
imagex /apply g:\Win7sp1\install.wim 2 g:\Win7_64 其中的2表示第二個(gè)映像
也可以通過(guò)WinPE將新安裝好的Win7系統盤(pán)中的文件拷貝到另外一個(gè)目錄,安裝好的Win7比從wim中加載的文件可能要全些。
建議:不要用正在運行的在線(xiàn)Win7作為拷貝源,否則會(huì )出一些莫名其妙的問(wèn)題(下面與本主題無(wú)關(guān),僅闡述一些知識:在64位系統中,System32中存放的是64位文件,而SysWow64中存放的是32位文件。例如:如果你是64位Win7,當你用32位自編軟件查找、讀取或拷貝C:\Windows\system32下的文件時(shí),實(shí)際讀取的是SysWow64下的文件,因為32位軟件訪(fǎng)問(wèn)system32,Win7會(huì )把它轉到SysWow64,Wow64的含義是Windows on Windows 64-bit,這就是為什么32為程序在64位系統下運行效率反而低的緣故)。
注意:有的廠(chǎng)商的install.wim文件不含中文包,中文包在Win7安裝過(guò)程中從別的地方拷貝,我的HP工作站就是這樣,我這這里折騰了很久才發(fā)現install.wim中文件缺了很多(你可以檢查加壓縮后的Windows\zh-cn\explorer.exe.mui文件是否存在來(lái)確定)。這時(shí),你可能要先在一臺機器上安裝一次,用PE將安裝好的Win7整個(gè)C盤(pán)文件拷貝到另外的目錄(作為文件源)。
5、準備好“參考PE”并解壓縮
目的:將Waik原生PE的文件,與這個(gè)參考PE的文件比較,得出哪些文件缺失(以便從上述Win7目錄中拷貝)。
步驟:下載參考PE,將ISO文件中的boot.wim(Wingwy的是Winpe.wim)同樣解壓縮到一個(gè)目錄,例如:G:\WinpeRef\Mount。
三、建立Waik原生PE
以上準備工作做好后,開(kāi)始創(chuàng )建自己的“目標PE”了。為了避免重復在DOS下輸入命令,你一般會(huì )建立一些bat或cmd批處理文件。為了方便以后重復操作和共享給別人,一般會(huì )建立一些參數。我是在Windows中建立了幾個(gè)系統環(huán)境變量(點(diǎn)擊開(kāi)始,搜索框中輸入“環(huán)境變量”即可調出“編輯系統環(huán)境變量”對話(huà)框,如:
PE_WORK_DIR = G:\WinPE WinPE工作目錄,存放編輯過(guò)程中的winpeshl.ini、批處理等
PE_FILE_DIR = F:\WinPE_x86 自己生成的WinPE
PE_WIN7_DIR = G:\Win7sp1 Win7文件源
用Waik建立原始PE文件:
右鍵以管理員運行Waik的部署工具命令提示,運行以下批處理:
Rem 創(chuàng )建目錄構架:
call copype.cmd x86 %PE_FILE_DIR%
rem 加載(解壓縮)boot.wim
imagex /apply %PE_FILE_DIR%\winpe.wim 1 %PE_FILE_DIR%\mount
四、加載程序包
按自己的需要,加載Waik自帶的程序包,一般加載以下幾項,批處理文件內容如下:
Set FP=C:\Program Files\Windows AIK\Tools\PETools\x86\WinPE_FPs
set Mou=%PE_FILE_DIR%\Mount
rem ——-加載Waik程序包—————–
dism /image:%Mou% /add-package /packagepath:”%FP%\WinPE-HTA.cab”
dism /image:%Mou% /add-package /packagepath:”%FP%\zh-cn\WinPE-HTA_zh-cn.cab”
dism /image:%Mou% /add-package /packagepath:”%FP%\WinPE-MDAC.cab
dism /image:%Mou% /add-package /packagepath:”%FP%\zh-cn\WinPE-MDAC_zh-cn.cab”
dism /image:%Mou% /add-package /packagepath:”%FP%\WinPE-Scripting.cab”
dism /image:%Mou% /add-package /packagepath:”%FP%\zh-cn\WinPE-Scripting_zh-cn.cab”
dism /image:%Mou% /add-package /packagepath:”%FP%\WinPE-WMI.cab”
dism /image:%Mou% /add-package /packagepath:”%FP%\zh-cn\WinPE-WMI_zh-cn.cab”
dism /image:%Mou% /add-package /packagepath:”%FP%\WinPE-PPPoE.cab”
dism /image:%Mou% /add-package /packagepath:”%FP%\zh-cn\WinPE-PPPoE_zh-cn.cab”
dism /image:%Mou% /add-package /packagepath:”%FP%\WinPE-DOT3SVC.cab”
dism /image:%Mou% /add-package /packagepath:”%FP%\zh-cn\WinPE-DOT3SVC_zh-cn.cab”
echo 設置運行內存
dism /image:%Mou% /Set-ScratchSpace:256
echo 顯示已經(jīng)加載的程序包
dism /image:%Mou% /Get-Packages
現在,你可以卸載PE(重新生成wim)并打包ISO,測試一下PE是否運行正常,批處理命令為:
Echo 生成boot.wim映像文件…
imagex /boot /compress fast /capture %PE_FILE_DIR%\mount %PE_FILE_DIR%\ISO\sources\boot.wim “WinPE for ghost”
Echo 生成ISO文件…
oscdimg -n -b%PE_FILE_DIR%\etfsboot.com %PE_FILE_DIR%\ISO g:\winpe\winpe_ghost.iso
DIR %PE_FILE_DIR%\ISO\sources\boot.wim
注:加載和卸載wim,win7的waik是用DISM命令。但DISM在卸載時(shí)會(huì )刪除mount目錄,不便于測試。在測試過(guò)程中,還是用以上的imagex命令方便。
五、拷貝缺失的文件
思路:將剛才生成的原始PE,與參考PE的文件清單對比,將缺失的文件從Win7文件源中拷貝過(guò)來(lái),從而生成與參考PE相同的文件,由于文件是從Win7的干凈目錄中拷貝的,生成的PE是干凈的目標PE。
注意:Waik原始PE中已存在的文件在拷貝過(guò)程中不要替換,否則可能文件版本不同,與注冊表不匹配,例如:原始PE是IE8,Win7是IE9,可能會(huì )出問(wèn)題。
方法:自己編寫(xiě)一個(gè)程序,以參考PE為基準,將原始PE缺失的文件,從Win7中拷貝過(guò)來(lái)。我在Excel用VBA編寫(xiě)了一個(gè)開(kāi)源程序(xla文件),下載地址見(jiàn)本文最上面。
下面描述一下我做的PE文件對比程序的使用:
下載后,用WinRAR解壓縮,用Excel打開(kāi) “WinPE文件對比程序.xla文件”(或雙擊打開(kāi)),要查看和運行程序代碼,在Excel中按Alt+F11打開(kāi)VBA編輯器,找到WinPETool(在窗體標簽下),雙擊即可查看源代碼。運行該窗體,分別輸入三個(gè)目錄:
“Win7目錄”:文件拷貝源,最好不要是當前運行的Win7的目錄(例如G:\Win7Sp1\mount)
“目標WinPE”:例如f:\WinPE_x86\mount
“參考WinPE”:例如g:\WinPERef\mount
注意:以上三個(gè)目錄要能對應起來(lái),即:都是Windows目錄的上一層目錄。
其中“Win7目錄”有兩個(gè),是因為我自己的install.wim中缺了很多,我將安裝好的Win7目錄復制后,作為第二Win7目錄。在對于目標PE缺失的文件,在拷貝時(shí),若第一Win7目錄(Install.wim解壓后)找不到,則從第二win7目錄拷貝。一般第二個(gè)Win7目錄空著(zhù)即可。
另外,軟件窗體最下面一行兩個(gè)文本框:SysWOW64和System32,是因為我的目標PE是32位,參考PE是64位,在對比文件時(shí),在參考PE中的SysWOW64目錄要轉換成System32目錄來(lái)對比。若你的目標PE是64位,或者目標PE與參考PE都是32位,則請將這兩個(gè)文本框清空(即:只有目標PE是32位,參考PE是64位時(shí),這兩個(gè)文本框才保留,否則請清空)。
下面開(kāi)始文件拷貝:
按鈕1:對比Excel中的文件清單:將文件清單拷貝到當前Excel文件的第一列(從第三行開(kāi)始每行一個(gè)以C:\開(kāi)頭的文件名),以C:\開(kāi)頭,例如C:\Windows\zh-cn\explorer.exe.mui。這個(gè)按鈕的目的:拷貝你已經(jīng)明確了的文件清單。例如:Wingwy提到的wifi功能文件清單,又例如你要做一個(gè)比Wingwy的參考PE小的,但又具備explorer功能的基本PE,將以下文件清單拷貝到第一列(從第三行開(kāi)始,開(kāi)頭字母不是C:\的程序不會(huì )處理—可以當做說(shuō)明行):
————————————Explorer支持文件清單:
C:\Program Files\Internet Explorer\ieproxy.dll
C:\ProgramData\Microsoft\Windows\DeviceMetadataStore\*
C:\ProgramData\Microsoft\User Account Pictures\user.bmp
C:\Windows\oobe\*
C:\Windows\appPatch\sysmain.sdb
C:\Windows\Branding\Basebrd\basebrd.dll
C:\Windows\Branding\ShellBrd\shellbrd.dll
C:\Windows\explorer.exe
C:\Windows\system32\dwm.exe
C:\Windows\system32\hdwwiz.exe
C:\Windows\system32\hdwwiz.cpl
C:\Windows\system32\Wow*.*
C:\Windows\system32\*cpl.dll
C:\Windows\system32\accessibilitycpl.dll
C:\Windows\system32\actxprxy.dll
C:\Windows\system32\adsldp.dll
……
文件太多,不列了,你可以下載該清單(與xla文件在同一個(gè)包中)。
打開(kāi)“基本W(wǎng)inPE添加文件清單.xls”(在同一個(gè)下載包中),Excel第一列給出了支持explorer和其他一些基本功能的需要添加到基本PE中的文件清單。在VBA編輯器中運行上述的“窗體”,點(diǎn)擊第一個(gè)按鈕,程序將Excel第一列的文件清單與目標PE比較,并生成bat文本文件(xcopy命令,將缺失的文件從Win7目錄中拷貝到目標PE相同的目錄)。將生成的文本文件復制到你自己的批處理文件,以管理員運行DOS窗口,執行批處理,完成缺失文件的拷貝。
這樣,你的目標PE中的文件就具備explorer功能了,但沒(méi)有IE、輸入法等,你可以直接繼續第六步:注冊表修改。
若你希望與參考PE有同樣的功能,則還需對比參考PE中的文件清單,用按鈕2生成批處理文本:
按鈕2:輸入Win7源文件目錄、參考PE的mount目錄、目標PE的mount目錄,點(diǎn)擊按鈕2,自動(dòng)對比,將生成的文本文件復制到你自己的批處理文件,以管理員運行DOS窗口,執行批處理,完成缺失文件的拷貝。
六、修改注冊表
注冊表的修改比較復雜,要修改SOFTWARE、DEFAULT、SYSTEM三個(gè)。其中SOFTWARE修改的內容最多。
總的思路是:將Install.wim或Win7SP1或正在運行的WIN7中的的注冊表,導出相關(guān)注冊項到xxx.reg文件(導出為reg文件,是為了方便將來(lái)重復測試),這些reg文件記錄了目標PE中需要修改的項;然后加載原生PE中的SOFTWARE(經(jīng)過(guò)初步修改的)、DEFAULT、SYSTEM到PE-SOFT、PE-DEF、PE-SYS,將導出的一系列reg文件導入,以應用這些配置。
1、初步處理SOFTWARE
思路:要以Install.wim或Win7SP1目錄中的SOFTWRE為基礎,進(jìn)行兩項處理后,導入原生PE的SOFTWARE以覆蓋相同項(確保PE原有注冊項能正確運行,又具備Win7的功能)。
步驟:
1.1 導出原生PE的SOFTWARE為reg文件備用:加載原生SOFTWARE到PE-SOFT,將整個(gè)PE-SOFT導出為“原生PE-SOFT.reg”;
1.2 加載Win7SP1的SOFTWARE到PE-SOFT(這里最好用RegisterWorkshop,因為有幾千項刪除與替換)。先按上面準備工作中介紹的方法,設置權限,否則無(wú)法修改PE-SOFT注冊項。
1.3刪除Interactive鍵:用搜索功能(Ctrl+F)在PE-SOFT項下面搜索所有的interactive user(搜索時(shí),注意勾選僅僅搜索PE-SOFT項!將keys/value/data三項都勾選,搜索結果出現在下面的窗口,在搜索結果窗口中選中所有項,右鍵單擊→刪除,刪除所有帶Interactive的鍵;
1.4 替換D:\為X:\:用搜索功能(Ctrl+F)在PE-SOFT項下面搜索所有的D:\(搜索時(shí),注意勾選僅僅搜索PE-SOFT項!將keys/value/data三項都勾選,搜索結果出現在下面的窗口,在搜索結果窗口中選中所有項,右鍵單擊→替換,替換為X:\。有的注冊表是C:\,因此應該搜索C:\??傊?,要把所有的數千項的C:\和D:\都替換成X:\。
注意:RegisterWorkshop每次只能搜索到1000項,而需要替換的有幾千項,需要重復操作幾次。
1.5 將剛才導出的“原生PE-SOFT.reg”導入進(jìn)來(lái),以覆蓋相同項(確保PE原有注冊項能正確運行)。
1.6 卸載SOFTWARE,將其拷貝為“初步修改后的SOFTWARE”,將來(lái)還要修改。
2、下面將集中導出Install.wim中的注冊表中的各項到一系列xxx.reg,以便導入到目標PE的注冊表
2.1 SOFEWARE
SOFEWARE負責系統的軟件配置
將Install.wim中(最好為新安裝后的Win7)的SOFTWARE拷貝到一個(gè)臨時(shí)文件(臨時(shí)文件僅僅是為了修改并導出reg用,后面要用的是導出的reg文件。),將臨時(shí)文件加載到PE-SOFT:
2.1.1 WinPE的shell修改:將下面項從“cmd.exe /k start cmd.exe”修改為“explorer.exe”后,導出為reg文件備用;
[HKEY_LOCAL_MACHINE\PE-SOFT\Microsoft\Windows NT\CurrentVersion\Winlogon] 的shell
2.1.2 WinPE用戶(hù)文件位置指向default:將下面項從
“%systemroot%\system32\config\systemprofile”修改為“X:\Users\Default”后,導出為reg文件備用;
[HKEY_LOCAL_MACHINE\PE-SOFT\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-18] 的ProfileImagePath
2.1.3 我的電腦右鍵“管理”:
將下面項從“%SystemRoot%\system32\CompMgmtLauncher.exe”修改為“”%SystemRoot%\system32\mmc.exe” “%SystemRoot%\system32\compmgmt.msc” /s”后(注意英文引號也要有),導出為reg文件備用;
[HKEY_LOCAL_MACHINE\PE-SOFT\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manage\command] 的shell
該項修改Wingwy的文章中描述有誤,不能直接調出計算機管理,我參考國外網(wǎng)站后,正確調出。
2.1.4 Svchost:將下面項導出到reg文件備用:
[HKEY_LOCAL_MACHINE\PE-SOFT\Microsoft\Windows NT\CurrentVersion\Svchost]
2.1.5 卸載PE-SOFT
2.2 SYSTEM
SYSTEM負責系統的服務(wù)等關(guān)鍵配置
將Install.wim(最好為新安裝后的Win7)的SYSTEM拷貝到一個(gè)臨時(shí)文件,將臨時(shí)文件加載到PE-SYS:
2.2.1 關(guān)鍵服務(wù)(主題等):
將[HKEY_LOCAL_MACHINE\PE-SYS\Setup\AllowStart\]添加一項:Themes
將[HKEY_LOCAL_MACHINE\PE-SYS\ControlSet001\services\]的六項:
DXGKrnl、monitor、Schedule、Themes、UxSms、vga分別導出到reg文件備用
將以下項導出到reg文件備用(此服務(wù)是msi安裝支持)
[HKEY_LOCAL_MACHINE\PE-SYS\ControlSet001\services\msiserver]
2.2.1 卸載PE-SYS
2.3 DEFAULT
DEFAULT負責當前用戶(hù)登陸后的配置,因此要以當前運行的Win7為藍本,導出到reg文件。
2.3.1 Explorer自定義配置:
Advanced配置:這里的配置很重要(下面在正在運行的Win7中配置好,將來(lái)在PE中explorer的特性就與這些配置一樣):在正在運行的Win7中,打開(kāi)explorer資源管理器,在菜單→文件夾和搜索選項,在“常規”頁(yè)面,勾選“顯示所有文件夾”和“自動(dòng)擴展當前文件夾”;在 “查看”頁(yè)面,按你的習慣勾選(如顯示隱藏文件、顯示擴展名等),特別注意:一定要勾選“在單獨進(jìn)程中打開(kāi)文件夾窗口”(否則PE啟動(dòng)后再插入U盤(pán),U盤(pán)不可見(jiàn));
將以下注冊表的Advanced、HideDesktopIcons(任務(wù)欄特點(diǎn)(是否分組顯示等))導出到reg文件備用:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ HideDesktopIcons]
用文本編輯器打開(kāi)剛才導出的reg文件,將“[HKEY_CURRENT_USER\”全部替換為:
“[HKEY_LOCAL_MACHINE\PE-DEF\”,以便后面導入到加載的PE-DEF中。
2.3.2 背景、配色等自定義配置:
將以下四項導出到reg備用:
[HKEY_CURRENT_USER\Control Panel\Personalization]
HKEY_CURRENT_USER\Control Panel\Desktop]
[HKEY_CURRENT_USER \Control Panel\Appearance]
[HKEY_CURRENT_USER \Software\Microsoft\Windows\DWM]
與上述一樣,用文本編輯器打開(kāi)剛才導出的reg文件,“[HKEY_CURRENT_USER\”全部替換為:“[HKEY_LOCAL_MACHINE\PE-DEF\”
2.3.3 卸載PE-DEF
3. 下面將上述導出的一系列reg文件注射進(jìn)目標PE文件
3.1 加載待修改的目標SOFTWARE/SYSTEM/DEFAULT,具體為:
加載以上第1步完成后生成的“初步修改后的SOFTWARE” 到PE-SOFT
加載WAIK原生PE中的SYSTEM到PE-SYS
加載WAIK原生PE中的DEFAULT到PE-DEF
3.2 注射剛才的注冊表修改配置:
以上過(guò)程中生成的reg文件,我已經(jīng)包含在下載包中,下載地址在本文最上面。
逐項導入步驟2中生成的所有reg文件(2.1.1 WinPE的shell修改暫不導入,測試explorer運行正常后再導入,否則PE測試時(shí)會(huì )不斷重啟)
3.3 卸載以上三項。
4、以上剛剛卸載的三項,命名為SOFTWARE/SYSTEM/DEFAULT,并拷貝到目標PE的
Mount\Windows\System32\Config\目錄下。注冊表修改完成
七、再次加載WAIK程序包
注意:程序包的加載,要在完成注冊表修改后再運行一次,否則,在注冊表修改過(guò)程中可能沖掉已安裝的程序包的注冊表。
現在,你可以打包測試PE,在PE進(jìn)入DOS命令窗口后,輸入explorer,看資源管理器界面是否出現。
測試正確后,加載SOFTWARE,將剛才暫未導入的“2.1.1 WinPE的shell修改”的reg文件導入(將cmd.exe改成explorer.exe),卸載SOFTWARE。
八、拷貝自己創(chuàng )建的文件
1、WinpeSHL.ini文件:
創(chuàng )建一個(gè)winpeshl.ini文本文件,內容如下,并拷貝到目標PE的system32下:
[LaunchApps]
wpeinit
X:\windows\explorer.exe
注意:該文件必須在將SOFTWARE注冊表Winloglon的shell從cmd.exe改為explorer.exe后再放到system32下,否則,PE將不斷重啟。
2、創(chuàng )建桌面的自定義快捷方式
自定義的桌面快捷方式要拷貝到目標PE的Users\Default\desktop\下。
echo off
echo 拷貝desktop
del %PE_FILE_DIR%\MOUNT\Users\Default\Desktop\*.*
xcopy %PE_WORK_DIR%\PE自己創(chuàng )建的文件\desktop\. %PE_FILE_DIR%\MOUNT\Users\Default\Desktop\. /y /s
九、測試PE
最后,按Wingwy的方法,加入wifi支持(文件添加已經(jīng)在以上步驟中包括,只需修改注冊表和創(chuàng )建wifi.cmd)。我的電腦上未測試,暫不列入。
現在,你可以打包測試PE。PE應該自動(dòng)加載驅動(dòng)(如網(wǎng)絡(luò )等,在cmd窗口加載),之后,自動(dòng)進(jìn)入桌面,并設置主題、桌面背景等。
進(jìn)行如下測試:
用explorer打開(kāi)計算機,查看各個(gè)驅動(dòng)器是否顯示;
另外插入一個(gè)U盤(pán),等一會(huì ),打開(kāi)explorer,查看U盤(pán)盤(pán)符是否自動(dòng)出現;
右鍵單擊計算機→管理,是否能調出管理計算機界面;
打開(kāi)控制面板,查看各個(gè)分項是否正確顯示;
打開(kāi)IE,IE是否能啟動(dòng),并上網(wǎng)。
十、問(wèn)題與總結
該文章是基于:你發(fā)現了一個(gè)好用的PE,想自己原樣做一個(gè),但又不放心網(wǎng)上下載的別人的文件,你可以依葫蘆畫(huà)瓢從Win7中拷貝相關(guān)缺失的文件,在保障文件不缺少的情況下,或者自己創(chuàng )建注冊表,或者使用下載PE的注冊表,快速制作一個(gè)純凈的相同功能的PE。
關(guān)于第三方基本工具:網(wǎng)上流傳的各個(gè)PE,一般都用第三方pecmd.exe作為PE啟動(dòng)調度、在explorer之前運行第三方ux.exe(功能不知)、網(wǎng)絡(luò )操作用第三方penetwork,我都沒(méi)有加入(這三個(gè)工具都找不到官方網(wǎng)站)。
幾個(gè)常見(jiàn)問(wèn)題解釋?zhuān)?br>Explorer無(wú)法啟動(dòng)/資源管理器界面不出現的問(wèn)題(第七步的測試):
這是大家遇到最多的問(wèn)題,一般是文件不全,如果你按我提供的基本文件清單不全,應該不會(huì )有問(wèn)題。如果系統提示explorer無(wú)法運行(找不到explorer.exe文件或dll文件缺失),補充相關(guān)文件;如果運行后,系統無(wú)提示,但不出現界面,一般是Windows\Zh-cn下(而不是System32\Zh-cn下)的explorer.exe.mui文件缺失。
PE不斷自動(dòng)重啟的問(wèn)題:
若注冊表SOFTWARE的shell仍然為cmd.exe(未修改為explorer.exe),而這時(shí)system32下已經(jīng)拷貝了winpeshl.ini文件,則會(huì )自動(dòng)重啟,因為cmd.exe外殼會(huì )在執行完winpeshl.ini清單中的程序后自動(dòng)退出,這時(shí),外殼消失,PE就會(huì )重啟。
若注冊表SOFTWARE的shell已經(jīng)修改為explorer.exe,而system32下尚未拷貝winpeshl.ini文件,也會(huì )自動(dòng)重啟,因為外殼沒(méi)有運行。
啟動(dòng)藍屏問(wèn)題:
一般是注冊表有問(wèn)題,例如:32位的PE用了64位的注冊表,可以逐步將DEFAULT、SYSTEM換回原生PE的試試看。
有待添加的功能:微軟拼音輸入法,WAIK中有現成的腳本,應該沒(méi)問(wèn)題。
關(guān)于工具軟件:WinRAR/UlraISO等工具,我不愿集成進(jìn)PE,可以將安裝文件放到啟動(dòng)U盤(pán),需要時(shí)點(diǎn)擊安裝,幾秒鐘就可以安裝好。我已經(jīng)測試可以再PE中順利安裝和使用。
未解決問(wèn)題:
文件太大(未在原生PE的基礎上精簡(jiǎn)、啟動(dòng)時(shí)間過(guò)長(cháng))。
WIFI功能未實(shí)現
聯(lián)系客服