2011年12月17日 星期六

BartPE 及工具PE Builder 的使用教學

什麼是 BartPE (Bart Preinstalled Environment) ?

它可以幫助你建置一個「個人」預先安裝系統的環境,BartPE 也很適合當作維護系統的工具。(這篇文章是舊事重提,不是什麼新技術了,純綷複習順道看看官方有什麼新玩意兒。)

它是利用 Windows XP 或 Windows Server 2003 的安裝光碟,截取出核心檔案,然後加以封裝成為一個開機系統,這個開機就可執行的系統的長像就是windows的畫面,想像一下,很早期在做系統維護的時候,ghost 必須在dos介面下操作,相較於早期的dos安裝環境,windows下操作ghost,圖形化的介面會讓你更上手些;好處當然不只這個,有些硬體的驅動並沒有辦法在dos情況下載入(這個狀況現在很少了,主機板這部分的支援度改善非常多),那麼在ghost的時候會出現找不到硬體的窘境…若是在載入windows環境後,那麼硬體的支援性會比較好一些。

BartPE 預先載入的環境可以是xp或是2003 (32位元),同時支援網路連線、解析度到 800*600,除此之外還有一些附屬的工具,如磁碟備份、掃毒…等等的修復工具…所以BartPE 是可以取代 dos安裝環境的。

特別注意的地方是,BartPE 不是微軟體產品,他也不是衍生自微軟開發的「Windows PE (Microsoft Windows Preinstallation Environment) 」,這二者間有什麼不同:

  • 用過Windows PE應該知道,他只是有類似xp畫面的空殼,裡頭要執行程式還是得靠打指令;BartPE 則是和xp一樣,程式都是圖形操作介面( GUI )。
  • Windows PE 定位在 OEM 做程式大量部署的平台;BartPE 則以成為新一代系統救援工具為開發願景。
  • Windows PE 僅提供給OEM 使用;BartPE 則為人人可使用的免費系統。

除了上述的差別外,BartPE 在功能的特點還有「支援自行添加軟體」「提供自製的Nu2Menu,讓你客製化開始選單」「支援網路連線」「支援檔案分享」「提供自製的pedos,可執行dos指令」

image

如果你有興趣的話,建議去官網一探究竟 http://www.nu2.nu/pebuilder/
dnowba底下只概述怎麼製作 BartPE ,需要使用的是官方提供的 PE Builder 這個工具怎麼使用,如果你是一般家用者,應該是不需要學這種東西,PE 版本的功能,對於家用者來說就是 救援 / 備份 系統,所以直接找現成的 PE 版就可以了(甚至是別人ghost 起來的系統都可以)。這篇文章比較偏向一般公司機關的系統管理者,怎麼做自已的大量部署的PE光碟,讓你在安裝客戶的系統時能客製作且節省安裝時間。

(後記:我發現要完成這麼大的專題,好像要花不少的時間…這邊只能說是個補個網路上比較少見的入門文件…如果有興趣的話自個再爬爬進階文章)

需要的物品:

  1. PE Builder :下載頁 http://www.nu2.nu/pebuilder/#download,執行工具的環境為 Windows 2000/XP/2003/BartPE
  2. 可燒錄的光碟機和 Windows 光碟:支援的Windows 版本為 XP (Home Edition SP1 以上 / Professional SP1 以上) 或是 Server 2003 (Web Edition/Standard Edition/Enterprise Edition)
  3. 500 MB 的磁碟空間

開始用 PE Builder 製作 BartPE :

  1. 放入Windows 安裝光碟後執行 PE Builder ,選擇來源(Source)為光碟機,並指定輸出位置 (OutPut )。最後選擇媒體型式可為純資料夾或包成一個映像檔,甚至是直接燒成光碟。最後按下「Build」就開始建立檔案。
    image
  2. 建立前會讀一下 i386 的軟體授權條款。按下我同意。
    image
  3. 開始壓縮解出所需要的檔案。最後顯示裝置
    image

