在Windows Embedded開發(fā)中使用Windows PE
在Windows XP Embedded 開發(fā)中使用 Windows PE ,通過 Windows PE,可以啟動沒有操作系統(tǒng)、硬盤驅(qū)動器和設(shè)備列表的設(shè)備。以下列表顯示了可以通過Windows PE 完成的一些工作:
• 啟動任何具有 CD-ROM 驅(qū)動器的設(shè)備,而不管啟動媒體(例如,硬盤驅(qū)動器)狀態(tài)如何或是否存在。
• 用目標分析器檢測硬件設(shè)備。
• 用 DiskPart 格式化硬盤驅(qū)動器以及對其進行分區(qū)。
• 連接到網(wǎng)絡(luò)文件夾以安裝驅(qū)動程序或映像。
在創(chuàng)建映像之后,可以使用 Windows PE 來微調(diào)設(shè)備上的映像。以下列表顯示了在已經(jīng)創(chuàng)建映像之后可以用 Windows PE 完成的一些工作:
• 使用 Windows PE 作為緊急啟動磁盤。
• 修復(fù)損壞的 boot.ini 文件。
• 訪問目標設(shè)備上的文件系統(tǒng)。
• 在運行目標設(shè)備上的映像前后,查看和編輯該映像的注冊表配置單元。
該技術(shù)文章是為開發(fā)和部署 Windows XP Embedded 映像的 Microsoft 合作伙伴編寫的,并且假定讀者充分了解和熟悉 Microsoft Windows Embedded Studio 組件設(shè)計器、組件數(shù)據(jù)庫管理器和目標設(shè)計器。
本頁內(nèi)容
◆Windows PE 簡介
◆用 Windows PE 啟動
◆用目標分析器檢測硬件設(shè)備
◆使用 DiskPart 對硬盤驅(qū)動器進行分區(qū)
◆連接到網(wǎng)絡(luò)文件夾以安裝驅(qū)動程序或映像
◆使用 Windows PE 作為緊急啟動磁盤
◆訪問目標設(shè)備上的文件系統(tǒng)
◆查看和編輯目標設(shè)備上的映像的注冊表配置單元
◆限制
◆Windows PE 上不受支持的Windows API
那我們一個一個介紹。
◆Windows PE 簡介
Microsoft Windows Preinstallation Environment (Windows PE) 是具有有限服務(wù)的最小 Win32® 子系統(tǒng),它基于在保護模式下運行的 Windows XP Professional。Windows PE 提供了執(zhí)行下列操作所需的最低功能:
• 運行 Windows 安裝程序。
• 從網(wǎng)絡(luò)共享中安裝操作系統(tǒng).
• 自動執(zhí)行基本過程。
• 執(zhí)行硬件驗證。
Windows XP Embedded Studio 隨附的 Windows PE CD-ROM 提供了下列功能:
• 在可啟動媒體和內(nèi)存中都具有小內(nèi)存足跡的硬件無關(guān) Windows 環(huán)境。
• Win32 應(yīng)用程序編程接口 (API) 子集、一個能夠運行批處理文件的命令行接口 (Cmd.exe) 以及對用于創(chuàng)建自定義工具或腳本的 Windows Script Host (WSH)、HTML Applications (HTA) 和 ActiveX Data Objects (ADO) 的支持。
• 網(wǎng)絡(luò)訪問并支持標準現(xiàn)成的網(wǎng)絡(luò)驅(qū)動程序,這些驅(qū)動程序是從使用 TCP/IP 的網(wǎng)絡(luò)復(fù)制映像和測試套件時可能需要的。
• 對所有使用 Windows 2000 或 Windows XP 驅(qū)動程序的海量存儲設(shè)備的支持。
• 對創(chuàng)建、刪除、格式化和管理 NTFS 文件系統(tǒng)分區(qū)的天然支持。
• 用于加載和測試特定硬件驅(qū)動程序的硬件診斷。
◆用 Windows PE 啟動
因為 Windows PE 在 CD-ROM 上是完備的,所以無須使用硬盤驅(qū)動器就可以啟動設(shè)備。在從 Windows PE 啟動之后,就可以運行目標分析器、訪問設(shè)備上的文件以及連接到網(wǎng)絡(luò)文件夾。
通過使用 Windows PE 啟動
1.將一個 CD-ROM 驅(qū)動器連接到設(shè)備。
2.將 Windows XP Embedded CD-ROM 盤 1 插入到該驅(qū)動器中。
3.將設(shè)備的 BIOS 設(shè)置配置為從 CD-ROM 驅(qū)動器啟動,并且啟動 CD。
Windows PE 即會啟動。在 Windows PE 啟動過程中,將啟用聯(lián)網(wǎng)服務(wù)并通過 DHCP 配置網(wǎng)絡(luò)接口。
◆用目標分析器檢測硬件設(shè)備
Windows PE 使用即插即用機制來枚舉目標設(shè)備上的硬件。然后,目標分析器可以使用該信息來創(chuàng)建 devices.pmq 文件。
在 Windows PE 環(huán)境中運行 TAP.exe 通常會產(chǎn)生相當小的目標系統(tǒng) PMQ 或硬件配置文件。這會產(chǎn)生最小配置運行庫映像。
下表顯示了 TAP.exe 能夠在各種環(huán)境中找到的設(shè)備的數(shù)量方面的差異:
設(shè)備 完整桌面環(huán)境 Windows PE 環(huán)境
典型的 Windows XP Pro 或 Windows 2000 桌面環(huán)境
65 到 75 個設(shè)備
35 到 45 個設(shè)備
典型的 Windows XP Pro 或 Windows 2000 膝上型環(huán)境
90 到 100 個設(shè)備
45 到 55 個設(shè)備
在 Windows PE 環(huán)境中,TAP.exe 將為 devices.pmq 找到下列基本項:
• 所有核心父設(shè)備,例如,外圍組件互連 (PCI) 和圖形加速端口 (AGP) 設(shè)備。
• 正確的系統(tǒng)硬件抽象層 (HAL)。
• 磁盤驅(qū)動器。
• CD-ROM 驅(qū)動器。
• 系統(tǒng)芯片組。
• 啟動系統(tǒng)所需的關(guān)鍵啟動設(shè)備。
• 基本通用串行總線 (USB) 設(shè)備支持。
使用 Windows PE 運行目標分析器
1.用您打算讓設(shè)備在其最終配置中具有的所有外圍設(shè)備來設(shè)置該設(shè)備。
2.將一個 CD-ROM 驅(qū)動器連接到設(shè)備。
3.用 Windows XP Embedded CD-ROM 盤 1 啟動設(shè)備。
當您從 Windows PE 中運行目標分析器時,可以將輸出 (devices.pmq) 保存到網(wǎng)絡(luò)文件夾或軟盤驅(qū)動器。
將目標分析器輸出保存到網(wǎng)絡(luò)位置
1.從 Windows PE 命令行,使用 net use 命令將一個共享驅(qū)動器映射到該設(shè)備。
下面的代碼示例顯示了常規(guī)語法。
net use * \\﹤computername﹥\﹤sharename﹥
下面的代碼示例顯示了如何將名為“development_computer”的計算機的共享 C 驅(qū)動器映射到目標設(shè)備上的“z”驅(qū)動器。
net use Z \\﹤developmentcomputer﹥\﹤C$﹥
2.將目錄更改到剛才映射的驅(qū)動器號。
例如,鍵入:
z:
3.會將目錄更改到包含 Tap.exe 的目錄。
例如,鍵入:
cd Program Files\Windows Embedded\utilities
4.運行 Tap.exe。
輸出文件的默認位置和文件名是與 tap.exe 相同的目錄,并且該文件名為 devices.pmq。
注可以用開關(guān) o/ 指定不同的路徑和輸出文件名。例如,要用輸出文件名 devices2.pmq 將輸出發(fā)送到計算機 //OtherDevelopmentComputerName 上的目錄 c:\Device1,則請鍵入:
tap.exe /o //﹤OtherDevelopmentComputerName﹥/c$/Device1/devices2.pmq
將目標分析器輸出保存到軟盤驅(qū)動器
1.導(dǎo)航到 \XPE 目錄并且從命令行運行 TAP.exe。
下面的代碼示例顯示了適當?shù)膮?shù):
tap /O a:\Kiosk-HW.PMQ
然后,TAP.exe 將產(chǎn)生目標設(shè)備的硬件配置文件(一個 .pmq 文件),并且將結(jié)果保存到驅(qū)動器 A 上的 a:\Kiosk-HW.PMQ。
2.將 Kiosk-HW.PMQ 文件復(fù)制到已經(jīng)安裝了 Windows XP Embedded 工具和數(shù)據(jù)庫的開發(fā)計算機。
◆使用 DiskPart 對硬盤驅(qū)動器進行分區(qū)
DiskPart 隨附在 Windows PE 中,并且可以用來配置不具有操作系統(tǒng) (OS) 的設(shè)備。在啟動 Windows PE 之后,可以配置系統(tǒng)上的硬盤。
有關(guān)使用 Diskpart 的其他信息,請參見該 Microsoft Web 站點。
通過使用 DiskPart 配置硬盤驅(qū)動器
1.啟動設(shè)備上的 Windows PE。
2.在命令提示處,鍵入 DiskPart。顯示 DiskPart 命令提示。
3.要顯示 DiskPart 幫助,請鍵入 ?。
4.使用 DiskPart 命令列出當前配置,選擇磁盤,或者編輯分區(qū)。
例如,要在系統(tǒng)中的輔助磁盤上創(chuàng)建 400 MB 主分區(qū),請使用下列 Diskpart 命令:
list disk
select disk 1
list partition
create partition primary size=400
5.在配置硬盤之后,通過鍵入 exit 停止該實用工具。
6.重新啟動設(shè)備。
7.用 format 命令格式化任何剛剛創(chuàng)建的分區(qū)。
有關(guān)使用 format 的詳細信息,請參見該Microsoft Web 站點。注 DiskPart 實用工具包含一個重寫選項。該選項可用來刪除 Microsoft Reserved (MSR) 分區(qū)或其他保護分區(qū)。在使用該重寫選項時要極為小心。
還可以通過使用部署海量系統(tǒng)所需的命令為 DiskPart 創(chuàng)建腳本。如果啟動 Windows PE 并且在網(wǎng)絡(luò)上呈現(xiàn)該設(shè)備,則可以通過使用以下命令來運行 DiskPart 腳本:
diskpart /s ﹤script name﹥
◆連接到網(wǎng)絡(luò)文件夾以安裝驅(qū)動程序或映像
可以使用 Windows PE 將沒有操作系統(tǒng) (OS) 的設(shè)備連接到網(wǎng)絡(luò)。 Windows PE 支持很多標準網(wǎng)絡(luò)設(shè)備。當您用 Windows PE 啟動時,它會啟用網(wǎng)絡(luò)并啟動動態(tài)主機配置協(xié)議 (DHCP)。當設(shè)備在網(wǎng)絡(luò)中處于活動狀態(tài)時,可以映射共享驅(qū)動器,或者將運行庫映像和應(yīng)用程序復(fù)制到該設(shè)備。
映射共享驅(qū)動器
1.啟動設(shè)備上的 Windows PE。
2.從 Windows PE 命令行,使用 net use 命令將一個共享驅(qū)動器映射到該設(shè)備。
例如,net use * \\﹤computername﹥\﹤sharename﹥。
在將共享驅(qū)動器裝入設(shè)備之后,可以將運行庫映像從共享復(fù)制到設(shè)備中,或者運行遠程腳本。
◆使用 Windows PE 作為緊急啟動磁盤
如果您對設(shè)備進行了更改,結(jié)果使該設(shè)備變得無法啟動,則可以使用 Windows PE 作為緊急啟動磁盤。
例如,如果您將映像部署到雙啟動測試設(shè)備,并且用映像的 boot.ini 文件意外改寫了測試計算機的 boot.ini 文件,則您可能會這樣做。如果您無法啟動計算機,則可以從 Windows PE CD-ROM 啟動并修復(fù) boot.ini 文件。
修復(fù) boot.ini 文件
1.用 Windows XP Embedded CD-ROM 盤 1 啟動設(shè)備。
2.在 Windows PE 啟動之后,在命令提示處鍵入:
C:\boot.ini
3.根據(jù)需要編輯 boot.ini 文件。
有關(guān)編輯啟動文件的詳細信息,請參見該Microsoft Web 站點。
◆訪問目標設(shè)備上的文件系統(tǒng)
當您用 Windows PE 啟動設(shè)備時,您將對目標設(shè)備上的 NTFS 文件系統(tǒng)具有完整的訪問權(quán)限,而無論文件系統(tǒng)中放置的管理員特權(quán)、訪問控制列表或 NTFS 權(quán)限怎樣。
注可以用加密文件系統(tǒng) (EFS) 加密映像中的文件和文件夾,以便幫助防止數(shù)據(jù)遭到未經(jīng)授權(quán)的訪問。加密文件被針對 NTFS 訪問進行了保護。有關(guān) EFS 的詳細信息,請參見該Microsoft Web 站點。
訪問目標設(shè)備上的文件
1.用 Windows XP Embedded CD-ROM 盤 1 啟動設(shè)備。
Windows PE 即會啟動。
2.在命令提示處,根據(jù)需要映射網(wǎng)絡(luò)驅(qū)動器,然后導(dǎo)航到本地或網(wǎng)絡(luò)文件夾。
◆查看和編輯目標設(shè)備上的映像的注冊表配置單元
在 FBA 前后,可以查看和編輯設(shè)備上的映像的注冊表配置單元。注冊表文件位于目標設(shè)備的 \WINDOWS\system32\config 文件夾中。
例如,C:\WINDOWS\system32\config。
在運行 FBA 之前,注冊表文件具有 .SAV 擴展名。下面的列表顯示了帶擴展名的注冊表配置單元:
• SAM.SAV
• SECURITY.SAV
• SOFTWARE.SAV
• SYSTEM.SAV
當 FBA 完成后,注冊表文件被保存且不帶 .SAV 擴展名。下面的列表顯示了不帶擴展名的注冊表配置單元:
• SAM
• SECURITY
• SOFTWARE
• SYSTEM
有關(guān)注冊表配置單元的詳細信息,請參見該Microsoft Web 站點。
編輯目標設(shè)備的注冊表
1.啟動設(shè)備上的 Windows PE。
2.在命令提示處,鍵入 regedit。
3.單擊 HKEY_LOCAL_MACHINE。
4.在 File 菜單上,選擇 Load Hive。
可能會出現(xiàn)一系列消息框,表明該文件夾無法找到并且該位置不可用。請忽略這些消息,并且在它們出現(xiàn)時單擊 OK。
出現(xiàn) Load Hive 對話框。
5.在 Files of type 框中,選擇 All Files。
6.導(dǎo)航到目標設(shè)備上的注冊表位置。
例如,如果映像位于驅(qū)動器 C 上,請導(dǎo)航到 C:\WINDOWS\system32\config。
7.在 config 文件夾中,選擇要編輯的配置單元,然后選擇 OK。
8.在 Load Hive 對話框中,鍵入項名稱。例如,TEST_DEVICE。
根據(jù)需要重復(fù)前面的步驟,以加載更多的配置單元。
9.選擇 HKEY_LOCAL_MACHINE,然后選擇所創(chuàng)建的新注冊表項。
10.編輯或查看這些注冊表項。
11.在完成注冊表項更改之后,選擇 HKEY_LOCAL_MACHINE,選擇 File 菜單,然后選擇 Unload Hive。
◆限制
包含在 Windows Embedded CD-ROM 中的 Windows PE 具有下列限制:
• Windows XP Embedded CD-ROM 中包含的 Windows PE 版本無法更新或配置。必須購買 Windows PE 的授權(quán)版本才能添加自定義支持。有關(guān)信息,請聯(lián)系您的 Microsoft 經(jīng)銷商。
• Windows PE 只包含可用 Win32 API 的子集。它包含 I/O(磁盤和網(wǎng)絡(luò))和核心 Win32 API。
• 在連續(xù)使用 24 小時之后,Windows PE 會自動停止運行外殼程序并重新啟動。
• 無法對網(wǎng)絡(luò)其他位置的 Windows PE 計算機上的文件或文件夾進行網(wǎng)絡(luò)訪問。
• 分布式文件系統(tǒng) (DFS) 名稱解析不受支持。對于 Windows PE 1.1 存在有限的支持,但僅限于獨立的 DFS 根。
• 獲得與文件服務(wù)器的網(wǎng)絡(luò)連接的經(jīng)過測試的方法是 TCP/IP 和 NetBIOS over TCP/IP。其他方法(例如,IPX/SPX 網(wǎng)絡(luò)協(xié)議)不受支持。
• 在 Windows PE 運行期間分配的驅(qū)動器號不會保存到任何在重新啟動后仍然存留的注冊表。創(chuàng)建分區(qū)時的驅(qū)動器號分配按照創(chuàng)建順序執(zhí)行,但重新啟動時的驅(qū)動器號分配按照默認順序執(zhí)行。
• Windows PE 需要與 VGA 兼容的設(shè)備,并且使用 800 x 600 像素的屏幕分辨率。如果 Windows PE 無法檢測視頻設(shè)置,則默認屏幕分辨率為 640 x 480 像素。
• Windows PE 不支持 Microsoft .NET Framework。
注如果您需要比 Windows PE 提供的功能更多的功能,則可以創(chuàng)建您自己的從 CD 啟動的 Windows XP Embedded 映像。有關(guān)創(chuàng)建可啟動 CD-ROM 的詳細信息,請參見該Microsoft Web 站點。
◆Windows PE 上不受支持的Windows API
Win32 API 集的下列類別函數(shù)在 Windows PE 中不存在:
• Windows Management Instrumentation (WMI)
• Windows Multimedia
• Still Image
• OpenGL
• NetShow Theater Administration
• Windows Shell
• Access Control
• Power Options
• Printing and Print Spooler
• Window Station and Desktop
• Terminal Services
• User Profile
• Tape Backup
有關(guān)這些類別的詳細信息,請參見該Microsoft Web 站點。
【編輯推薦】