流傳一:所需工具軟件
xp_w_picpath.exe
Setide.exe 用來更改IDE和電源模式
SYSPREP.EXE 封裝程序
devcon.exe 用來刪除驅動
一、製作PE引導映像
1. 提取原始Install.wim的1和2映像解壓到空分區(或虛擬分區,用命令:subst x: d:\boot subst y: d:\drive)
① 將 install.wim 中的內容張開到驅動器x:和y:
設 xp_w_picpath 所在的目錄在 D:\xp_w_picpath;進入該目錄,鍵入
xp_w_picpath /apply d:\install.wim x: 1
xp_w_picpath /apply d:\install.wim y: 2
② 將 x: 和 Y: 由的文件生成新的 WIM 文件:
xp_w_picpath /flags 1 /boot x: e:\Install.wim "WinPE Boot Image"
xp_w_picpath /flags 2 /append y: e:\Install.wim "WinPE Drive Image"
現在生成的Install.wim鏡像已經含有PE必需的啓動信息和驅動信息. (此文件可做個備份方便以後調用)
注意:如果你已經有帶PE引導的*.wim文件,可不做此步驟
二、安裝全新的Windows XP 和其它軟件
三、刪除修改驅動程序
運行 Setide.exe
四、優化系統
1、關閉“電源管理”下的的休眠功能。右擊桌面空白處,選擇“屬性 →屏幕保護程序→電源→休眠”,取消“啓用休眠”前的鉤即可。
2、關閉系統還原
3、如果你安裝了一些通過Windows Installer安裝的軟件,並且以後不打算刪除或者修復這些軟件,還可以有選擇的把C:\WINDOWS\Installer下的一些.msi文件刪除。
4、解壓XP安裝盤\SUPPORT\TOOLS\DEPLOY.CAB中的SYSPREP.EXE、setupcl.exe、setupmgr.exe到C:\sysprep目錄
五、運行封裝程序
1、運行C:\sysprep\setupmgr.exe 製作SYSPREP.INF文件
2、執行C:\sysprep\devcon.exe remove * 刪除驅動
3、運行C:\sysprep\SYSPREP.EXE -mini -noreboot 封裝系統
4、進行SYSPREP後計算機硬件抽象層HAL(電源模式)的完美解決 見下方的進行SYSPREP後計算機硬件抽象層HAL(電源模式)的完美解決
5、重啓電腦後用PE系統盤引導進入PE系統
六、在PE系統中製作映像文件
1、替換C:\WINDOWS\SYSTEM32\SETUP.BMP (安裝背景圖片、可不做)
2、追加自己封裝的系統分區:
先刪除pagefile.sys
del C:\pagefile.sys
xp_w_picpath.exe /flags 0 /append C: D:\Install.wim "Windows XP VOL SP2 "
C: 表示系統所在盤符
4、用UltraISO將做好的install.wim替換iso中的install.wim
七、刻盤安裝!
可製作2K,2003,XP的WIM安裝盤
此製作方法還用2個問題
1、C:\ntldr文件需手動恢復
2、製作2K系統時在恢復系統時需修改Boot.ini文件(將WINDOWS改爲WINNT)
(我自己寫了個程序在恢復系統時自動恢復ntldr文件和修改Boot.ini文件)
ISO包含文件:
BOOT\
BOOTFIX.BIN
FS_EXT.SYS
SETUPLDR.BIN
SOURCES\
eula.txt
PIDGEN.DLL
setup.exe
SETUPP.INI
setup.exe.local
spflvrnt.dll
spwizeng.dll
wdscore.dll
wdsutil.dll
win32ui.dll
win32uitheme.dll
winsetup.dll
xmlrw.dll感謝flyppgg
xp_w_picpath.exe
Setide.exe 用來更改IDE和電源模式
SYSPREP.EXE 封裝程序
devcon.exe 用來刪除驅動
一、製作PE引導映像
1. 提取原始Install.wim的1和2映像解壓到空分區(或虛擬分區,用命令:subst x: d:\boot subst y: d:\drive)
① 將 install.wim 中的內容張開到驅動器x:和y:
設 xp_w_picpath 所在的目錄在 D:\xp_w_picpath;進入該目錄,鍵入
xp_w_picpath /apply d:\install.wim x: 1
xp_w_picpath /apply d:\install.wim y: 2
② 將 x: 和 Y: 由的文件生成新的 WIM 文件:
xp_w_picpath /flags 1 /boot x: e:\Install.wim "WinPE Boot Image"
xp_w_picpath /flags 2 /append y: e:\Install.wim "WinPE Drive Image"
現在生成的Install.wim鏡像已經含有PE必需的啓動信息和驅動信息. (此文件可做個備份方便以後調用)
注意:如果你已經有帶PE引導的*.wim文件,可不做此步驟
二、安裝全新的Windows XP 和其它軟件
三、刪除修改驅動程序
運行 Setide.exe
四、優化系統
1、關閉“電源管理”下的的休眠功能。右擊桌面空白處,選擇“屬性 →屏幕保護程序→電源→休眠”,取消“啓用休眠”前的鉤即可。
2、關閉系統還原
3、如果你安裝了一些通過Windows Installer安裝的軟件,並且以後不打算刪除或者修復這些軟件,還可以有選擇的把C:\WINDOWS\Installer下的一些.msi文件刪除。
4、解壓XP安裝盤\SUPPORT\TOOLS\DEPLOY.CAB中的SYSPREP.EXE、setupcl.exe、setupmgr.exe到C:\sysprep目錄
五、運行封裝程序
1、運行C:\sysprep\setupmgr.exe 製作SYSPREP.INF文件
2、執行C:\sysprep\devcon.exe remove * 刪除驅動
3、運行C:\sysprep\SYSPREP.EXE -mini -noreboot 封裝系統
4、進行SYSPREP後計算機硬件抽象層HAL(電源模式)的完美解決 見下方的進行SYSPREP後計算機硬件抽象層HAL(電源模式)的完美解決
5、重啓電腦後用PE系統盤引導進入PE系統
六、在PE系統中製作映像文件
1、替換C:\WINDOWS\SYSTEM32\SETUP.BMP (安裝背景圖片、可不做)
2、追加自己封裝的系統分區:
先刪除pagefile.sys
del C:\pagefile.sys
xp_w_picpath.exe /flags 0 /append C: D:\Install.wim "Windows XP VOL SP2 "
C: 表示系統所在盤符
4、用UltraISO將做好的install.wim替換iso中的install.wim
七、刻盤安裝!
可製作2K,2003,XP的WIM安裝盤
此製作方法還用2個問題
1、C:\ntldr文件需手動恢復
2、製作2K系統時在恢復系統時需修改Boot.ini文件(將WINDOWS改爲WINNT)
(我自己寫了個程序在恢復系統時自動恢復ntldr文件和修改Boot.ini文件)
ISO包含文件:
BOOT\
BOOTFIX.BIN
FS_EXT.SYS
SETUPLDR.BIN
SOURCES\
eula.txt
PIDGEN.DLL
setup.exe
SETUPP.INI
setup.exe.local
spflvrnt.dll
spwizeng.dll
wdscore.dll
wdsutil.dll
win32ui.dll
win32uitheme.dll
winsetup.dll
xmlrw.dll感謝flyppgg
網上的另一個方法:
WIM 封裝的 Windows XP SP2 製作過程全記錄
具體步驟如下:
1、安裝 Windows XP SP2 最新版本,打好各種補丁,調整好各種設置。
2、用 Ghost 做好備份。
3、刪除可以刪除的各種垃圾,以減小體積,這一步一定要小心。
3、用 Setupmgr.exe 生成自動封裝腳本 sysprep.inf 文件。
4、用 Sysprep.exe 執行封裝操作。
5、用深山紅葉啓動光盤啓動電腦,進行 Windows PE。用 Xp_w_picpath.exe 執行 lzx 壓縮。
① 下載 Longhorn 光盤,從中提取出 install.wim 文件放在 E:install.wim;
② 執行命令 xp_w_picpath /info E:install.wim,觀察看到的信息:
具體步驟如下:
1、安裝 Windows XP SP2 最新版本,打好各種補丁,調整好各種設置。
2、用 Ghost 做好備份。
3、刪除可以刪除的各種垃圾,以減小體積,這一步一定要小心。
3、用 Setupmgr.exe 生成自動封裝腳本 sysprep.inf 文件。
4、用 Sysprep.exe 執行封裝操作。
5、用深山紅葉啓動光盤啓動電腦,進行 Windows PE。用 Xp_w_picpath.exe 執行 lzx 壓縮。
① 下載 Longhorn 光盤,從中提取出 install.wim 文件放在 E:install.wim;
② 執行命令 xp_w_picpath /info E:install.wim,觀察看到的信息:
Available Image Choices:
------------------------
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<WIM>
<IMAGE INDEX="0">
<DIRCOUNT>33</DIRCOUNT>
<FILECOUNT>979</FILECOUNT>
<TOTALBYTES>152267917</TOTALBYTES>
<CREATIONTIME>
<HIGHPART>0x1C58977</HIGHPART>
<LOWPART>0x96FB6AE0</LOWPART>
</CREATIONTIME>
<DESCRIPTION>WINPE BOOT IMAGE</DESCRIPTION>
<FLAGS>1</FLAGS>
</IMAGE>
<IMAGE INDEX="1">
<DIRCOUNT>32</DIRCOUNT>
<FILECOUNT>976</FILECOUNT>
<TOTALBYTES>152267730</TOTALBYTES>
<CREATIONTIME>
<HIGHPART>0x1C58977</HIGHPART>
<LOWPART>0xB38CF480</LOWPART>
</CREATIONTIME>
<DESCRIPTION>WINPE DRIVE IMAGE</DESCRIPTION>
<FLAGS>2</FLAGS>
</IMAGE>
<IMAGE INDEX="2">
<DIRCOUNT>1882</DIRCOUNT>
<FILECOUNT>22874</FILECOUNT>
<TOTALBYTES>3965721128</TOTALBYTES>
<CREATIONTIME>
<HIGHPART>0x1C58C3D</HIGHPART>
<LOWPART>0x9A7EE2A0</LOWPART>
</CREATIONTIME>
<DESCRIPTION>ALL IN 1 IMAGE</DESCRIPTION>
<FLAGS>0</FLAGS>
</IMAGE>
</WIM>
可以看到 flag 1 和 flags 2 包含了Windows PE 的啓動信息和驅動部分。
③ 生成兩個虛擬驅動器:
md D:\boot
md d:\drive
subst x: d:\boot
subst y: d:\drive ④ 將 install.wim 中的內容張開到驅動器x:和y:
設 xp_w_picpath 所在的目錄在 D:\xp_w_picpath;進入該目錄,鍵入
xp_w_picpath /apply e:\install.wim x: 1
xp_w_picpath /apply e:\install.wim y: 2
⑤ 將 x: 和 Y: 由的文件生成新的 WIM 文件:
xp_w_picpath /flags 1 /boot x: e:\install0.wim "BOOT IMAGE"
xp_w_picpath /flags 2 /append y: e:\install0.wim "DRIVE IMAGE"
新生成的 install0.wim 文件比 install.wim 文件小很多。
⑥ 覆蓋了原來的 install.wim 文件:
copy e:\install0.wim e:\install.wim
⑦ 將啓動盤的所有內容壓制到新 install.wim 文件中:
xiamge /flags 0 /append c: e:\install.wim "WINXP SP2 IMAGE"
這一步的時間很長,圖拉丁1.2G 時執行 Ghost 只需要 4 分鐘,用 xp_w_picpath lzx 壓縮需要 21 分鐘。
6、用 Ghost 恢復系統。
7、將 insall.wim 文件放入下載的 iso 文件([url]www...net/bbs[/url] 有.提供的 iso 下載)中,重新生成 iso 鏡像,刻盤,測試。
至此,整個封裝過程結束。
由於 封裝的 iso 內有大量的新驅動,在 vm 中測試可能會藍屏,但在主機上安裝不會有問題 流傳三:
------------------------
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<WIM>
<IMAGE INDEX="0">
<DIRCOUNT>33</DIRCOUNT>
<FILECOUNT>979</FILECOUNT>
<TOTALBYTES>152267917</TOTALBYTES>
<CREATIONTIME>
<HIGHPART>0x1C58977</HIGHPART>
<LOWPART>0x96FB6AE0</LOWPART>
</CREATIONTIME>
<DESCRIPTION>WINPE BOOT IMAGE</DESCRIPTION>
<FLAGS>1</FLAGS>
</IMAGE>
<IMAGE INDEX="1">
<DIRCOUNT>32</DIRCOUNT>
<FILECOUNT>976</FILECOUNT>
<TOTALBYTES>152267730</TOTALBYTES>
<CREATIONTIME>
<HIGHPART>0x1C58977</HIGHPART>
<LOWPART>0xB38CF480</LOWPART>
</CREATIONTIME>
<DESCRIPTION>WINPE DRIVE IMAGE</DESCRIPTION>
<FLAGS>2</FLAGS>
</IMAGE>
<IMAGE INDEX="2">
<DIRCOUNT>1882</DIRCOUNT>
<FILECOUNT>22874</FILECOUNT>
<TOTALBYTES>3965721128</TOTALBYTES>
<CREATIONTIME>
<HIGHPART>0x1C58C3D</HIGHPART>
<LOWPART>0x9A7EE2A0</LOWPART>
</CREATIONTIME>
<DESCRIPTION>ALL IN 1 IMAGE</DESCRIPTION>
<FLAGS>0</FLAGS>
</IMAGE>
</WIM>
可以看到 flag 1 和 flags 2 包含了Windows PE 的啓動信息和驅動部分。
③ 生成兩個虛擬驅動器:
md D:\boot
md d:\drive
subst x: d:\boot
subst y: d:\drive ④ 將 install.wim 中的內容張開到驅動器x:和y:
設 xp_w_picpath 所在的目錄在 D:\xp_w_picpath;進入該目錄,鍵入
xp_w_picpath /apply e:\install.wim x: 1
xp_w_picpath /apply e:\install.wim y: 2
⑤ 將 x: 和 Y: 由的文件生成新的 WIM 文件:
xp_w_picpath /flags 1 /boot x: e:\install0.wim "BOOT IMAGE"
xp_w_picpath /flags 2 /append y: e:\install0.wim "DRIVE IMAGE"
新生成的 install0.wim 文件比 install.wim 文件小很多。
⑥ 覆蓋了原來的 install.wim 文件:
copy e:\install0.wim e:\install.wim
⑦ 將啓動盤的所有內容壓制到新 install.wim 文件中:
xiamge /flags 0 /append c: e:\install.wim "WINXP SP2 IMAGE"
這一步的時間很長,圖拉丁1.2G 時執行 Ghost 只需要 4 分鐘,用 xp_w_picpath lzx 壓縮需要 21 分鐘。
6、用 Ghost 恢復系統。
7、將 insall.wim 文件放入下載的 iso 文件([url]www...net/bbs[/url] 有.提供的 iso 下載)中,重新生成 iso 鏡像,刻盤,測試。
至此,整個封裝過程結束。
由於 封裝的 iso 內有大量的新驅動,在 vm 中測試可能會藍屏,但在主機上安裝不會有問題 流傳三:
製作基於longhorn安裝方法的封裝系統盤的方法
1.請安裝要封裝的系統到空分區。 (注:即從頭安裝一遍,這個系統就是封裝的wim鏡象所包含的系統) 2.拷貝安裝盤的i386(和amd64、IA64如果有的話)到系統的根目錄。注意要在系統內操作! 3.安裝TweakUI,修改安裝源指向%SystemRoot%\I386(或者AMD64/IA64) 4.卸載TweakUI。 (注:這是爲了解決電源管理,既ghost鏡像裏的硬盤抽象層,可用.的工具代替) 5.拷貝Longhorn 4074 or 5048的SYSPREP目錄(或者是wim中提取) (注:提取最新版的系統封裝程序部署包) 6.在系統中運行SYSPREP\uncabsrc.cmd 7.運行SYSPREP程序進行封裝。 8.分別將wim的1和2映像分區解到空分區(或虛擬分區)上。 注:這是winpe部分,可參照以下方法制作 10.提取第一部分:WinPE Boot Image到指定的空分區(盤符設爲J:),然後執行命令:xp_w_picpath /apply D:\install.wim J: 1 (“1”不能少,用來指定提取第一部分啓動信息) 11.用xp_w_picpath /boot 來生成帶啓動信息的WIM鏡像,具體命令如下: xp_w_picpath /boot /capture /lzx /flags 1 J: e:\install.wim "WinPE Boot Image" /capture表示生成鏡像,/flags 1 表示用戶自定義的標記。這裏仍然遵循原鏡像的約定。 /lzx 是壓縮參數,經過測試,這是最大的壓縮參數。 引號裏的參數是自定義的描述性信息 12.刪除D分區所有文件,從原install.wim裏釋放第二部分到D分區,命令如下 xp_w_picpath /apply D:\install.wim J: 2 (“2”不能少,用來指定提取第二部分驅動信息) step 4將D分區裏的驅動信息追加到step 2中生成已經帶啓動信息的install.wim中,命令如下: xp_w_picpath /append /lzx /scroll /flags 2 D: e:\install.wim "WinPE Drive Image" (/append表示追加,/scroll表示以滾屏方式顯示進度,/flags 2表示作的標記,仍然遵循原鏡像的約定) 現在生成的wim鏡像已經含有PE必需的啓動信息和驅動信息. 13.然後追加自己封裝的系統分區: xp_w_picpath.exe /flags 0 /append D: install.wim "Windows Longhorn pro" 14.將wim改名爲install.wim. 15.用xp_w_picpath /info 察看映像的indexes,如果是0、1、2,請改爲1、2、3(用16進制編輯器)。 (筆者注:沒明白爲什麼要改,老外有人先做個空映像的方法代替) 16.用UltraISO將做好的wim替換4074的iso中的wim. 17.然後刻盤安裝! 說明:
用Sysprep打造高質量的系統映像
安裝Windows漫長、無聊的等待讓許多人忍無可忍,於是除了標準的安裝方法之外,許多別出心裁的安裝方式出現了,利用磁盤映象部署就是其中的一種。爲了更好地使用磁盤映像,微軟提供了一個Sysprep工具。
Sysprep是一個“系統準備”工具,主要功能是在創建磁盤映像之前刪除當前操作系統的所有唯一性信息,便於Ghost之類的工具複製磁盤映像。不過除此之外,Sysprep還有其他許多功能,充分利用這些功能將大大提高映像的質量。
一、延長映像的生存期
建築需要堅固的基礎才能經受住時間的考驗,同樣地,構造系統映像也需要優質的原材料和高超的技巧。爲了構造出高質量的系統映像,不能讓根本沒用的驅動程序、註冊鍵、應用程序混入映像文件,所以用來創建映像的源機器一定要全新安裝。
在準備創建映像的過程中,Sysprep會斷開源機器與域的聯繫——所以只要有可能,應該儘量避免將源機器加入到任何域,可以用本地的Administrator帳戶安裝應用程序、Service Pack和實施各種定製操作。爲了儘可能地延長映像文件的使用時間,這個階段的定製操作應當慎重。如果要改變某些設置,儘可能用cmdlines.txt腳本(後面將有詳細討論)。
在Windows中,每一個用戶帳戶有它自己的一套配置數據,如每個用戶有不同的桌面設置、“我的文檔”等,這類配置數據統稱爲配置文件。Windows會自動爲每個新建的用戶帳戶設置默認的配置文件,但默認配置文件往往不能滿足需要,必須經過定製才適合使用。對於大多數小型網絡環境(或獨立的機器),由於沒有域服務器,不能通過組策略發佈和管理用戶的配置文件。那麼,是否可以將定製的配置文件作爲默認的配置文件加入到映像文件,也就是說,以後新建用戶帳戶時,讓Windows自動將定製的配置文件作爲默認配置文件呢?答案是肯定的,具體實現步驟是:
⑴ 建立一個臨時的本地帳戶,登錄該帳戶,定製桌面、開始菜單以及其他想要定製的與用戶配置文件有關的設置,完成後,註銷該帳戶,然後用Administrator帳戶登錄。
⑵ 爲便於後繼步驟的操作,配置資源管理器,使其顯示隱藏的文件和文件夾。
⑶ 右擊“我的電腦”,選擇“屬性”,然後點擊“高級”選項卡。在“用戶配置文件”下面點擊“設置”,選擇爲臨時用戶創建的配置文件,然後點擊“複製到”,轉到%SystemDrive%\Documents and Settings,選擇Default User文件夾,點擊“確定”。
⑷ 在“允許使用”下面點擊“更改”,輸入everyone,如圖一;點擊“確定”、“確定”。
⑸ 當系統詢問是否要覆蓋現有的默認用戶配置文件時,回答“是”。
經過這番設置之後,第一次登錄該系統(或用該映像創建的系統)的用戶將採用上面設定的默認用戶配置文件。
大多數較新的機器都需要操作系統安裝盤本身沒有提供的驅動程序。那麼,如何讓這類驅動程序也能自動安裝呢?你必須把它們複製到硬盤上的某個位置,然後修改sysprep.inf指定這些位置(參見附錄“自動創建Sysprep.inf文件”)。具體的操作步驟是:
㈠ 在系統驅動器的根目錄下創建一個Sysprep目錄,用來保存運行Sysprep必需的執行文件和sysprep.inf文件。
㈡ 在系統驅動器的根目錄或Sysprep目錄下創建一個Drivers目錄——如果你要讓目標機器運行好最小安裝後能夠使用這些驅動程序,則在根目錄下創建Drivers文件夾;如果將驅動程序保存在Sysprep目錄下的文件夾,最小安裝過程將清除它們(最小安裝是Windows常規安裝過程的簡化版,它只詢問尚未在sysprep.inf中回答的問題)。
㈢ 在Drivers文件夾下,爲不同的硬件設備創建相應的子目錄保存驅動程序,將所有第三方驅動程序複製到相應的子目錄。
㈣ 接下來還要設置一下sysprep.inf文件,以便最小安裝過程能夠找到驅動程序,如下面的例子所示。注意安裝程序不會搜索OemPnPDriverPath路徑的子目錄,所以每一個目錄都必須分別指定:
二、挖掘sysprep.inf的潛力
要讓同一個映像適用於不同類型的硬件系統,最關鍵的是要設置好sysprep.inf文件的SysprepMassStorage小節。你可以手工在這個小節中加入大容量存儲設備的驅動程序,使得具有不同磁盤控制器的系統能夠共享映像;或者乾脆一點,你可以讓Sysprep自動填寫該小節,加入操作系統帶有的所有大容量存儲設備。
第二種辦法的優點是一個映像文件可以支持大量的硬件設備——即使是創建映像時你還不可能想到的那些設備;其缺點是,在Sysprep處理期間引入所有的驅動程序需要額外耗費10到15分鐘的時間,而且必須在目標系統上用-clean參數運行Sysprep。
讓Sysprep自動加入大容量存儲設備的操作步驟是:
⑴ 首先確保sysprep.inf同時提供Sysprep和SysprepMassStorage小節。
⑵ 在Sysprep小節下面創建如下指令:BuildMassStorageSection=Yes。
⑶ 打開一個命令窗口,轉到sysprep.exe所在的目錄,執行命令sysprep -bmsd。Sysprep將構造出SysprepMassStorage小節的內容並結束。
⑷ 接着執行Sysprep -mini,完成最後的Sysprep操作。
除了SysprepMassStorage小節之外,sysprep.inf還有其他許多配置項目值得好好利用。例如,UserData小節用來定義安裝期間典型問題的答案,凡是最小安裝期間希望手工輸入的內容,保留空白即可。如果你想讓映像既能夠用於多處理器的系統,也能夠用於單處理器的系統,可以在Unattended小節中設定UpdateHAL或UpdateUPHAL。Identification小節的作用是自動加入域或者工作組。
最後,你可以用GuiUnattended小節的OEMDuplicatorString設置來輔助管理映像文件的修訂,這個設置選項將把指定的字符串值加入到所有由該映像構造的系統;以後,當你要檢查一下某臺機器的操作系統是由哪一個映像構造時,可以檢查註冊鍵HKEY_LOCAL_MACHINE\SYSTEM\Setup\OemDuplicatorString確定原來的映像。
三、自動執行操作
爲了提高安裝過程的靈活性,你可以在安裝期間或之後自動運行一些命令。如果要在最小安裝結束後安裝軟件或運行程序、批命令文件、腳本,只要將相應的指令寫入cmdlines.txt文件;如果要在目標系統重新啓動後安裝程序或運行命令,則必須將指令寫入sysprep.inf文件的GuiRunOnce小節。
■ cmdlines.txt
這個文件位於%SystemDrive%\Sysprep\i386\$oem$目錄。下面是一個例子,它以-clean參數運行Sysprep,另外還執行Script1批命令、Program2程序:
cmdlines.txt文件的格式很簡單,不過要注意以下幾點:
⑴ sysprep.inf文件Unattended小節必須聲明InstallFilesPath,並且使其指向$oem$文件夾所在的位置。
⑵ 必須將所有要用到的文件複製到本地硬盤上。
⑶ 如果cmdlines.txt包含的命令修改或創建了註冊表設置,這部分設置將作爲默認用戶的設置寫入,對所有新建的用戶帳戶都有效。
⑷ 不能用cmdlines.txt安裝那些使用Windows Installer的軟件(.msi軟件包)。
■ GuiRunOnce
如果要在目標系統重新啓動後再運行命令、批命令文件或腳本,可以在sysprep.inf文件的GuiRunOnce小節設置。該小節中設置的命令將在用戶第一次登錄時運行,要注意的幾點是:
⑴ 必須啓用了Autologon才能讓GuiRunOnce設置的命令生效,即必須在GuiUnattended小節設置AutoLogon=Yes。
用引號括起每一個命令。
⑵ GuiRunOnce小節裏面的命令在當前登錄用戶的安全上下文下運行,注意用戶權限是否允許運行當前的命令。
⑶ 爲保證所有的命令都被執行,必須禁止重新啓動。如果某個用GuiRunOnce啓動的程序提供了重新啓動系統的選項(許多支持無人值守安裝的軟件都這樣),你必須關閉重新啓動。如果系統重新啓動,GuiRunOnce裏面後繼的命令將不再被執行。
⑷ 如果要安裝多個應用軟件,用start命令和/wait參數啓動安裝程序,避免各個程序之間相互影響。
四、附錄:自動創建sysprep.inf文件
創建sysprep.inf文件最方便的途徑是使用微軟的Setup Manager(安裝管理器)程序。對於Windows XP,你可以在XP CD-ROM的\Support\Tools目錄的deploy.cab文件裏找到它。
將安裝管理器的執行文件setupmgr.exe複製到硬盤,雙擊執行,嚮導將詢問是否要創建一個新的應答文件,還是修改現有的應答文件。選擇“創建新文件”,指定這將是一個用於Sysprep的文件(圖二),選擇將用新建的應答文件部署的平臺(圖三)。
根據實際需要,分別設定常規、網絡、高級類選項(圖四),最後點擊“完成”,安裝管理器將創建sysprep.inf文件並提示輸入保存文件的位置。完成後,你可以用記事本打開sysprep.inf文件進行分析了。 大多數較新的機器都需要操作系統安裝盤本身沒有提供的驅動程序。那麼,如何讓這類驅動程序也能自動安裝呢?你必須把它們複製到硬盤上的某個位置,然後修改sysprep.inf指定這些位置(參見附錄“自動創建Sysprep.inf文件”)。具體的操作步驟是:
㈠ 在系統驅動器的根目錄下創建一個Sysprep目錄,用來保存運行Sysprep必需的執行文件和sysprep.inf文件。
㈡ 在系統驅動器的根目錄或Sysprep目錄下創建一個Drivers目錄——如果你要讓目標機器運行好最小安裝後能夠使用這些驅動程序,則在根目錄下創建Drivers文件夾;如果將驅動程序保存在Sysprep目錄下的文件夾,最小安裝過程將清除它們(最小安裝是Windows常規安裝過程的簡化版,它只詢問尚未在sysprep.inf中回答的問題)。
㈢ 在Drivers文件夾下,爲不同的硬件設備創建相應的子目錄保存驅動程序,將所有第三方驅動程序複製到相應的子目錄。
㈣ 接下來還要設置一下sysprep.inf文件,以便最小安裝過程能夠找到驅動程序,如下面的例子所示。注意安裝程序不會搜索OemPnPDriverPath路徑的子目錄,所以每一個目錄都必須分別指定:
二、挖掘sysprep.inf的潛力
要讓同一個映像適用於不同類型的硬件系統,最關鍵的是要設置好sysprep.inf文件的SysprepMassStorage小節。你可以手工在這個小節中加入大容量存儲設備的驅動程序,使得具有不同磁盤控制器的系統能夠共享映像;或者乾脆一點,你可以讓Sysprep自動填寫該小節,加入操作系統帶有的所有大容量存儲設備。
第二種辦法的優點是一個映像文件可以支持大量的硬件設備——即使是創建映像時你還不可能想到的那些設備;其缺點是,在Sysprep處理期間引入所有的驅動程序需要額外耗費10到15分鐘的時間,而且必須在目標系統上用-clean參數運行Sysprep。
讓Sysprep自動加入大容量存儲設備的操作步驟是:
⑴ 首先確保sysprep.inf同時提供Sysprep和SysprepMassStorage小節。
⑵ 在Sysprep小節下面創建如下指令:BuildMassStorageSection=Yes。
⑶ 打開一個命令窗口,轉到sysprep.exe所在的目錄,執行命令sysprep -bmsd。Sysprep將構造出SysprepMassStorage小節的內容並結束。
⑷ 接着執行Sysprep -mini,完成最後的Sysprep操作。
除了SysprepMassStorage小節之外,sysprep.inf還有其他許多配置項目值得好好利用。例如,UserData小節用來定義安裝期間典型問題的答案,凡是最小安裝期間希望手工輸入的內容,保留空白即可。如果你想讓映像既能夠用於多處理器的系統,也能夠用於單處理器的系統,可以在Unattended小節中設定UpdateHAL或UpdateUPHAL。Identification小節的作用是自動加入域或者工作組。
最後,你可以用GuiUnattended小節的OEMDuplicatorString設置來輔助管理映像文件的修訂,這個設置選項將把指定的字符串值加入到所有由該映像構造的系統;以後,當你要檢查一下某臺機器的操作系統是由哪一個映像構造時,可以檢查註冊鍵HKEY_LOCAL_MACHINE\SYSTEM\Setup\OemDuplicatorString確定原來的映像。
三、自動執行操作
爲了提高安裝過程的靈活性,你可以在安裝期間或之後自動運行一些命令。如果要在最小安裝結束後安裝軟件或運行程序、批命令文件、腳本,只要將相應的指令寫入cmdlines.txt文件;如果要在目標系統重新啓動後安裝程序或運行命令,則必須將指令寫入sysprep.inf文件的GuiRunOnce小節。
■ cmdlines.txt
這個文件位於%SystemDrive%\Sysprep\i386\$oem$目錄。下面是一個例子,它以-clean參數運行Sysprep,另外還執行Script1批命令、Program2程序:
cmdlines.txt文件的格式很簡單,不過要注意以下幾點:
⑴ sysprep.inf文件Unattended小節必須聲明InstallFilesPath,並且使其指向$oem$文件夾所在的位置。
⑵ 必須將所有要用到的文件複製到本地硬盤上。
⑶ 如果cmdlines.txt包含的命令修改或創建了註冊表設置,這部分設置將作爲默認用戶的設置寫入,對所有新建的用戶帳戶都有效。
⑷ 不能用cmdlines.txt安裝那些使用Windows Installer的軟件(.msi軟件包)。
■ GuiRunOnce
如果要在目標系統重新啓動後再運行命令、批命令文件或腳本,可以在sysprep.inf文件的GuiRunOnce小節設置。該小節中設置的命令將在用戶第一次登錄時運行,要注意的幾點是:
⑴ 必須啓用了Autologon才能讓GuiRunOnce設置的命令生效,即必須在GuiUnattended小節設置AutoLogon=Yes。
用引號括起每一個命令。
⑵ GuiRunOnce小節裏面的命令在當前登錄用戶的安全上下文下運行,注意用戶權限是否允許運行當前的命令。
⑶ 爲保證所有的命令都被執行,必須禁止重新啓動。如果某個用GuiRunOnce啓動的程序提供了重新啓動系統的選項(許多支持無人值守安裝的軟件都這樣),你必須關閉重新啓動。如果系統重新啓動,GuiRunOnce裏面後繼的命令將不再被執行。
⑷ 如果要安裝多個應用軟件,用start命令和/wait參數啓動安裝程序,避免各個程序之間相互影響。
四、附錄:自動創建sysprep.inf文件
創建sysprep.inf文件最方便的途徑是使用微軟的Setup Manager(安裝管理器)程序。對於Windows XP,你可以在XP CD-ROM的\Support\Tools目錄的deploy.cab文件裏找到它。
將安裝管理器的執行文件setupmgr.exe複製到硬盤,雙擊執行,嚮導將詢問是否要創建一個新的應答文件,還是修改現有的應答文件。選擇“創建新文件”,指定這將是一個用於Sysprep的文件(圖二),選擇將用新建的應答文件部署的平臺(圖三)。
根據實際需要,分別設定常規、網絡、高級類選項(圖四),最後點擊“完成”,安裝管理器將創建sysprep.inf文件並提示輸入保存文件的位置。完成後,你可以用記事本打開sysprep.inf文件進行分析了。 大多數較新的機器都需要操作系統安裝盤本身沒有提供的驅動程序。那麼,如何讓這類驅動程序也能自動安裝呢?你必須把它們複製到硬盤上的某個位置,然後修改sysprep.inf指定這些位置(參見附錄“自動創建Sysprep.inf文件”)。具體的操作步驟是:
㈠ 在系統驅動器的根目錄下創建一個Sysprep目錄,用來保存運行Sysprep必需的執行文件和sysprep.inf文件。
㈡ 在系統驅動器的根目錄或Sysprep目錄下創建一個Drivers目錄——如果你要讓目標機器運行好最小安裝後能夠使用這些驅動程序,則在根目錄下創建Drivers文件夾;如果將驅動程序保存在Sysprep目錄下的文件夾,最小安裝過程將清除它們(最小安裝是Windows常規安裝過程的簡化版,它只詢問尚未在sysprep.inf中回答的問題)。
㈢ 在Drivers文件夾下,爲不同的硬件設備創建相應的子目錄保存驅動程序,將所有第三方驅動程序複製到相應的子目錄。
㈣ 接下來還要設置一下sysprep.inf文件,以便最小安裝過程能夠找到驅動程序,如下面的例子所示。注意安裝程序不會搜索OemPnPDriverPath路徑的子目錄,所以每一個目錄都必須分別指定:
進行SYSPREP後計算機硬件抽象層HAL(電源模式)的完美解決 (微軟破解中心)微軟官方背景資料:
如何通過Sysprep準備磁盤複製所需的映像 Windows 如何確定 ACPI 兼容性 安裝 Windows XP 或 Windows Server 2003 之後的 HAL 選項 衆所周知,微軟自帶系統封裝工具SYSPREP,可以方便快捷地進行企業產品部署,但是在WINDOWS LONGHORN之前,運用SYSPREP有一個限制,就是僅適用於用於封裝的源計算機和目標計算機必須具有相同硬件抽象層 (HAL),因此,不同的網友均提出了不用的HAL檢測解決方案,如ACPI封包、死性不改的電源模式等等,這些解決方案不同程度存在幾個缺點: 1、檢測的兼容性無法達到100%; 2、檢測需要額外的文件,並且可能需要重新啓動計算機,耗費了時間; 有沒有一個最完美的解決方案呢?答案其實就在微軟未公開的技術。 筆者通過對於WINDOWS LONGHORN各內測版本進行分析,現在公開微軟部分未公開的技術: 1、微軟自WINDOWS LONGHORN後,改寫了NTLDR的部分代碼,提供了/detecthal 接口 2、BOOT.INI支持/detecthal參數,以實現與NTLDR的結合,並實現開機啓動即自動檢測HAL 3、\INF\dtecthal.inf是一個關鍵性文件,提供各種HAL類型檢測的參數說明 以下爲進行SYSPREP封裝後的自動完美檢測HAL具體實現方案: 1、從系統中提取相應的HAL文件包:(WIN2000在SP4.CAB/WINDOWS XP SP2在SP2.CAB/WINDOWS 2003在SP1.CAB) halacpi.dll halapic.dll halmps.dll halaacpi.dll halmacpi.dll hal.dll---->並更名爲halstnd.dll ntkrnlmp.exe ntkrnlpa.exe ntkrpamp.exe ntoskrnl.exe---->並更名爲ntkrnlup.exe 2、將上述相應的HAL文件包拷貝到系統\WINDOWS\SYSTEM32\(WINDOWS 2000爲\WINNT\SYSTEM32\) 3、將以下代碼保存爲dtecthal.inf並拷貝到\WINDOWS\INF\(WINDOWS 2000爲\WINNT\INF\) 如果不可見,可在文件夾選項裏在“顯示所有的文件和文件夾”打上勾和“隱藏受保護的系統文件”去掉勾。 引用: 4、修改BOOT.INI 在準備封裝的系統後面加上 /DETECTHAL參數 如: 引用:
5、將LONGHORN版本的NTLDR拷貝到從C:\,覆蓋原有的NTLDR 各位也可以參考上傳附件中的mstest.rar文件包(包含NTLDR、DTECTHAL.INF、BOOT.INI示例)DevCon 命令行設備管理器【真正的設備批量刪除工具】
刪除所有具體的使用方法是運行:devcon.exe remove *
刪除所有設備
小提示:
修改WIM安裝時這裏的文字
修改WIN32UI.DLL這個文件就可以了
用ResHacker
編輯
|