封裝起來的BartPE 無法使用???

  1. 在防毒軟體上關閉偵測 BartPE 的資料夾,防毒軟體通常會把它當作病毒。
  2. PE Builder 可以在 XP/2003 系統上執行,DNOWBA試過在WIN7執行是沒什麼「太大」的問題,不過在使用前,建議在執行檔上設定 「以相容模式 Windows XP (Service Pack3) 」上執行這個程式,並且「以系統管理員的身分執行此程式」
    image
  3. 你的 XP 安裝光碟必須是SP1 以上 … 怎麼確定你的安裝光碟是不是含修補程式包,可以看一下光碟裡 File \i386\drvindex.inf 這個檔案,裡面Version字節如果是下圖而不是CabFiles=SP1 或是CabFiles=SP2 …那表示版本就不合 ,在使用 PE Builder 導出檔案時就會發生錯誤。
    image

    使用 PE Builder 建置的時候應該會有類似以下的錯誤訊息:
    Source files wrong version? File version <path>\i386\ntdll.dll is 5.1.2600.0 should be 5.1.2600.1106 or higher.
  4. 你的 XP with SP1 /SP2 /SP3 可能被「精簡」過頭了,在使用 PE Builder 生成  BartPE 時可以看一下建置後結果,error的地方如果是 xxxx.sys not found …那在BartPE 開機也同樣會顯示相同錯誤,一般的 OEM 版本
    (Windows XP OEM CDs) 也會有這種問題 (OEM沒事包別家的SYS要幹嘛,所以他們會精簡),所以建置BartPE最好使用「 零售版」,只要是零售版都含有這些檔案。
    image
  5. 成功執行的畫面…
    image
  6. 直接用 PE Builder 預設的環境來製作光碟,CD 開完機,會發現有很多傷腦筋的事情,比方說開始選單…是「GO」…;所有中文顯示都變成一些小方塊…。這些都可以使用 PE Builder Plugin 來改善,所謂 Plugin ,就是 NU2 外第三方所開發的插件…這種第三方插件可以說是一自製化 live cd 的重點,後面會重點介紹一下啟用插件的方式image

可以用現有的 C:\Windows 當作 BartPE 的封裝來源嗎?

有些人會覺得 安裝光碟裡的檔案內容 和現有系統內的 C:\Windows 的檔案長得很像,但是在製作光碟開機系統的時候為什麼不能使用,簡單一點的解釋,關鍵在於使用安裝光碟時,會在安裝系統前搜尋你的硬體內容才會執行安裝,這個過程就把一些和你硬體無相關的驅動、安裝文件給剔除掉了,這樣你的系統才不會太肥令人詬病,BartPE 也是需要一樣的功能,想想看,你製作的 BartPE 需求應該是拿著一片光碟,然後走到哪用到哪,不同硬體的電腦都能執行你的 BartPE …那麼前置作業「搜尋並匹配硬體」的過程就不能少…BartPE 需要安裝光碟裡的這些支援…所以製作 BartPE 一定要要安裝光碟,同理,如果你拿ghost版本的XP系統安裝光碟,究其根本,他只能算是「還原光碟」,所以一樣不能用它來封裝成 BartPE 。

可以把 BartPE 放到 USB flash drives (UFD)當作開機碟嗎???

可以的,在使用 PE Builder 建置 BartPE 的時候,不要把它封裝成 ISO 檔,建置在一個資料夾,然後把資料夾內的資料複製到 UFD 上就可以了(當然不是直接複製啦,需要在UFD上做一個BOOT引導文件…),不過能不能正常執行關鍵出在主機板上,主機板對於 USB 開機的支援度不同,不是主機板BIOS裡頭有 USB 的 BOOT 選項,就表示可以正常執行。

