1. 程式人生 > >動手製作屬於你自己的WIN PE3.0

動手製作屬於你自己的WIN PE3.0

5、提交儲存映像修改命令:Dism /unmount-Wim /MountDir:\mywinpe\mount /Commit這條命令執行,要等一會兒,執行結果如下圖:


執行完後,mount目錄會被自動清空,相當於又“壓縮”回去。三、生成ISO映像根據windows PE使用者指南介紹,如果是製作U盤版的WINPE,也提供的專門的製作方法,不過天緣本文不再介紹,後續再看情況補充該製作方法,本文先從製作ISO然後燒錄入手,因為大家對ISO最為熟悉,製作完ISO檔案後,我們可以把ISO刻錄到光碟,也可以刻錄到U盤上去,一樣可以使用。生成ISO映像命令:Oscdimg -n -m -o -bd:\mywinpe\etfsboot.com -t2/22/2010,11:22:33 d:\mywinpe\iso d:\mywinpe\mywinpe.iso上面的生成語句是從iso目錄建立的,當然也可以從mount目錄建立iso,不過如果從mount目錄建立,還需要再拷貝一些必須的啟動檔案放到mount目錄才可以,並且建立在dism提交修改之前完成,否則一旦提交映像修改mount目錄又會被清空。另外也要注意輸入命令的寫法,不要出錯,天緣在上面這條命令上折騰了好久,就因為中間少了個分隔號,總是提示下面的錯誤:------------------------------------------------------------------------------C:\SoftWindows AIK\Tools\PETools>Oscdimg -n bd:\mywinpe\etfsboot.com -t2/22/2010,11:22:33 d:\mywinpe\iso d:\mywinpe\mywinpe.isoOSCDIMG 2.55 CD-ROM and DVD-ROM Premastering UtilityCopyright (C) Microsoft, 1993-2007. All rights reserved.Licensed only for producing Microsoft authorized content.ERROR: Could not delete existing file "d:\mywinpe\iso"Error 5: Access is denied.-------------------------要修改成-n -b----------------------------正確執行結果,如下圖:

上述命令執行完畢,我們就可以在mywinpe目錄下發現mywinpe.iso這個檔案,這個檔案大小大概180M,當然是未經過優化的,後續我們會討論優化及深入定製問題。四、測試驗證WINPE特別說一下,如果需要燒錄光碟,最好在做好光碟映像後採用虛擬機器驗證確認一下,U盤到沒關係,可以直接使用UltraISO進行硬碟寫入即可,天緣實際在微軟虛擬機器Virtual PC(微軟虛擬機器下載請參考:虛擬機器軟體Virtual PC(Windows 7專版/2007/v5.2))和金士頓U盤上全部測試OK(如何刻錄到U盤請參考:如何使用UltraISO和Nero燒錄可引導光碟映象,金士頓U盤天緣測試選的是HDD+寫入方式,一次測試通過),虛擬機器抓圖如下:

從上圖可以看出,這個WINPE 3.0有點太乾淨清爽了,呵呵,但的確是我們自己製作的WINPE映像,預設的WINPE映像也的確是命令列模式的,而且原生的WINPE還有很多使用或功能上不足,距離大部分人的日常維護使用習慣還有一定的距離。
一、為WINPE 3.0增加桌面環境和常用軟體1、通過copype和dism命令來製作的WINPE,預設是隻有命令列模式的,所以要增加桌面環境還真的不是件簡單的事情,這裡有兩個思路:
A、把WINDOWS 7的預設explorer移到WINPE環境中,由於時間關係,天緣只是粗略測試了一下,大概要增加26M左右的系統檔案,包括動態連結庫配置檔案等等,目前還有問題暫不介紹。
B、使用第三方的相容explorer,比如老外開發的BsExplorer (實際是1.7版本也有說是2.0版本,反正在WINPE 3.0上可用),點選本站下載,本文先以這個軟體為例講解,稍後關於Windows 7自帶explorer及WINRE環境製作WINPE等問題,我會再發文章。
2、將BsExplorer下載後,解壓到D:\mywinpe\mount目錄下(前接上篇文章的第三步),解壓完成後如下圖:

其中Tools目錄結構如下圖,

