@echo off cls echo 這是製作 VistaPE 的批次檔,必須先要有: echo  1.使用在 Vista 之下,Vista 內裝虛擬機器(現在用VPC2007)供測試用 echo  2.Windows AIK,下載連結請詳閱本批次檔(右鍵-編輯) :: http://www.microsoft.com/downloads/details.aspx?familyid=C7D4BC6D-15F3-4284-9123-679830D629F2&displaylang=zh-tw echo  3.BsExplorer,這樣才有桌面 :: http://www.kursknet.ru/~boa/en/peprog.html#bspeexplorer echo  4.XPlorer,一個類似“檔案總管”的東西 :: http://guti.webcindario.com/static.php?page=XPlorer echo. echo. echo 準備工作 echo  1.Windows AIK 先安裝起來 echo   程式群組內的“Windows PE 工具命令提示”複製到桌面上方便隨時用 echo  2.虛擬機器安裝好,建立一個虛擬機器,256MB以上。捷徑到桌面上方便隨時用 echo  3.下載來的 BsExplorer 先解開,(例)放在 D:\AIK\BsExplorer echo 裡面的 ini 檔複製出來,(例)放在 D:\AIK\BsExplorer.ini,以便修改 echo  4.XPlorer同樣解開來,(例)放在 D:\AIK\XPlorer,可以先執行看看,還不錯 echo. echo. echo 由於多項操作都需要管理員權限,這個批次檔必須(右鍵)(以系統管理員權限執行) echo. echo 隨時可以按 Ctrl+C 中斷批次作業 echo. echo. if not exist "%ProgramFiles%\Windows AIK\Tools\PETools\copype.cmd" echo *** 還沒有安裝 Windows WIK *** if not exist "%ProgramFiles%\Windows AIK\Tools\PETools\copype.cmd" goto ExitP Set VistaPE_Work_Dir=D:\VistaPE Set VistaPE_Tool_Dir=D:\AIK Set Path=%Path%;%ProgramFiles%\Windows AIK\Tools\PETools;%ProgramFiles%\Windows AIK\Tools\%PROCESSOR_ARCHITECTURE% echo 第一步:建立工作目錄 (詳閱本批次檔)。如果有,請先刪掉工作目錄 pause if exist %VistaPE_Work_Dir%\etfsboot.com cls if exist %VistaPE_Work_Dir%\etfsboot.com echo 工作目錄存在!請先備份必要檔案,然後刪掉,再繼續 if exist %VistaPE_Work_Dir%\etfsboot.com pause if exist %VistaPE_Work_Dir%\etfsboot.com echo 工作目錄仍然存在哦!離開 ..... if exist %VistaPE_Work_Dir%\etfsboot.com goto Exit call copype x86 %VistaPE_Work_Dir% start explorer %VistaPE_Work_Dir% cls echo 先簡介一下工作目錄中看到的東西: echo. echo 這是一份可以開機的 VistaPE,完全空白,開機後僅有“命令提示字元” echo 擁有大部分內建指令,例如 dir,chkdsk 這些,也可執行存在的外部指令,例如 Ghost32 echo 如果網路卡是 Vista 認得的,也會有網路指令,例如 net use z: \\Server\Share echo. echo mount 目前是空的,供給 winpe.wim 掛載、編輯內容用 echo 掛載指令:imagex /mountrw winpe.wim 1 .\mount echo 取消掛載(不儲存)的指令:imagex /unmount .\mount echo 修改後包裝回去的指令:imagex /unmount .\mount /commit echo winpe.wim 輸出到 ISO 內指令:imagex /export winpe.wim 1 ISO\sources\boot.wim echo 製作光碟的指令:oscdimg -n -betfsboot.com \ISO VistaPE-x86.iso echo. echo 將 ISO 內所有檔案複製到可開機的 USB 隨身碟,也可以的 echo USB製作可開機指令提示: echo  diskpart, list disk, select disk N, list partition, select partition N, active echo. echo 第二步,加入桌面(BsExplorer)、類“檔案總管”(XPlorer) pause imagex /mountrw winpe.wim 1 .\mount cd mount\windows\system32 echo [LaunchApp] > winpeshl.ini echo AppPath=%%ProgramFiles%%\BsExplorer\Explorer.exe >> winpeshl.ini cd ..\..\Program Files md BsExplorer xcopy %VistaPE_Tool_Dir%\BsExplorer BsExplorer xcopy /y %VistaPE_Tool_Dir%\BsExplorer.ini BsExplorer md XPlorer copy %VistaPE_Tool_Dir%\XPlorer\*.* XPlorer cd ..\.. :::::::::::::::::::::::::::::::::::追加一些常用的系統檔 copy %SystemRoot%\system32\oledlg.dll mount\windows\system32 cls echo --------------------------------------------------- echo - 中文輸入法 - echo - 詳情參閱 http://support.microsoft.com/kb/926181 - echo --------------------------------------------------- peimg /install=*zh-tw* mount peimg /lang=zh-tw mount setlocal set WinPEWinDir=%VistaPE_Work_Dir%\mount\Windows md %WinPEWinDir%\IME md %WinPEWinDir%\IME\IMETC10 md %WinPEWinDir%\System32\IME md %WinPEWinDir%\System32\IME\IMETC10 md %WinPEWinDir%\System32\IME\shared copy %windir%\System32\CTFMON.EXE %WinPEWinDir%\System32 /y /d copy %windir%\System32\MSUTB.DLL %WinPEWinDir%\System32 /y /d copy %windir%\System32\MsCtfMonitor.DLL %WinPEWinDir%\System32 /y /d copy %windir%\System32\PINTLGNT.IME %WinPEWinDir%\System32 /y /d xcopy %windir%\IME\IMETC10 %WinPEWinDir%\IME\IMETC10 /s /y /d xcopy %windir%\System32\IME\IMETC10 %WinPEWinDir%\System32\IME\IMETC10 /s /y /d xcopy %windir%\System32\IME\shared %WinPEWinDir%\System32\IME\shared /s /y /d @echo REGSVR32 /S %%WinDir%%\System32\MSUTB.DLL > %WinPEWinDir%\System32\IME\IMEReg.CMD @echo REGSVR32 /S %%WinDir%%\System32\MsCtfMonitor.DLL >> %WinPEWinDir%\System32\IME\IMEReg.CMD @for %%i in (IMEAPIS.DLL imecfm.dll IMEPADSM.DLL IMETIP.DLL imever.dll MSCAND20.DLL) do @echo REGSVR32 /S %%WinDir%%\System32\IME\shared\%%i >> %WinPEWinDir%\System32\IME\IMEReg.CMD @for %%i in (ImTCCfg.DLL ImTCCore.dll IMTCTIP.dll imtcui.DLL) do @echo REGSVR32 /S %%WinDir%%\System32\IME\IMETC10\%%i >> %WinPEWinDir%\System32\IME\IMEReg.CMD @echo REG ADD HKCU\Software\Microsoft\CTF\TIP\{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732} ^> nul >> %WinPEWinDir%\System32\IME\IMEReg.CMD @echo REG ADD HKCU\Software\Microsoft\CTF\TIP\{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}\LanguageProfile ^> nul >> %WinPEWinDir%\System32\IME\IMEReg.CMD @echo REG ADD HKCU\Software\Microsoft\CTF\TIP\{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}\LanguageProfile\0x00000404 ^> nul >> %WinPEWinDir%\System32\IME\IMEReg.CMD @echo REG ADD HKCU\Software\Microsoft\CTF\TIP\{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}\LanguageProfile\0x00000404\{B2F9C502-1742-11D4-9790-0080C882687E} ^> nul >> %WinPEWinDir%\System32\IME\IMEReg.CMD @echo REG ADD HKCU\Software\Microsoft\CTF\TIP\{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}\LanguageProfile\0x00000404\{B2F9C502-1742-11D4-9790-0080C882687E} /v "Enable" /t REG_DWORD /d 1 ^> nul >> %WinPEWinDir%\System32\IME\IMEReg.CMD @echo REG ADD HKCU\Software\Microsoft\CTF\Assemblies\0x00000404\{34745C63-B2F0-4784-8B67-5E12C8701A31} /v "Default" /d "{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}" /f ^> nul >> %WinPEWinDir%\System32\IME\IMEReg.CMD @echo REG ADD HKCU\Software\Microsoft\CTF\Assemblies\0x00000404\{34745C63-B2F0-4784-8B67-5E12C8701A31} /v "Profile" /d "{B2F9C502-1742-11D4-9790-0080C882687E}" /f ^> nul >> %WinPEWinDir%\System32\IME\IMEReg.CMD @echo REG ADD HKCU\Software\Microsoft\CTF\Assemblies\0x00000404\{34745C63-B2F0-4784-8B67-5E12C8701A31} /v "KeyboardLayout" /t REG_DWORD /d "04040404" /f ^> nul >> %WinPEWinDir%\System32\IME\IMEReg.CMD @echo start CTFMON.EXE >> %WinPEWinDir%\System32\IME\IMEReg.CMD cls echo 到此為止,這個 VistaPE 已經有桌面了, echo BsExplorer 內建了許多工具的捷徑,可以一一補上 echo 也可以清掉那些捷徑,加上自己愛用的 echo. echo 接下來進行的是:打包(UnMount)、匯出到 ISO、製作光碟映像檔(置於根目錄) echo. pause imagex /unmount .\mount /commit del ISO\sources\boot.wim imagex /export winpe.wim 1 ISO\sources\boot.wim oscdimg -n -betfsboot.com .\ISO \VistaPE-x86-TW.iso :ExitP pause :Exit exit \AIK\BsExplorer.ini\bs_qlaunch.ini 的內容: ------------------------------------------ [QLaunch CFG file Ver.1] <-ItemBegin-> Caption=Show desktop ExeName=@ShowDesktop IconNumber=20 <-ItemEnd-> ------------------------------------------ \AIK\BsExplorer.ini\bs_desktop.ini 的內容: ------------------------------------------ [Desktop CFG file Ver.1] <-ItemBegin-> ItemX=20 ItemY=15 Caption=命令提示字元 ExeName=%SystemRoot%\system32\cmd.exe IconName=%SystemRoot%\system32\cmd.exe IconNumber=0 ExeDir=%SystemDrive%\ CmdParam= ShowState=NORMAL <-ItemEnd-> <-ItemBegin-> ItemX=20 ItemY=95 Caption=啟動網路 ExeName=%SystemRoot%\system32\wpeutil.exe IconName=%SystemRoot%\system32\imageres.dll IconNumber=67 ExeDir=%SystemRoot%\system32\ CmdParam=InitializeNetwork ShowState=NORMAL <-ItemEnd-> <-ItemBegin-> ItemX=20 ItemY=175 Caption=啟動中文輸入法 ExeName=%SystemRoot%\system32\IME\IMEReg.cmd IconName=%SystemRoot%\system32\imageres.dll IconNumber=88 ExeDir=%SystemRoot%\ CmdParam= ShowState=NORMAL <-ItemEnd-> <-ItemBegin-> ItemX=20 ItemY=255 Caption=檔案總管 XPlorer ExeName=%ProgramFiles%\Xplorer\XPlorer.exe IconName=%ProgramFiles%\Xplorer\XPlorer.exe IconNumber=0 ExeDir=%ProgramFiles%\Xplorer\ CmdParam= ShowState=NORMAL <-ItemEnd-> ------------------------------------------ 後記;待續 批次檔指令參考:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/for.mspx?mfr=true 070815 XPlorer 對於某些執行檔會產生錯誤,原因不明