繁體 Windows PE 3.0 (Windows 7 PE) 草擬及維修技術探討

(This legacy article is Chinese-only. Translate it to English.)

微軟最近推出了 Windows OPK (OEM Preinstallation Kit) 和 AIK (Automated Installation Kit) for Windows 7 的 RTM 版。這兩套部署工具連同 Windows 7 DVD 都包括了最新的 Windows PE 3.0 (Vista 是 2.0,XP/2003 是 1.0-1.6)。小弟趕緊造了一套半製成品。

Startup of Windows 7 PE (3.0), C7PE
Desktop of Windows 7 PE (3.0), C7PE(圖一:登入選項,圖二:桌面和程式)
製作原因

小弟之前的工作之一是在客人面前測試他們帶來的硬體和組裝電腦,例如懷疑主板的內建網卡壞了,便可用包含所有網卡驅動程式和 Firefox 的 PE 測試。30 秒起機,一試,如果可以上網即便知道只屬 Windows 問題,節省重裝 Windows 來測試的時間。

另外也要維修電腦,有時是軟體成因的便需看看可否起動 Windows,如入到還要看看有沒有被密碼鎖上,兩種情況都需要支援 NTFS 的 Windows PE 幫助。首先,入不到 Windows 的可以在進入 PE 後用 nirSoft BlueScreenView 查看所有出現過的藍畫面,假如藍畫面是關於檔案系統或硬碟的 (UNKNOWN_HARD_ERROR、UNMOUNTABLE_BOOT_DEVICE),可以執行檢查磁碟工具 (chkdsk) 以檢查檔案系統和硬碟。想簡單點也可以直接使用系統還原 (Vista/7 可使用「系統修復工具」的「啟動修復」,它會自動偵測和修正包括檔案系統/系統檔案在內問題。XP 則可使用 Registry Restore Wizard,但只能還原登錄檔)。第二,如 Windows 被鎖上,便需使用破解密碼的軟體,有幾種方法甚至不影響已存帳戶的密碼 (WindowsGate、Sala's Password Renew、Sneaky Win Intruder),近乎不留痕跡。

還有就是安裝 Windows 了,我的同事不會用 winnt32 或 unattend 的方法裝 Windows。如果是 最流行的 XP Home 或 Vista Home Basic 中文版,因效率問題,會用 Sysprep 一般化了的 DOS Ghost DVD 而非新裝,而其它沒有製成映像的版本才會新裝。似乎和 Windows PE 毫無關係。但據我所見他們的 Windows 好像不能夠用在 AMD 系統,必需要 Intel CPU 和 IDE 控制器為 Intel 的系統,就算 nVidia/ATI/VIA 晶片組的 Intel 平台底板就不可以了。要解決這問題,可以在倒種後第一次啟動前用 Windows PE 起機,然後載入目標 Windows 的 SYSTEM 登錄檔(hive),然後有兩種做法,(1) 載入經「修改」的 MergeIDE.reg (參考微軟文章 KB314082) 或 (2) 用 Save Hardware ID 或 devcon 工具查看那塊底版的 IDE 控制器的硬體識別碼是甚麼,然後用登錄編輯程式直接更新「HKLM\目標Windows\ControlSet001\Control\CriticalDeviceDatabase」機碼內 ClassGUID 值開首為 4D36E96A,Service 值為 *ide 的對應選項。至於要解決 Intel 平台轉 AMD 的問題,都有兩種作法,(1) 修改「HKLM\目標Windows\ControlSet001\Service\intelppm」將 Start 值改為 4,或 (2) 這方法要在 Sysprep 時做的,方法是使用第三方軟體 OfflineSysprep 內的 AMD 系統修正功能 (Sysprep 不可用於 Windows PE;OfflineSysprep 是在 PE 環境執行的版本)。裝 Windows 小弟很少會用這兩個技巧,但在維修電腦時都間中會用的,因為不少客人壞機要轉底版(不同晶片組)但又不想重裝 Windows。還有想一提,因為新舊底版的驅動不同,在登入 Windows 後裝會很麻煩(例如最好要 PS/2 滑鼠和鍵盤,USB 的很可能需要等待其它驅動裝好後才會辨認),如果預先將新底板的驅動給目標 Windows 利用那就可以解決。這個可使用 SysPrep Driver Scanner 或 DriverPacks BASE 達成 (後者沒有試過)。

還有很多很多情況可以應用 PE 達成的。最後最後一點,曾經試過一次都是在替客人換新板後的舊電腦執行 Sysprep (目的是 Sysprep 的另一副功能 - 延長舊 Windows 的啟用期限,因為換底板後 Windows XP 命令三天內必須重新啟用),但執行前忘了使用 Keyfinder 抄下原有的產品序號,他正在途中來不及問他,但又必須要現場試給他看。Mini-setup / OOBE 需要序號才能繼續完成安裝,怎麼辦呢?最後突然想... 在 Windows PE 使用 Keyfinder 可不可以呢?原來是可以的!最後使用 nirSoft ProduKey (Keyfinder 同類) 搜尋 external Windows installations 就可以了。

Using Keyfinder in Windows 7 PE (3.0), C7PE(圖三:Sysprep 一般化後仍能使用 Windows PE 取回 Windows 的 CD-key)

為何不使用建基於 Windows XP 的 PE 1.x? 因為需要最新版的「系統修復工具」(對應 Windows 7) 和 BCDEdit 等支持。

為何不使用 DOS? Windows PE 的驅動 (大量儲存控制器、網絡、USB) 易找、支援較好 (支援 Windows 的大都可以了),程式多 (支援 Windows 正常版的大都可以了,最多需要抄多幾個 DLL 檔),應用空間大,隨著高速 USB 隨身碟流行,是開機碟未來的大方向;最新 Ghost Solution Suite 2.5 的 Boot Wizard 都預設以 PE 2.0 來做開機碟了,Hiren's Boot CD 9.7 開始都內置了 PE 1.6。

理想中的 project 工作清單
  1. * 設計給 USB 隨身碟結合 PStart (綠色軟體開啟器) 用 (CD 亦可)。PStart 內的程式便是 PE 內的程式,用者可隨意增減
  2. * 每次開機都會偵測隨身碟內的 PStart.xml 檔案,實時更新在「開始程式集」內的連結
  3. 起動快、佔記憶體少,因為將大部份程式*、驅動都放於主 .wim 外**,以佔用最少 PE的運作記憶體為目標。最低運作要求為 256MB,但建議 512MB 或以上 (*1 除需要關聯 zip, rar 等檔案的 7-zip. *2 以 DriverPath 方式,自Vista開始支援自動掃瞄子資料夾)
  4. * 如記憶體不夠,支援啟動虛擬記憶體
  5. 包括至今所有 mass storage controller (大量儲存控制器) 和有線網卡驅動 (來自 driverpacks.net)
  6. 如沒有驅動可由用者隨後加在隨身碟或光碟機「a-z:\driver」資料夾 (以支援任何未來的新晶片)。只要按下桌面上「啟動網絡」PENetCfg 便會開始搜尋、安裝
  7. 可以設定密碼保護登入 (利用 PreLogonConfig.exe,密碼保護後便更適合當成公共電腦用的還原分區)
  8. * 多種開機選項,可與 Ultimate Boot CD/Hiren's Boot CD 結合 (使用 Grub for Dos)
  9. 除了給隨身碟或CD用的軟體外置 .wim 版本,另設有軟體內置 .wim 的版本,為了適合 network boot (PXE) 用途和取代 Windows 7 C:\Recovery 內 winre.wim (啟動修復用途)
  10. 支援中文輸入法,包括舊式倉頡、速成、廣東
  11. * 支持執行 non-Unicode 簡繁體程式 (需切換)
  12. 支援 MMC、CPL (磁碟管理、地區選項等)
  13. 但除 MMC 外並沒使用 WinBuilder,不採用 vpeldr/7peldr (試過可能阻礙 USB、網卡在 PE 上運作)。不使用 explorer.exe,改用 BSExplorer (快和節省 100MB 記憶體,但沒有了「連上網絡磁碟機」功能,需由第三方軟體提供)
  14. 自行中文化 BSExplorer 工作列和開始功能表
  15. PE 和所有軟體盡量為繁體
  16. 補回一些 PE 沒有的 CLI/GUI 程式和 DLL 檔案,例如 devcon, fciv, telnet, nc, nslookup, 小畫家, 計算機
  17. 可上網(內置Firefox、Opera、MSN...)、倒種(Ghost8.3,11,11.5等/Ghostcast Server/ImageX/GImageX/DriveImage XML...)、部署 Windows XP/2003/Vista/2008/7/2008 R2 (內置 OfflineSysprep、XPSetupLauncher...)、救硬碟(用 PE 就不用拆走硬碟,內置GetDataBack、Partition Find and Mount及其餘十多個)、救機(Kaspersky、BlueScreenView、HDDScan、Everest、MBRWizard、TestDisk、ServicePE、RegistryPELoader...)、破解 Windows/網絡/應用軟體密碼(KeyReader、ProduKey、NTPWEdit...)、遠端控制 (Remote Desktop 7, VNC, Putty, WinSCP...)、檔案總管 (Free Commander、7-Zip Explorer、A43...)、一般軟體(Office、SHA/MD5 checker、Eraser、File Renamer、螢幕測試、Notepad++...),專業工具 (SysinternalsSuite、nirSoft Tools、Roadkil Tools、Windows Support Tools、Windows Resource Kits) 及更多。
  18. 還欠甚麼?
(「*」在前的為仍未完成的功能)

Windows PE 3.0 比舊版進步之處
  1. 更新了的指令,包括 BCDBoot, DISM, 支援 VHD 的 Diskpart
  2. 再不需要 peimg /prep 以犧牲 serviceability 來減少大小
  3. 內建 PE 2.o 沒有的 PPPoE 支援 (但怎樣使用?)
  4. WinBuilder Win7PE project 支援無線網卡*、DirectX*、.Net Framework* (* 因佔記憶體太多和運作可能有問題,不會採用)
  5. ...?

製作教學和所需工具

- Windows 7 繁體版 (因 WinBuilder 需要目標語系的 Windows 配合)
- WOPK 或 WAIK 或 Windows 7 DVD (包括 Diskpart, DISM 工具, ImageX, Oscdimg 工具)
- WinBuilder 的 Win7PE project (包括 BSExplorer)
- Nu2Convert (用來編輯 BSExplorer 的 bs_start.ini 等)
- 虛擬電腦, e.g. VMWare Workstation,用作測試效果
- CDImage GUI (用來配合 Oscdimg 製作 ISO),雖然 USB 不需要但虛擬電腦只支援 ISO 或 network boot
- TFTPD32、3Com PXE Server (如使用 network boot 配合虛擬電腦便需這個)
- ...?

方法就留待完成後才繼續寫吧,如果真的有機會能夠完成...

Windows PE 簡介

Windows PE 是一個超簡化版的 Windows,微軟原意只是用來部署
Windows,經 DVD (Windows Vista/7 的 setup 介面就是 Windows PE),或經
network boot (Windows Server 的 WDS 服務)。

因為是 Windows 簡化版,本來只得「命令提示字元」可以用,但坊間下載到的 PE 多是被人180度翻轉自訂,導致出現 IE、工作列/桌面、MMC 這些功能,變到與正式 Windows 接近,加上預載很多有用的救機軟體,最出名在外國有 BartPE、LiveXP、VistaPE,大中華有 NoName XPE, PE 3.0, 等等。所以 Windows PE 已經變了角色成為足以取代 Linux BootCD 作救機用途了。

如果當 Windows PE 為一般作業系統使用,有不少問題的,例如
1) 不可以照正常程序安裝軟體,只行到綠色版軟體
2) Windows PE 主要在 RAM 執行的作業系統,要有足夠記憶體否則耗盡就會掛掉 (除非啟用 pagefile)
3) 亦因為在 RAM 行,所有資料在重新開機後就 bye
4) 沒有聲音,不能作立體影像運算或加速
5) 為防用作盜版系統,Windows PE 1.x (XP 底) 都會每 24 小時重新開機,但有破解的,2.0 (Vista 底) 以上已經不會了。

