2008-11-17-新寮瀑布
[生活] [電腦] [文章] [留言]

2008.05.25

用 BartPE 打造自己的 Windows Live CD

時下很流行 Live CD 或是 USB 裝置的可攜式系統,不過,一般都是採用 Linux 或 BSD 等 unix like 的系統。MS Windows 則有所謂的 WinPE (WindowsPreinstallationEnvironment),除了微軟有提供製作工具給人下載,BartPE 的 pebuilder 也是一個非常好用的工具。而且還有很多人為各種軟體撰寫 BartPE 的 plugin,讓我們可以很輕鬆的打造自己的 Live CD 。我用 BartPE 做了一張掃毒光碟,有需要時,只要用光碟開機,這光碟版的 Windows XP 就可以把硬碟上的病毒、木馬,一掃而空。雖然效能並不如平常的系統,但是不用動螺絲刀拆硬碟,用起來挺方便的。

準備工作

BartPE 的 pebuilder 並不是無中生有的產生新的系統,它主要的功能是依據我們所提供的 INF 檔案,把 Windows 和各 plugin 所指定的軟體解壓縮或是複製到指定的目錄中,並依設定產生 Windows 的 "機碼",以符合 Windows 運作時的需求。所以,我們除了要安裝 pebuilder 外,還需要搜括所需要的 plugin ,並新增到 pebuilder 指定的目錄中;最後,當然是要有 Windows 安裝光碟中的檔案和各軟體的相關檔案囉!BartPE 安裝完 pebuilder 後就已經有一些預設的 plugin,所以,如果直接用 pebuilder + Windows XP 安裝光碟,我們就可以產生一個陽春但可用的的 Windows XP Live CD。當然,相信大家不會就這麼滿足了。以下是我們要準備的一些東西:

  • BartPE pebuilder
  • Windows 安裝光碟
  • 軟體的 plugin
  • 軟體的程式、檔案......
  • 光碟片(建議用 RW 片,也可以用 VMWare , Virtual PC, VirtualBox ...... 等虛擬機器模擬,這樣才不會製造出一堆 "飛碟")

安裝 BartPE

BartPE 安裝容易,也沒有複雜的設定,只要把所需的檔案準備好,一切就可以輕輕鬆鬆的完成。底下是我們預計要進行的工作:

  • 複製 Windows 安裝光碟的檔案。
  • BarePE 的下載與安裝
  • 首次的設定
  • 安裝中文的 plugin 。

複製 Windows 安裝碟的檔案

BartPE 並不是所有 Windows 通通吃,像 Windows 9x , Windows ME , Windows NT 就不行。底下以 Windows XP 為例,將 Windows XP 的安裝光碟置入光碟機後,進行底下的步驟:

  • 在硬碟中新增一個資料夾,假設叫 c:\XP_Source
  • 將 Windows XP 安裝光碟中的 I386 資料夾,拖曳到前面預先建立好的資料夾中

這裡的資料夾和後面 pebuilder 安裝完的設定有關,記住自己新增的資料夾叫什麼名稱。

 

下載與安裝

我們可以在下面的網站中下載 BartPE 的 pebuilder:

網站中有提供自動安裝的 .exe 檔,及未附安裝程式的的 .zip 檔,如果嫌麻煩,就下載自動安裝版的 .exe 吧!

  1. 下載完安裝程式後,只要以滑鼠對準安裝程式答答,接著可以都不用改任何設定值,全部按 [下一步] 即可。
  2. 最後按完 [Finish] 鈕,就會立即啟動 PE Builder。此時,按預設值,pebuilder 應該已安裝在 c:\pebuilderxxx 目錄中。
  3. 第一次啟動 PE Builder 會出現版權聲明的對話框,只要按 [I agree] 這個按鈕就可以。
  4. 出現 "Search files?" 的對話框,如果按 [是] ,PE Builder 會到所有磁碟中搜尋安裝 Windows 所需的檔案。為了節省時間,我們後面再自己設定,所以按 [否(N)] 的按鈕。

首次設定

第一次進到 PE Builder ,我們先設定兩個項目:

  1. 選擇語系為中文。
  2. 指定 "來源程式" (Windows 安裝檔案所在路徑)。