天緣只是示例放加入Diskgenius、Ghost和WinRar軟體包,資源管理器可以使用A43,只需要解壓到這裡即可,要保證雙擊可執行。
DiskGenius下載及使用注意事項
備份和恢復分割槽必備工具Ghost v11.0
WinRAR V3.9官方簡、繁體中文(x86/x64)下載
二、配置BsExplorer啟動環境上面已經把桌面環境和軟體包拷貝到Tools目錄,採用本文的整合方式,這些軟體都要使用綠色版本的(這些小軟體基本都有綠色版本)。配置BsExplorer環境也很簡單,只需要配置BsExplorer目錄下幾個ini格式檔案即可,該目錄結構如下圖:

下面說一下上圖中幾個需要配置的檔案:bs_desktop.ini、bs_qlaunch.ini、bs_shell.ini和bs_start.ini檔案,如果你的目錄結構跟天緣相同,bs_shell也不用管,只需要配其它三個即可(桌面、快速啟動欄和開始選單)。
1、bs_desktop.ini檔案
bs_desktop.ini是用來配置桌面圖示顯示,下面示例增加ghost圖示到桌面左上角,其它圖示只需要按照順序向下增加即可。
<-ItemBegin->
    ItemX=20
    ItemY=20
    Caption=Ghost
    ExeName=%SystemDrive%Tools\Ghost\ghost32.exe
    IconName=%SystemDrive%Tools\Ghost\ghost32.exe
    IconNumber=0
    ExeDir=%SystemDrive%Tools\Ghost
    CmdParam=
    ShowState=NORMAL
<-ItemEnd->
<-ItemBegin->
    ItemX=20
    ItemY=100
    Caption=WinRaR
    ExeName=%SystemDrive%Tools\WinRaR\WinRaR.exe
    IconName=%SystemDrive%Tools\WinRaR\WinRaR.exe
    IconNumber=0
    ExeDir=%SystemDrive%Tools\WinRaR
    CmdParam=
    ShowState=NORMAL
<-ItemEnd->
這些格式都是原作者的一個約定(下同),大家只需知道如何使用即可,其中ItemX和ItemY是圖示排列座標,以80為單位,比如第一個是ItemX=20,ItemY=20,下一個就是ItemX=20,ItemY=100,再下一個就是ItemX=20,ItemY=180,這樣就是垂直排列,大家測試一下即可看到效果。
另外我們只需要設定Caption(提示資訊,相當於快捷方式名)、ExeName(對應的可執行檔名)、IconName(圖示名)、ExeDir(該程式的預設目錄),其中IconNumber是如果使用系統圖標時的編號(從0開始計數,只有未設定IconName時,IconNumber才有效,如果要使用系統圖標,請開啟上圖中的bs_menuimg.bmp檔案,然後檢視你要的圖示在第多少位置,然後填寫該值到IcunNumber即可)。
2、bs_qlaunch.ini檔案
bs_qlaunch.ini檔案是用來配置快速啟動欄圖示,示例配置如下:
<-ItemBegin->
    Caption=Show desktop
    
[email protected]

    IconNumber=20
<-ItemEnd->
<-ItemBegin->
    Caption=GHOST
    ExeName=%SystemDrive%Tools\Ghost\ghost32.exe
    IconName=%SystemDrive%Tools\Ghost\ghost32.exe
    IconNumber=0
    ExeDir=%SystemDrive%Tools\Ghost
    ShowState=NORMAL
<-ItemEnd->
3、bs_shell.ini檔案
bs_shell.ini檔案好像也只explorer的執行指令碼。從裡頭的字面意思主要涉及登入設定和桌面設定等,比如顏色,顯示提示檔案等,一般不用改寫。(如果你的目錄配置跟天緣不同,這裡也需要替換Tools字串成自己的目錄名)
4、bs_start.ini檔案
bs_start.ini檔案是用來配置開始選單顯示,順序是從上到下,顯示也是從上到下,天緣把最常用的幾個設定都給列出來。
<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=root
    Caption=程式
    MenuId=Programs
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=Programs
    Caption=Diskgenius
    ExeName=%SystemDrive%Tools\DiskGenius\DiskGenius.exe
    IconName=%SystemDrive%Tools\DiskGenius\DiskGenius.exe
    ExeDir=%SystemDrive%Tools\DiskGenius
    ShowState=NORMAL
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=Programs
    Caption=登錄檔編輯器
    ExeName=%windir%regedit.exe
    IconNumber=116
    ExeDir=%windir%
    ShowState=NORMAL
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=Programs
    Caption=記事本
    ExeName=%windir%system32\notepad.exe
    IconName=%windir%system32\notepad.exe
    ExeDir=%windir%system32
    ShowState=NORMAL
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=Programs
    Caption=計算器
    ExeName=%windir%system32\calc.exe
    IconName=%windir%system32\calc.exe
    ExeDir=%windir%system32
    ShowState=NORMAL
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=Programs
    Caption=畫圖
    ExeName=%windir%system32\mspaint.exe
    IconName=%windir%system32\mspaint.exe
    ExeDir=%windir%system32
    ShowState=NORMAL
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=root
    Caption=設定
    MenuId=Setting
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=Setting
    Caption=螢幕顯示與解析度
    MenuId=Resolution
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=Resolution
    Caption=Color 8bit
    MenuId=Res8
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=root
    Caption=-
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=root
    Caption=工作管理員
    ExeName=%SystemDrive%windows\system32\taskmgr.exe
    IconName=%SystemDrive%windows\system32\taskmgr.exe
    ExeDir=%SystemDrive%windows\system32
    ShowState=NORMAL