歡迎用以下方式儲存或分享本文:

Comments

  1. wanderSick's 大大 ..
    期待 你的 繁體PE 教學 .. 好久了 ..
    在網路上還真的 沒看到 介面這樣漂亮的..
    感覺又很好用的PE 工具 ..
    不知大大 可否提供我們這些無知的鄉民 一些知識 ... 或是 Wim file ...

    ReplyDelete
  2. 閣下言重了。其實那個 PE (我叫 C7PE) 當時都大致上做好了(雖然有點小蟲),不過後來因為事忙而有心無力。另外,PE 的版權和發佈等的問題都很多,我唯有在安裝程式要求用者提供 Windows 7 的安裝光碟,而為免侵權只提供免費軟體,並提供方法讓用者自行加入商業軟體。

    見到你的留言,我都會著緊一些。這計劃在我時間表內的。謝謝。

    ReplyDelete
  3. 哈 那我就繼續慢慢期待大大的下波分享了..
    我自己也有嘗試 做 Winpe ...
    但是 開始列的 圖和顏色 ..
    卻不知道 要從BsExplorer 何處改起 ..
    加上 大大 列出的工作清單 ..
    和自動更新 程式集 清單的 idea ..
    還蠻令人想研究看看成品的作法的 ..

    加油 .....

    ReplyDelete
  4. 噢,那個相信你再找找都會找到辦法,不過趁我還未忘掉讓我直接告訴你好了。
    用 Resource Hacker 開啟 BSExplorer\commonbs.dll 檔案,例如修改 Bitmap\1104\1049 的圖檔 (我用 Photoshop ),那就成為左下角的「開始」。

    謝謝你的留言鼓勵。

    ReplyDelete
  5. 我錯刪了這則留言,十分抱歉。待會回覆你!

    po han 已針對您的文章「繁體 Windows PE 3.0 (Windows 7 PE) 草擬及維修技術探討」留下新意見:

    WanderSick's大大,
    小的想請問有關pe在載入driver的問題,一般是只要inf跟sys檔兩個嗎?還有分別要mount到那個地方去以及如果是網卡,怎知有沒有通!不知是否可以用案列說明下,謝謝。

    ReplyDelete
  6. po han: 感謝你的查詢。你用的是哪一款 PE?

    Driver 最低限度要有 inf 和 sys 檔 (但有時都不止的,例如 inf 內可能指定複製 dll 檔)。總之將那裝置的 driver 資料夾下的所有檔案和子資料夾抄走就準沒錯了。

    Driver 載入到 PE 有不少方法,有內嵌的,有隨啟動偵測自動裝的,或啟動後手動裝的。

    如果是網卡的話,用後者也可以,即是以 drvload 命令指定一個外來的 inf 檔。
    通常太新的網卡就要這樣裝。檔案可以放在 USB 隨身碟。例如在 PE 開啟後輸入:

    diskpart // 進入磁碟管理工具
    lis vol // 找出那隨身碟的磁區代號,例如 f:
    exit // 離開 diskpart
    drvload "f:\lan\a.inf" // 安裝隨身碟下的 lan\a.inf (假設)
    wpeutil InitializeNetwork // 起始網絡

    這樣就完成。接著可以用一般命令如 ipconfig, ping 等等指令做測試。如 router 不是 DHCP 便需自定 IP,那則要用到艱深的 netsh。如想簡單點可以找找 PENetCfg、PE Network,這些都是有圖像介面,適合 PE 用的網絡工具,將他們放到隨身碟執行便可。如果隨身碟內有 Firefox (綠色版)也可以用來試上網。

    註:
    1. 以上方式只適用於有線網卡
    2. 只適用於 PE 2.0 或以後,即 Vista PE 或 Windows 7 PE
    3. 只適用來安裝一些不需用者回答的 driver

    希望對你有點幫助。如不明白歡迎續問。(最好告知所用的 PE 版本等資料)

    ReplyDelete
  7. Dear wandersick,
    謝謝你的指導,目前照你的方法我的網路可以正常運作,另外想再請教有關你說的自動偵測安裝driver的方法,是只要把inf mount到windows\inf的目錄下嗎?我看了pe的說明檔"
    Dism /image: /Add-Driver /Driver:c:\winpe_x86\mount\Windows\driver.inf
    "不是很了這裡path_to_image是pe上的還是本機的,所以再請大大指點,謝謝。
    另外我的pe是win7版的應該是3.0

    ReplyDelete
  8. 正常運作那真好啊!謝謝告知。

    對。就是利用 DISM 離線模式將驅動程式裝到 PE。

    /image: 後面要指向一個掛載了 PE 的資料夾 (不是本機),所以在使用前要先掛載 PE 的 boot.wim 檔案。

    1. 假設我要把 U:\boot.wim 掛載到 "U:\mount" 資料夾 (執行前請先建立它)

    dism /mount-wim /wimfile:"U:\boot.wim" /index:1 /mountdir:"U:\mount"

    2. 這樣做以後,在執行其它 DISM 離線模式指令時就可以使用 /image: 指向 PE 所掛載的地方,例如現在我要用 /add-driver 將驅動程式 "U:\driver\lan.inf" 加到 PE 內。

    dism /image:"U:\mount" /add-driver /driver:"U:\driver\lan.inf"

    3. 最後以 /unmount-wim 把掛載了的 wim 卸載。完成。

    dism /unmount-wim /mountdir:"U:\mount" /commit

    4. 補充:如有很多驅動程式想加,可將步驟二中

    /driver:"U:\driver\lan.inf"

    改為

    /driver:"U:\driver" /recurse

    那樣就可以將 "U:\driver" 資料夾下所有 driver 都裝進去 PE。

    這幾天我或會發佈一篇有關這主題的文章,到時可以留意一下。

    有問題歡迎續問。

    ReplyDelete
  9. 暫未能提供下載方式,抱歉。

    ReplyDelete
  10. 這真的很棒~~請問你沒有提到可以安裝在hd,作雙系統的話,如何設定在partition

    ReplyDelete
  11. @ballgi 你好。有兩種方式可達成安裝 Windows PE 到本機硬碟,以下為兩個英文官方教學。若有甚麼不明白,下班後再補充~

    1) Walkthrough: Create a Bootable Windows PE RAM Disk on Hard Disk

    第一種不解開 .wim,將 .wim 直接抄到 HDD,運行 PE 時在 RAM 實時解開和載入 .wim 內檔案 (這是一般 PE 運作的方式)。

    2) Walkthrough: Boot Windows PE from Hard Disk

    第二種從一開始就解開 .wim 內檔案到 HDD,由 HDD 運行 PE (這是一般作業系統運作的方式)。

    設定好後如果想加 Windows PE 的選項到開機選單,需要動用 bcdedit 工具,可參考 2) 教程底部的指令,或需略作修改。EasyBCD (bcdedit 圖像版)或會簡單點。

    其實 Windows 7 內置了「啟動修復選項」的 PE (C:\Recovery\...\WinRE.wim),開機時按 F8 就可進入。若透過這方式啟動硬碟上的 Windows PE (e.g. 置換這個檔案成其他類似 WinRE 的 PE),這似乎是最簡單的方法了。未必一定可以,下班後我試一試。

    ReplyDelete
  12. @ballgi 上次答得較匆忙,一直都很想更正一些內容,抱歉到今天才補完。

    承接較早的回覆。若將 Windows PE 2.x/3.0 跟硬碟本身的 Windows 7 作雙系統的話,最簡單是置換 Win7 本身內建的 PE 檔案,即 "C:\Recovery\...\WinRE.wim" (全寫:Windows Recovery Environment,即 [啟動修復選項] 功能的 wim 映像檔)。無需設定,不過進入 PE 的方式稍麻煩 -- 要在進入 Windows 前按 [F8],選擇 [修復你的電腦]。

    另一方法就是新增 Windows PE 的選項到 BCD (Vista/7 的開機設定檔),以使到開機時出現內含 Windows 7 和 PE 選項的雙系統選單。這方式與上面的 [修復你的電腦] (WinRE) 功能沒有衝突,可同時存在。

    不過上次說錯了,設定這個選單的 bcdedit 指令其實應該參考這篇「開機設定資料編輯器常見問題集」的最底:「如何建立一個項目,以便從硬碟將 WIM 映像開機」內的指令才對。

    讓我們一起看看需要做甚麼。

    材料

    1. 一個 Windows PE 2.x/3.0 wim 檔案
    2. boot.sdi,這是跟 Ramdisk 有關的檔案

    前提

    1. 以下 bcdedit 開頭的為所需輸入的指令。

    2. 若有開 UAC,輸入指令前要以系統管理員身份執行命令提示字元。先按左下角的 Windows logo,在 Vista/7 的開始搜尋列內輸入 cmd,然後在出現的 cmd 項目上右擊滑鼠,選「以系統管理員身份執行」。

    3. 如欲修改的 BCD 不是現在載入了的那個,要在每句 bcdedit 後加上 -store "X:\任何路徑\BCD" 指向那個 BCD 以作設定。

    4. 在修改前請先備份 BCD,以防萬一 (重要!)

    bcdedit /export "C:\BCD_Backup"

    5. 若修改的 BCD 是來自 PE 而不是 Windows 7,則無需製作 {ramdiskoptions} 項目,直接跳到步驟 2 便可。

    步驟 (官方版稍加修改和註解):

    1a. 在 BCD 內建立 {ramdiskoptions} 項目,讓 PE 透過 Ramdisk (將 RAM 模擬當做硬碟) 方式開機:
    (最後 /d "Ramdisk options" 可略則略,稍後解釋)

    bcdedit /create {ramdiskoptions} /d "Ramdisk options"

    1b. 指定 Ramdisk 開機檔 boot.sdi 所在磁區和路徑:
    (假設放在 C:\boot\boot.sdi)

    bcdedit /set {ramdiskoptions} ramdisksdidevice partition=c:

    bcdedit /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi

    2. 新增 "Windows PE" 項目至「多重開機選單」:
    (這是最後顯示的名稱。可隨意更名)

    bcdedit /create /d "Windows PE" /application OSLOADER

    3a. 將傳回的 GUID 值複製。在 [命令提示字元] 範圍內按滑鼠右鍵 → 標記 → 按下滑鼠左鍵拖拉以選擇要複製的範圍 → 按下 [ENTER] 鍵以複製到剪貼簿備用 (貼上的方法則是在 [命令提示字元] 黑色範圍內按滑鼠右鍵 → 貼上):

    假設我們得到的 GUID 值是 {fabb3c99-7ff9-11df-a45f-08002700e42d}

    3b. 現在將裝置設為 wim 檔位置 (假設我們放在 C:\boot\winpe.wim),並使用先前建立的 {ramdiskoptions}:
    (deviceosdevice 各要設定一次)

    bcdedit /set {fabb3c99-7ff9-11df-a45f-08002700e42d} device ramdisk=[c:]\boot\winpe.wim,{ramdiskoptions}

    bcdedit /set {fabb3c99-7ff9-11df-a45f-08002700e42d} osdevice ramdisk=[c:]\boot\winpe.wim,{ramdiskoptions}

    3c. 設定 Windows 資料夾路徑:

    bcdedit /set {fabb3c99-7ff9-11df-a45f-08002700e42d} systemroot \windows

    3d. 指定 Windows 的開機程式 winload.exe 的位置:

    bcdedit /set {fabb3c99-7ff9-11df-a45f-08002700e42d} path \windows\system32\winload.exe

    4e. 由於目標是 Windows PE,要讓開機程式知道是 Windows PE:

    bcdedit /set {GUID} winpe yes

    4b. 動態調整硬體抽象層 (HAL - Hardware Abstraction Layer) 類型;detecthal 指定在開機時自動偵測要用單 CPU 或單核心還是雙 CPU 或雙核心 hal.dll

    bcdedit /set {GUID} detecthal yes

    5. 新增設定好的項目到開機選單:
    (/addlast 將項目加在最尾)

    bcdedit /displayorder {GUID} /addlast

    ~ 完 ~

    註:若在步驟 1a 輸入了 /d "Ramdisk options",或會導致步驟 2 設定的 /d "Windows PE" 名稱不能正確顯示。解決方法是刪去前者:

    bcdedit /deletevalue {ramdisktoptions} description

    以上經小弟測試。若有問題歡迎提出。

    ReplyDelete
  13. wanderSick's 大大 ..

    可否告知如何讓WinPE-Win7 可讓USB Camera 預覽?
    預設WinPE.wim 沒支援Image Device驅動程式(Ex: usbvideo.inf).
    a) 如何加入 image device driver (usbvideo.inf)? 我沒有預設Win7 image device driver.
    b) 是否要裝DirectX or DirectShow?

    Thanks,

    ReplyDelete
  14. 請教如何製作pure的Windows7 PE呢?

    ReplyDelete
  15. @Eden 如何定義 pure (純)呢? 最原始的 PE 是經 WAIK/WOPK 內 CopyPE.cmd 指令製作,那 PE 的 shell (殼)是命令提示字元。如要其他功能,例如 GUI (e.g. 工作列、桌面圖示等),可透過修改 Windows\system32 下的 startnet.cmd 啟動 BSExplorer 之類的 shell。

    早前看不見留言,所以遲覆了。很抱歉...

    ReplyDelete
  16. @RS0 你好。

    a) 載入驅動程式可用 dism /add-driver (離線) 或 drvload (在線),不過因為 PE 是 minimal 版 Windows,它原來目的不是這個用途,所以除驅動程式外還可能要補回很多登錄機碼和檔案。這個需要深入研究一下。(例如用 Process Monitor、RegShot 工具觀察一下 Windows 7 在安裝 WebCam 時動用到的機碼和檔案)

    b) 估計是需要的,否則影像播放會卡,但若將 DirectX 加到 PE,wim 會變得很大,那就不是小弟研究 PE 的目的了。PE 的用途是快速修復、維修電腦為主。有時在只有 256MB 的舊電腦,大一點的 Win7PE 都起動不了。

    因早前看不見留言,所以遲覆了。很抱歉 >_<

    ReplyDelete
  17. @RS0 其實,為何想這樣做呢? 另外,使用綠色版的完整 Windows (而非 PE) 便可解決所有 PE 限制了。

    完整版 XP 可以從 USB 起動的,透過 USBoot。USBoot 的特式是「綠色」(萬用),支援多種起機方法,能從大部份電腦起動;支援建立 EWF (Enhanced Write Filter),將變更寫在記憶體而非硬碟,從而改善從 USB 隨身碟執行時的隨機寫入效能問題,關機前可選擇性地儲存變更。

    完整 Windows 7 可透過 USB 硬碟起動 (Win7 應不支援 EWF,不能將變更儲存在 RAM,所以不建議用在寫入效能差的 USB 隨身碟上),但若要令它變做綠色版則好像未有像 USBoot 般的全自動工具,需要下一點功夫。(參考 12)

    ReplyDelete
  18. 修正 2010年7月10日下午11:28,內容為「將 Windows PE 2.x/3.0 跟硬碟本身的 Windows 7 作雙系統」的回覆:

    錯誤一:回覆有些地方用了 {GUID},有些地方用了 {fabb3c99-7ff9-11df-a45f-08002700e42d},其實所指的是同樣的東西 -- 執行 bcdedit /create 後電腦回傳的 GUID 值。

    錯誤二:回覆底部的命令 bcdedit /deletevalue {ramdisktoptions} description 中有項目拼錯了,{ramdisktoptions} 應為 {ramdiskoptions}。(ramdisk 和 options 之間沒有 t)

    希望沒令你混淆 ^^

    ReplyDelete
  19. 非常感謝,只是好困難ㄛ,請問可以提供載點嗎?

    ReplyDelete
  20. 您好

    感謝您對那個半製成品的興趣

    它暫時沒供下載了
    不知道你為甚麼需要那個 PE 呢?

    不過最近我發現了一個不錯的 Win7PE(製作者是一位叫玄天的中國人),看起來一點也不像以前任何 PE。 (如果我沒有告訴您那是一個 PE 您會覺得它是 Windows 7。)它有英文版和簡體中文版。您或可以通過 Google 搜索 xuantian PE3 iso 或 玄天 PE3 下載。

    PS: 雖然它強調的好像是對多媒體的支持,沒有內置自己慣用的維修軟體,但個人覺得那是次要,因可以後加或用 USB 隨身碟;反而一套設計健全,可以用到 Win 7 本身的檔案總管、磁碟管理、裝置管理員等實用系統功能的 PE 核心我覺得難得。我試過 network boot 方式用也不差。

    ReplyDelete

Post a Comment