上面提到了,要把 BartPE 改成由 UFD 作為開機位置,原因是我不想每回測試、做一次修改都必須燒一張飛盤,而使用UFD開機的方式,也不是單純的複製光碟資料到USB 中就可以解決了,具體的方式比較冗長,請再看DNOWBA的另一篇專文。

可以用 PE Builder 建置 Windows 2000/NT4 /WIN7的BartPE嗎???

WINDOWS 2000/NT4…= = 我開始要猜測一下你出生的年代了…別這麼念舊了,舊的不去新的不來,DNOWBA 在這邊發個XP的古董文自已就在笑了…當然不能支援2000/NT4的原因不是因為刻意的排擠,純綷是因為這些系統的核心和 XP / 2003 不同 ( Framework 的不同) 。至於 Win 7… 當然也不行,不過dnowba這篇文章其實就是為了 win 7 作準備的。如果你也想作一個 win 7 pe版本的話,源頭、技術絕對是來自於xp 的pe…畢竟 xp 的年代久遠,經驗值超高,dnowba 現在要使用 live cd 備援/修復電腦,xp pe的版本絕對依舊是首選,因為目前為止,硬體/軟體相容、支援度在比例上,還是比win 7 pe來得高許多…

怎麼為 BartPE 加入插件???(以中文顯示為例)

首先要找得到第三方提供的中文顯示插件:dnowba 找到一個,請先在此處下載
接著把下載的壓縮檔解壓縮到資料夾中,把整個資料夾放到PE Builder 目錄中的 plugin 資料夾…
image

再來,開啟PE Builder ,在工具列上選 Builder→Plugins
image

在Plugins的視窗裡,就可以從插件來源文件 (File的欄位) 找到剛剛加入的插件,找到後啟用,觀察一下,這個中文顯示的插件包含二個文件喔…至於插件裡有什麼用途,這可能要找到釋出該插件的作者,看是不是也同時釋出了說明文件
image

以這個插件為例,它主要的用途是中文顯示,另外提供中文輸入法(IME)、以及時區顯示,某些插件是可以修改的…像這個plugin就要改一下時區的部分,把時間設為台北時間,可以找到它的 *.inf 檔案,然後加以修改,如以下預設是中國標準時間
image

把以上幾段改成以下內容就可以正常顯示台北時間了。

; 將 "中國標準時間" 置換成 "台北標準時間" ,改為底下的設定:
; 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

後記…台灣有名的Noname XPE 其實源頭就是利用 BartPE 再補上插件而成…當然作者自製的實力不在話下,這種東西要搞到兼容各式各樣的電腦,真的要費很多的時間和工夫,dnowba 沒這種實力 !!! 所以我只能用人家的插件,然後看看第三方的文件改改而已…
因為BartPE 行之有年了…所以這種插件還蠻好找的,如果你需要其他的插件,DNOWBA 這邊大概整理了一些發個文章,有需要請參考

以dnowba的能力…我只能找別人做好的…如果你是pro級,對windows瞭若指掌的話, PE Builder 有提供供開發插件的技術文件可供你參考的…
http://www.nu2.nu/pebuilder/help/english/pluginformat.htm

怎麼添加硬體驅動???

如我們所知,Windows 已經自帶了一個驅動包,所以在安裝時,大部分的硬體都可以在系統完成後順利被驅動使用,但不怕一萬只怕萬一。如果碰到了驅動不起來的硬體。那就要自已加入相關文件了。

其他小技巧:

BartPE 的用途在於救援,備份、還原系統、甚至是快速安裝部署多台電腦。所以載入的時間愈快愈好,如果說你使用的是原廠的光碟,那麼封裝的檔案大小可能還不見得精簡,但要學習把系統精簡又是另一門課,所以我建議初學者可以用正式零售版做練習…如果你使用過了 Noname XPE ,或是想自製 WIN 7 PE…那這篇文章絕對是入門的好文件

如果你要更加了解 Bart PE…衷心建議,去官網看看吧
http://www.nu2.nu/pebuilder/