<-ItemEnd->


<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=root
    Caption=命令列
    MenuId=CMD line
    
[email protected]

    IconNumber=136
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=root
    Caption=執行...
    MenuId=Run...
    [email protected]
    IconNumber=137
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=root
    Caption=-
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=YES
    EnableInAutorun=YES
    ParentItem=root
    Caption=登出
    MenuId=Exit
    
[email protected]

    IconNumber=139
<-ItemEnd->

<-ItemBegin->
    ShowInAutorun=NO
    EnableInAutorun=NO
    ParentItem=root
    Caption=關閉計算機...
    MenuId=Shitdown
    [email protected]
    IconNumber=138
<-ItemEnd->
特別說明:上述配置檔案裡有Tools目錄標示,所以如果你的工具目錄(mount下剛剛拷貝過去的那個)跟天緣設定的不同,那麼需要把這五個檔案裡頭的Tools替換成你自己的目錄,目的就是讓explorer等找到你的工具。
三、啟動掛接及其它設定1、winpeshl.ini
手動建立一個winpeshl.ini檔案,內容為:
[LaunchApp]
AppPath=%systemdrive%\Tools\BsExplorer\Explorer.exe
然後拷貝到mount\windows\system32下面即可,製作好的WINPE會自動到這個目錄下找winpeshl.ini檔案,並執行Explorer.exe。
2、修改WINPE桌面
如需修改桌面圖片,只需要建立一個1024*768的bmp檔案並命名為winpe.bmp然後也拷貝到mount\windows\system32下面並覆蓋原圖片即可。設定語句如下:
Dism /image:\mywinpe\mount /Set-ScratchSpace:512
3、設定WINPE可寫記憶體
然後我們還有一個設定那就是修改winpe的可寫記憶體,如果只是自己用,最好把記憶體加大一點,比如128、256或512M,可寫記憶體太小啟動時會非常慢,甚至還有可能出現runtime error 203、記憶體不可寫甚至是自動重啟等現象。
四、完成設定提交修改這樣我們就可以使用Dism命令提交修改(轉到上篇文章的第五步),製作好自己的ISO檔案(未經過精簡的原生WINPE 3.0大概200M),即可開始測試,如果你的機子記憶體太小,比如天緣的桌上型電腦才1G記憶體,在執行WIN7時又使用虛擬機器測試,只要載入軟體幾乎都很難測試通過,雖然Windows 7預設的Winpe 3.0是32M,而如果要軟體執行的流暢至少要增加到128M或以上,如果你也遇到虛擬機器測試不過時,可以考慮使用UltraISO刻錄到U盤上進行測試。WINPE 3.0的啟動跟早前WINPE 2.0相比還是有點慢,後續還需進行一些模組刪減或優化。下圖是個虛擬機器上抓圖(前天的老圖),下次再換個新的帶桌面圖示的上來。

五、製作出錯無法再次載入的解決方法如果你在載入或製作過程中發生錯誤,可能再次無法再次載入可以通過如下方式解決:
1、重啟機子,刪除原目標目錄,比如 D:\mywinpe,整個刪除,前提你的製作檔案都應該放在另外的地方,比如天緣都是放到D:\WINPE_MAKETools下。
2、 然後再次執行cmd時,先使用dism /cleanup-wim命令清理一次過時檔案日誌即可,如下圖: