一、準備
到微軟下載AIK,並安裝。我用的是6001.18000.080118-1840-kb3aik_cn.iso
二、建立自訂 Windows PE 映像的過程
0、使用copype.cmd建立本地 Windows PE 構建環境
copype.cmd x86 c:\winpe_x86
1、使用 ImageX 將基本映像 (Winpe.wim) 應用到本地共用目錄。例如,
imagex /apply WinPE.wim 1 C:\myWinPE
2、使用 peimg /list 命令查看已安裝和可安裝的程式包。例如,
peimg /list C:\myWinPE\Windows
3、使用 peimg /install 命令相應添加驅動程式、程式包和語言套件。例如,添加 HTA 程式包的命令如下:
peimg /install=WinPE-HTA-Package C:\myWinPE\Windows
4、複製要包括在映像中的任何其他檔案或工具。例如,
C:\myWinPE\Program Files\myapp\myapp.exe.
5、添加裝置驅動程式
peimg /inf=<path> c:\winpe_x86\mount\Windows
6、使用 peimg /prep 命令準備映像。此命令將刪除未為最終映像指定的任何程式包和語言套件。例如,
peimg /prep c:\myWinPE\Windows
7、使用 ImageX 捕獲新的可開機映像。例如,
imagex /boot /compress max /capture c:\myWinPE c:\boot.wim "My Winpe Image"
8、把c:"winpe_x86"ISO"sources"boot.wim用上步產生的c:"boot.wim替換掉
9、產生光碟片鏡像檔案
oscdimg -n -bc:\winpe_x86\etfsboot.com c:\winpe_x86\ISO c:\mywinpe.iso
10、可以用daemon載入mywinpe.iso,然後用vmware試一下。注意vmware虛擬機器的記憶體要512M,如果
是256M就啟動不了了。
三、下面是實際命令列拷貝
Updating path to include peimg, cdimage, imagex
C:\Program Files\Windows AIK\Tools\PETools\
C:\Program Files\Windows AIK\Tools\PETools\..\x86
C:\Program Files\Windows AIK\Tools\PETools>copype.cmd x86 d:\winpe_x86
===================================================
Creating Windows PE customization working directory
d:\winpe_x86
===================================================
已複製 1 個檔案。
已複製 1 個檔案。
C:\Program Files\Windows AIK\Tools\PETools\x86\boot\bcd
C:\Program Files\Windows AIK\Tools\PETools\x86\boot\boot.sdi
C:\Program Files\Windows AIK\Tools\PETools\x86\boot\bootfix.bin
C:\Program Files\Windows AIK\Tools\PETools\x86\boot\etfsboot.com
C:\Program Files\Windows AIK\Tools\PETools\x86\boot\fonts\chs_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\x86\boot\fonts\cht_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\x86\boot\fonts\jpn_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\x86\boot\fonts\kor_boot.ttf
C:\Program Files\Windows AIK\Tools\PETools\x86\boot\fonts\wgl4_boot.ttf
複製了 9 個檔案
C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\bcd
C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\fonts\chs_boot
.ttf
C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\fonts\cht_boot
.ttf
C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\fonts\jpn_boot
.ttf
C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\fonts\kor_boot
.ttf
C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\fonts\wgl4_boo
t.ttf
複製了 6 個檔案
已複製 1 個檔案。
已複製 1 個檔案。
Success
Updating path to include peimg, cdimage, imagex
C:\Program Files\Windows AIK\Tools\PETools\
C:\Program Files\Windows AIK\Tools\PETools\..\x86
D:\winpe_x86>imagex /apply winpe.wim 1 d:\mywinpe
ImageX Tool for Windows
Copyright (C) Microsoft Corp. All rights reserved.
Progress: 0%
Error restoring image.
D:\winpe_x86>mkdir d:\mywinpe
D:\winpe_x86>imagex /apply winpe.wim 1 d:\mywinpe
ImageX Tool for Windows
Copyright (C) Microsoft Corp. All rights reserved.
Progress: 100%
Successfully applied image.
D:\winpe_x86>xcopy /e d:\FileZilla "d:\mywinpe\Program Files\FileZilla"
目標 D:\mywinpe\Program Files\FileZilla 是檔案名稱
還是目錄名
(F = 檔案,D = 目錄)? d
D:\FileZilla\dbghelp.dll
D:\FileZilla\FileZilla.chm
D:\FileZilla\FileZilla.exe
D:\FileZilla\FileZilla.pdb
D:\FileZilla\FileZilla.xml
D:\FileZilla\FzGSS.dll
D:\FileZilla\FzResBu.dll
D:\FileZilla\FzResCh.dll
D:\FileZilla\FzResChs.dll
D:\FileZilla\FzResDe.dll
D:\FileZilla\FzResEs.dll
D:\FileZilla\FzResFr.dll
D:\FileZilla\FzResHu.dll
D:\FileZilla\FzResIt.dll
D:\FileZilla\FzResJp.dll
D:\FileZilla\FzResKr.dll
D:\FileZilla\FzResNor.dll
D:\FileZilla\FzResPo.dll
D:\FileZilla\FzResRu.dll
D:\FileZilla\FzSFtp.exe
D:\FileZilla\GPL.html
D:\FileZilla\legal.htm
D:\FileZilla\libeay32.dll
D:\FileZilla\puttylicense.html
D:\FileZilla\readme.htm
D:\FileZilla\ssleay32.dll
D:\FileZilla\Trusted Certs.dat
複製了 27 個檔案
D:\winpe_x86>peimg /inf=d:\intel_pro1000_123_vista32\PRO1000\Win32 d:\mywinpe\Windows
Windows 預先安裝環境映像安裝工具
著作權 (C) Microsoft Corp。著作權所有,並保留一切權利。
正在安裝 INF 程式包: d:\intel_pro1000_123_vista32\PRO1000\Win32
PEIMG 無法完成操作,狀態碼為 0x800f0003。
D:\winpe_x86>peimg /inf=d:\intel_pro1000_123_vista32\PRO1000\Win32\e1e6032.INF
Windows 預先安裝環境映像安裝工具
著作權 (C) Microsoft Corp。著作權所有,並保留一切權利。
未指定 Windows PE 映像。請使用 /image=
指定一個映像。
使用 /? 顯示用法資訊。
D:\winpe_x86>peimg /inf=d:\intel_pro1000_123_vista32\PRO1000\Win32\e1e6032.INF d:\mywinpe\Windows
Windows 預先安裝環境映像安裝工具
著作權 (C) Microsoft Corp。著作權所有,並保留一切權利。
正在安裝 INF 程式包: d:\intel_pro1000_123_vista32\PRO1000\Win32\e1e6032.INF
PEIMG 已成功完成操作。
D:\winpe_x86>peimg /inf=d:\intel_pro1000_123_vista32\PRO1000\Win32\e1g6032.inf d:\mywinpe\Windows
Windows 預先安裝環境映像安裝工具
著作權 (C) Microsoft Corp。著作權所有,並保留一切權利。
正在安裝 INF 程式包: d:\intel_pro1000_123_vista32\PRO1000\Win32\e1g6032.inf
PEIMG 已成功完成操作。
D:\winpe_x86>peimg /prep d:\mywinpe\Windows
Windows 預先安裝環境映像安裝工具
著作權 (C) Microsoft Corp。著作權所有,並保留一切權利。
/prep 命令將永久修改 Windows PE 映像,因此不能再對其進行
服務。這意味著以下各項操作:
- 安裝或卸載可選功能
- 應用Hotfix或其他服務程式包
- 安裝語言套件
將無法在準備好的映像上執行。
若要繼續,請輸入“yes”。任何其他輸入都將退出該程式。
是否繼續? yes
[==========================100.0%==========================]
PEIMG 已成功完成操作。
D:\winpe_x86>imagex /boot /compress max /capture d:\mywinpe d:\boot.wim "WinPE"
ImageX Tool for Windows
Copyright (C) Microsoft Corp. All rights reserved.
Files/folders excluded from image capture by default:
\WINDOWS\CSC
\RECYCLER
\$Recycle.Bin\*
\System Volume Information
\pagefile.sys
\hiberfil.sys
\$ntfs.log
Progress: 100%
Successfully imaged d:\mywinpe
D:\winpe_x86>copy d:\boot.wim d:\winpe_x86\ISO\sources\
改寫 d:\winpe_x86\ISO\sources\boot.wim 嗎? (Yes/No/All): yes
已複製 1 個檔案。
D:\winpe_x86>oscdimg -n -bd:\winpe_x86\etfsboot.com d:\winpe_x86\ISO d:\mywinpe.iso
OSCDIMG 2.54 CD-ROM and DVD-ROM Premastering Utility
Copyright (C) Microsoft, 1993-2007. All rights reserved.
Licensed only for producing Microsoft authorized content.
Scanning source tree
Scanning source tree complete (17 files in 8 directories)
Computing directory information complete
Image file is 160000000 bytes
Writing 17 files in 8 directories to d:\mywinpe.iso
100% complete
Final image file is 160000000 bytes
Done.
D:\winpe_x86>dir d:\mywinpe.iso
磁碟機 D 中的卷是 Software
卷的序號是 DC18-0AD8
d:\ 的目錄
2008-08-21 12:21 160,000,000 mywinpe.iso
1 個檔案 160,000,000 位元組
0 個目錄 22,609,256,448 可用位元組
D:\winpe_x86>
四、關於多的WinPE方面知識,請參閱AIK的協助,上面說的很詳細。
五、映像shell(下面內容來自M$)
Winpeshl.ini 可控制是否將自訂外殼程式載入到 Windows PE 而不是預設的“命令提示字元”視窗。若要載入自訂外殼程式,請建立一個名為 Winpeshl.ini 的檔案,然後將它放在自訂 Windows PE 映像的 %SYSTEMROOT%"System32 中。該 .ini 檔案必須包含以下部分和項:
[LaunchApp]
AppPath = %SYSTEMDRIVE%"myshell.exe
[LaunchApps]
%SYSTEMDRIVE%"mydir"application1.exe, -option1 -option2
application2.exe, -option1 -option2
將 AppPath 項設定為外殼應用程式的路徑。該路徑可以是完全限定路徑,您也可以使用環境變數(例如 %SYSTEMROOT%"System32"Myshell.exe)來表示該路徑。AppPath 項不支援命令列選項。
使用 [LaunchApps] 部分運行帶命令列選項的應用程式。應用程式按照列出的順序運行;應用程式的名稱及其選項以逗號分隔。
當退出“命令提示字元”視窗或自訂外殼應用程式時,Windows PE 將重新啟動。
重要事項:
不要編輯 Setupreg.hiv 的 HKEY_LOCAL_MACHINE"SYSTEM"Setup 登錄機碼中的 CmdLine 值來啟動外殼應用程式。CmdLine 的值可調用 Winpeshl.exe,Winpeshl.exe 會執行很多函數,包括調用 Windows PE 中的預設“命令提示字元”視窗或您的自訂外殼應用程式。
六、其他
http://www.winbuilder.net/
http://www.vistape.net/
http://princeproxy.info/index.php?hl=f5&q=uggc%3A%2F%2Ftenaqfgernzqernzf.oybtfcbg.pbz%2F2007%2F10%2Fivfgncr-ohvyqre-ghgbevny-uvtuyl.ugzy
http://hi.baidu.com/chenfen/blog/item/a98dd8bf49b8830f18d81f77.html
http://www.msfn.org/board/lofiversion/index.php/t73692.html
http://digi.it.sohu.com/20070515/n250033092.shtml