7 則留言:

  1. 謝謝你 ... 我終於解決了亂碼的問題 !!!
    無限感激....

    回覆刪除
  2. 不過, 不知 "怎麼添加硬體驅動???"
    我要在綱上再找找 ....

    回覆刪除
    回覆
    1. 自行添加硬體驅動是一個很專業的部分
      一般來說是不需要加

      像顯示卡的硬體還是可以被windows以最簡單的模式驅動起來
      (簡單的說就是可以顯示,但不能發揮顯示卡其他特製功能)
      像網路卡,一般集成機驅動也都不用另外安裝
      (因為windows能包起來的驅動都包起來了…)

      光碟機、滑鼠、鍵盤、usb插槽…之類的硬體都是這樣

      但是像其他硬體,像讀卡機、印表機、遊戲手把…等等就沒有內建在windows的driver裡

      不知道你做BartPE的目的是什麼?
      如果是單純的救援機制…印表機那類的應當是不用驅動起來的

      有問題歡迎再發問吧

      刪除
    2. 先 謝謝 你的回覆.

      我主要是救機用的. 但是運行 BartPE 後, 不能上網, 因此不能下載最新的病毒定義. 我想是網路卡的驅動程式的問題.

      刪除
    3. 包網卡驅動我以前做過,還蠻簡單的
      給你個程序…
      假設你現在的電腦還活著
      你的網卡插在主機板上而且已驅動(可上網)

      那你就可以用軟體「DriverBackup」
      把驅動程式的關鍵檔案(*.inf、*.sys)
      從作業系統(放driver的資料夾)裡面抽出來

      接者把WinPE.WIM 掛載後
      把這二個檔案放到相對位置去
      這部分完成只是可以在BartPE啟動
      「手動」添加硬體驅動時找得到對應的driver

      若是要能啟動bartpe時能「自動」加載驅動
      請先找到bartPE裡的PE_OUTERPART目錄
      裡面有四個*.cab,分別是音效卡、顯示卡、網卡、無線網卡的自動驅動包
      你把你剛備份下來的該張網卡關鍵檔案用一個資料夾包起來
      再放到網卡的cab裡
      bartpe會在啟動時(透過INFCACHEBUILD.EXE應用程序)自已去加載這四個cab裡的驅動
      這樣應該就可以了

      不過我想提醒你,我以前很少會碰到網卡搞不起來的,很有可能是你的來源光碟(xp版本)是精簡過的版本…(不過也不大可能,大部分的精簡不大會去砍網卡驅動捏…)
      好啦,這門技術是內功心法,學會了可以通透很多技術(像無硬碟系統、網咖三層式更新技術)等等…很有研究價值,但是在硬體驅動和軟體免安裝這二塊是很吃力的部分

      加油啦…小弟最近在搞一些教學文件,就不捨命陪君子了

      刪除
    4. 謝謝你 ... 很詳細呵 ... 謝謝 !!!
      回覆的很快哦 ... 感激萬分.

      我想我已掌握了其中秘訣, 我會依樣葫蘆.
      再次在此拜謝 !!!

      刪除
    5. 報告, 我成功了 !!

      我依你的提示, 將我的電腦裏 XP 的 Lan 驅動器 (*.INF, *.SYS)抽出.

      不過可能我用的 PEBuilder 比較新版 (3.1.10a), 沒有 PE_OUTERPART 目錄, 只有一個 drivers\net 資料夾, 試着將它們放進去, PEBuilder 就會自動在 BartPE 中掛進 Lan 驅動器, 非常簡單.

      我再在網上找到一個檔案包含各種不同的 Lan 驅動器, 一併將它們抄進 drivers\net 中, 這樣的 BartPE 就可以在不同的機器中上網了。

      我終於成功了, 謝謝你了 !!!

      刪除

Related Posts Plugin for WordPress, Blogger...
// Dnow Function