我們都知道電腦系統有各種各樣的系統設定WinPE也不例外下面就介紹介紹這方面的知識
其實這一步主要是指修改PE的注冊表可以直接修改PE注冊表也可以修改配置文件
修改內部注冊表的方法
用前面修改PECMDINI的方法將內部注冊表的文件提取出來
WXPESYSTEMCONFIG**
WXPESYSTEMSETUPREGHI_(
這是CAB壓縮包將它解開成SETUPREGHIV)
REGEDIT/sREG文件名
運行注冊表編輯器REGEDITEXE鼠標點擊HKEY_LOCAL_MACHINE然後點“文件”“加載配置單元”打到提取出來的注冊表文件(需要改哪個就加載哪個)打開提示掛載名時隨便輸入取一個名字如“WinPE”展開HKEY_LOCAL_MACHINE後裡面就有一項WinPE然後就跟普通的注冊表操作一樣了改好後用鼠標點一下“WinPE”項目然後“文件”“卸載配置單元”這個文件就改好了
用改過的注冊表文件替換原來的
修改配置文件的方法
對於普通的不依賴於外置程序目錄結構的注冊表項目可以用常規方法將修改項寫成REG文件(可以直接從XP系統中導出然後在其基礎上修)在外置程序目錄下有個RegDoccmd這個文件是毛桃用來注冊外置程序文檔關聯的(就是改注冊表)可以用記事本打開它加入一行:
則PE加載外部配置時它會自動導入
這是最簡單的改注冊表的方法但是如果要修的項依賴於外置程序的目錄結構(比如要在右鍵菜單中添加用UltraEdit打開)就不能用上面的方法了因為外置程序的絕對路徑是不確定的(不同的機器中盤符不能確定)
這種情況就需要用原始的REG命令來做了(就跟毛桃在REGDOCCMD中的做法一樣)這個命令的語法比較艱澀且注冊表鍵值的表示方法跟REG文件不同在命令提示符下通過/?參數可以獲得它的用法(中文的哦)提醒一下/?參數是個以多層使用的如REG/?得到的是基本參數的說明如用REGADD/?則可得到ADD這個參數的用法……
有了這個命令的基礎後我們來看看是怎麼解決不定路徑問題的
在REGDOCCMD中有一個環境變量%TP%代表的是REGDOCCMD這個文件所在的路徑我們可以通過%TP%表示它的上層目錄%TP%表示它的上兩層目錄用此方法可以索引到外置程序目錄內的所有路徑而不用考慮外置程序目錄本身的絕對路徑
(還有個方法就是在WinPEINI中用PECMD的REGI命令一行行添加這個比系統的REG命令好理解些同樣可以用%CurDir%環境變量來索引外置程序目錄內的所有路徑)
直接修改的好處是啟動PE就是所需要設置不依賴外部配置文件PE的加載速度也比較快但麻煩修改配置文件則比較簡單但要依賴配置文件加載過程(直到加載到那些語句時才會生效)啟動時需要額外的時間加載相當於給系統打補丁去修改默認設置
一般情況下不推薦直接修改PE注冊表麻煩重新打包也比較花時間但有些跟系統緊密的鍵必須直接修改才有效比如屏幕分辨率雖然在外面也可以修改有但在登錄時加載到它之前是無效的那麼在登錄的過程中屏幕就會因切換分辨率而閃爍
自己修改注冊表的前提是自己要知道所希望的改變要修注冊表中的哪些鍵值可以上網搜索現在網上的這些資源多得是實在找不到的話可以還可以用RegMon之類的注冊表監視軟件來定位
比如修改記事本的自動換行又不知道相應的鍵值在哪可以先開啟RegMon然後在記事本中改變換行的選項看RegMon的監視結果來定位是哪個鍵值因為系統本身也在不斷的更改注冊表RegMon中的顯示會很多但是通過不斷的改變記事本中的設置最終是可以找到的這個過程需要的是耐心和細心
From:http://tw.wingwit.com/Article/Common/201311/8221.html