PE Builder 支援多國語言,當然也有我們慣用的 Big5,設定的方法如下:

pebuilder

點選圖中的(1), PE Builder 左上角主選單中的 "PE Builder" ,並選取 "Options"

  • 按一下右上角,Language 中的 [Change] 按鈕
  • 在檔案清單中,選取 "chinese_traditional_bg5.lng" ,選好了就按 [開啟] 的按鈕。
  • 設定好就按 "OK" ,將設定值儲存起來。按完會出現 "Information messages..." 的對話框,提醒我們:要重新啟動 PE Builder,才能讓剛剛設定的中文語系檔生效。

按完最後的 "確定" 鈕後,PE Builder 會自動關掉,當我們再次啟動它時,就變成中文的訊息了。

由於 PE Builder 並不是無中生有的幫我們製作光碟,它的工作是將 Windows 的安裝光碟中的檔案,解壓縮、複製、重組成一個可用系統。所以我們要先將 Windows 安裝光碟中 I386 目錄,複製到硬碟中。然後再到 PE Builder 中設定路徑。

假設我把 Windows XP 安裝光碟中 I386 目錄複製到 c:\XP_Source 的目錄中,在 PE Builder 中這樣設定:

如圖中的(2),在 PE Builder 上面的 "來源程式: (Windows 安裝檔案所在路徑)" 中輸入 "c:\XP_Source" , 或是按右邊的 [...] 按鈕來瀏覽並指定。


安裝中文的 plugin


由於我們提供的是中文版的 Windows ,如果直接用 PE Builder 預設的環境來製作光碟,CD 開完機,會發現一件傷腦筋的地方:所有中文都變成一些小方塊,啥也看不懂。所謂的前人種樹,後人乘涼,這個問題最就有人遇過,我們只要下載中文的 plugin,下面的解決方案是採用 Semson Tse 的 cht_20040414 plugin,原來是從他的個人網站中下載,但是該網站似乎已經連不到,我就放一份給大家參考。

將 cht_20040414.rar 裡面的檔案解壓縮到 pebuilder 安裝目錄中的 plugin 目錄中( 例如:c:\pebuilder3110a\plugin\cht_20040414 ) 。由於這個中文的 plugin 中有使用 SIMSUN.TTC 這個字型檔(約10MB大),但是壓縮檔中並沒有。如果 windows\fonts 中有,我們可以將 windows\fonts\SIMSUN.TTC 複製到該 c:\pebuilder3110a\plugin\cht_20040414\fonts 目錄裡。

或是修改 c:\pebuilder3110a\plugin\cht_20040414\cht.inf 中的這行:

font\SIMSUN.TTC=22 ; 簡體宋體, 推荐使用

將目錄改為 c:\windows\fonts\SIMSUN.TTC ,也就是改成下面這行:

c:\windows\fonts\SIMSUN.TTC=22 ; 簡體宋體, 推荐使用

甚至如果沒有顯示簡體字的需求,乾脆直接加個逗號註解掉,還可以省下 10MB 的空間,改為:

; font\SIMSUN.TTC=22 ; 簡體宋體, 推荐使用

這個 plugin 還有一個問題,它並沒有正確的設定 "時區" ,

關鍵還是在 cht.inf 中,找到下面這幾行:

; Set timezone to "(GMT+08:00) Hong Kong..."
0x4,"ControlSet001\Control\TimeZoneInformation","ActiveTimeBias",0xfffffe20
0x4,"ControlSet001\Control\TimeZoneInformation","Bias",0xfffffe20
0x4,"ControlSet001\Control\TimeZoneInformation","DaylightBias",0x0
0x1,"ControlSet001\Control\TimeZoneInformation","DaylightName","中國標準時間"
0x3,"ControlSet001\Control\TimeZoneInformation","DaylightStart",00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
0x4,"ControlSet001\Control\TimeZoneInformation","StandardBias",0x0
0x1,"ControlSet001\Control\TimeZoneInformation","StandardName","中國標準時間"
0x3,"ControlSet001\Control\TimeZoneInformation","StandardStart",00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

將 "中國標準時間" 置換成 "台北標準時間" ,改為底下的設定:

; Set timezone to "(GMT+08:00) 台北標準時間..."
0x4,"ControlSet001\Control\TimeZoneInformation","ActiveTimeBias",0xfffffe20
0x4,"ControlSet001\Control\TimeZoneInformation","Bias",0xfffffe20
0x4,"ControlSet001\Control\TimeZoneInformation","DaylightBias",0x0
0x1,"ControlSet001\Control\TimeZoneInformation","DaylightName","台北標準時間"
0x3,"ControlSet001\Control\TimeZoneInformation","DaylightStart",00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
0x4,"ControlSet001\Control\TimeZoneInformation","StandardBias",0x0
0x1,"ControlSet001\Control\TimeZoneInformation","StandardName","台北標準時間"
0x3,"ControlSet001\Control\TimeZoneInformation","StandardStart",00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

改完 cht.inf 就儲存檔案,這樣一來,稍後我們所製作的 Live CD 不但可以正確的顯示中文,也可以有中文輸入法(新倉頡、微軟新注音)可以用。

 

關始製作自己的 BartPE Live CD

PE Builder 運作時的基本過程是:

  • 分析各 INF 檔案,建置機碼,並產生 hive 檔案。
  • 分析各 INF 檔案,建立目錄樹。
  • 依 INF 檔中的設定,解壓縮或複製檔案到指定的目錄中。
  • 製作 ISO 映像檔 (如果有勾選此功能的話)

所以 INF 檔對 PE Builder 來說是最重要的,我們自訂的關鍵就在 INF 檔案。

而所謂的 plugin 也可以說是將:

  • 需要什麼檔案,哪裡提供?
  • 檔案放到光碟目錄樹中的哪個位置?
  • 產生哪些 "機碼" ?
  • 預先執行哪個程序(寫在批次檔中)?

這些資訊提供給 pebuilder 後,它的任務就是依照指示,讓它們一一就位 。

網路上有很多人提供了各種軟體的 plugin 給 PE Builder 用,我們只要把它下載回來,.cat 的壓縮檔可由 pebuilder 的 plugin 管理介面加入,其它格式的壓縮檔則手動解壓縮到 PE Builder 安裝目錄的 plugin 目錄中。

正因為如此,在 BartPE 的操作過程中,最重要的其實是 plugin 的管理與設定,其次就只要 "等" 而已。

新增 plugin

下面介紹如何利用 pebuilder 的 plugin 管理介面,將 .cab 的 plugin 壓縮檔,加入 BartPE 中:

pebuilder-plugin

如前面圖中的(6),在 PE Builder 中按左下角的 [插件] 按鈕,進入後會出現如上面的 plugin 管理視窗。如圖中的 (A),我們可以在上方看到 "插件列表",它分為三個欄位,最左邊的欄位告訴我們,該 plugin 是否 "啟用",如果是 "正確" 代表會列入 pebuilder 製作光碟的內容之一,反之,如果是 "錯誤" 則表示不使用。 中間的那個欄位則是 plugin 的名稱。最右邊的欄位則是讓 plugin 的 .inf 設定檔的路徑及檔名。

在上圖中,我們可以看到下方則有8個按鈕可用。

圖中的 (E) 就是新增 plugin 的按鈕,操作步聚如下:

  • 按 [A 新增] 按鈕
  • 出現檔案瀏覽的對話框,就開始選取下載回來的 plugin (.cab 格式)。
  • 檔案選好了就按 [開啟] 的按鈕

如果新增成功,在 "插件清單" 中應該會多出剛剛新增的 plugin。

啟用/停用 plugin

圖中的 (D) 按鈕可以讓我們控制 Live CD 要不要使用該 plugin,操作程序如下:

  • 用滑鼠在 "插件清單" 中點選要設定的 plugin。
  • 按一下圖中 (D) 的 [E 啟用/停用] 鈕。

如果原來啟用狀態是 "錯誤" 的,會變成 "正確",表示啟用該 plugin;反之,"正確" 會變成 "錯誤",表示停用該 plugin。

其它 [編輯]、[設定]、[移除] 的 plugin 功能按鈕,操作方法和 [啟用/停用] 鈕是一樣的,都是先在清單中點選要處理的 plugin,然後再按按鈕來執行。

[編輯] 的按鈕會幫我們呼叫 Windows 的 notepad 來開啟 INF 設定檔,讓我們進行編修。

[移除] 的按鈕要小心使用,因為它可是會直接將選取的 plugin 整個目錄刪除哦!

如果都設定完畢,我們只要按一下 [離開] 的按鈕,就可以退出 plugin 的管理視窗,準備開始輸出光碟。

輸出光碟

當我們把 plugin 都設定完畢以後,一切就緒,就可以準備製作 Live CD 囉!依底下的步驟來操作:

  • 按圖中(6) 的按鈕,啟用/停用、設定所需要的 plugin。
  • 在圖中(4) 媒體輸出中,選取自己所需要的選項:
    • 無:直接將檔案輸出到在圖(3)中所設定的資料夾,預設是 pebuilder 中的 BartPE 目錄。
    • 製作 ISO 映像檔:將光碟內容寫入 ISO 映像檔中,稍候我們可以燒錄軟體將該檔燒成光碟。如果是在 VMWare 中,我們可以直接將該檔案指定為虛擬的光碟機,我都是先用這個方法測試過後,沒問題了才用燒錄軟體燒光碟。
    • 燒錄 CD/DVD:將輸出完的結果寫入空白光碟中。
  • 按圖中(7) 的那個 [產生] 按鈕,按完會出現下面的對話框,提醒我們,原來輸出目錄中的檔案會全部清除。按 [是] 就可以開始進行分析及輸出的程序。

    pebuilder_create


接著我們就可以去泡杯茶,休息一下,等待輸出結果囉!

FAQ

  • 輸出完,結果出現錯誤,怎麼除錯?
    • pebuilder 在輸出完會多兩個帶有箭頭的按鈕 [<<]  [>>] ,可以幫我們移到帶有錯誤訊息的那行記錄上。不然,在 pebuilder 的安裝目錄中會有個叫 pebuilder.log 的檔案,裡面也有整個歷程的記錄。

  • Live CD 開完機的背景圖片可不可以換?
    • 在 pebuilder 的安裝目錄中有個叫 bartpe.bmp 的圖形檔,把它換成你要的圖案即可。

  • 用 BartPE 預設的 plugin 製作完的 Live CD,按完 GO ,出現的選單都是英文的,怎麼中文化?
    • BartPE 預設是以 nu2menu 這個 plugin 來代替 Widows 開始中的程式集選單,而它的選單是由各個 plugin 設定中的 [Append] 中指定哪個檔案存有 nu2menu 的選單,一般都會命名為 xxx_mu2menu.xml。
      例如 ,在 A43 這個 plugin 的 INF 中有底下的內容:

      [Append]
      nu2menu.xml, A43_nu2menu.xml

      它的意思是在 nu2menu.xml 後面再附加 A43_nu2menu.xml 的內容。

      而 A43_nu2menu.xml 的內容如下:

      <!-- Nu2Menu entry -->
      <NU2MENU>
      <MENU ID="Programs">
      <MITEM TYPE="ITEM" DISABLED="@Not(@FileExists(@GetProgramDrive()\Programs\A43\A43.exe))" CMD="RUN" FUNC="@GetProgramDrive()\Programs\A43\A43.exe">A43 File Management Utility</MITEM>
      </MENU>
      </NU2MENU>

      我們要中文化的應該是 <MITEM....>A43 File Management Utility</MITEM> 中的 A43 File Management Utility。

      例如可以改為:

      <!-- Nu2Menu entry -->
      <NU2MENU>
      <MENU ID="Programs">
      <MITEM TYPE="ITEM" DISABLED="@Not(@FileExists(@GetProgramDrive()\Programs\A43\A43.exe))" CMD="RUN" FUNC="@GetProgramDrive()\Programs\A43\A43.exe">A43 檔案總管</MITEM>
      </MENU>
      </NU2MENU>

      這樣,A43 在選單中就會變成 "A43 檔案總管"

      而最主要的選單則是在 nu2menu 這個plugin 中的 nu2menu.xml 。

[BartPE 的其它主題]


雄的家》.很高興能與您在網路上結緣,歡迎批評指教。