最新Ghost系統封裝教程及封裝工具原理
阿新 • • 發佈:2019-01-03
本教程基於MCC硬體抽象HAL(電源模式)原理,系統以XP為例。
這裡將系統封裝分為3步:做系統、封裝、部署
================================
一、做系統
================================
平臺不限,但不建議在虛擬機器上製作。CPU及主機板晶片沒有限制,關於intelide和intelppm的不相容問題,沒有反饋因此在AMD機器上藍屏的現象。
1、選用免啟用的版本安裝盤,正常安裝系統,打補丁,優化服務
XP,安裝大約需要15-20分鐘。
建議關閉系統還原及自定義通知,關閉遠端,關閉共享,關閉休眠
注意音效卡要驅動上,否則封裝後的系統都不在工作列顯示音量。
執行一次windows meida player,避免以後出現嚮導
安裝輸入法,並在“區域和語言選項”的“高階”中,應用於預設使用者賬戶。
我的文件,如果有需要也可以移動到D盤。
outlook不能儲存密碼及SQL安裝掛起的問題,也可以在這裡清理一下相關注冊表。
2、安裝需要的軟體
OFFICE安裝時要將“第一次使用時安裝”的專案完全安裝上,否則會以後提示插入光碟。
不建議安裝防毒軟體,特別是卡巴斯基,該軟體會與某封裝工具衝突。
不建議安裝虛擬光碟機及燒錄軟體,已知部分軟體在封裝後失效。
不建議刪除windows/Installer下的安裝檔案,可能會造成部分程式無法解除安裝。
3、封裝準備
執行“gpedit.msc"開啟組策略
“計算機配置/管理模板/系統”
啟用“關閉 Windows Update 裝置驅動程式搜尋”
“管理模板/系統/Internet 通訊管理/Internet 通訊設定”
啟用“關閉 Windows Update 裝置驅動程式搜尋”
“使用者配置/管理模板/系統”
啟用“配置驅動程式搜尋位置” (不搜尋軟盤,光碟機,Windows Update)
“使用者配置/管理模板/系統”
忽略“裝置驅動程式的程式碼簽名”
檢查系統屬性中的驅動簽名是否為忽略,update是否為從不搜尋。
清理Documents and Settings目錄,可以清理到10M以下。
當前賬戶/收藏夾,安裝軟體後經常有連結,清之~
當前賬戶/SendTo,郵件接收,建議刪除
當前賬戶/Recent,歷史記錄,現在刪了以後還得刪
當前賬戶/Local Settings/Temp,臨時檔案,能刪的全刪
當前賬戶/Local Settings/Application Data下的圖示快取IconCache.db,約5-10M
當前賬戶/桌面,建議將所有圖示移動到All Users/桌面
看下控制面板裡的新增刪除程式,有沒有流氓軟體,有就幹掉,當然,除非你有特殊目的。
================================
二、封裝
================================
1、更改 IDE 控制器及電源
在裝置管理器中更新驅動
從列表或指定位置安裝
不要搜尋,我要自己選擇要安裝的驅動程式
IDE更改為“標準雙通道 PCI IDE 控制器”,電源更改為“Standard PC”
2、提取檢測電源需要的相關檔案
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
將上述檔案拷貝到系統SYSTEM32目錄
3、新增inf檔案
將以下程式碼儲存為dtecthal.inf並拷貝到/WINDOWS/INF/,2000為/WINNT/INF/
[Version]
signature="$Windows NT$"
DriverVer=07/01/2001
[hal]
MPS_MP = halmps.dll
MPS_UP = halapic.dll
E_ISA_UP = halstnd.dll
ACPIPIC_UP = halacpi.dll
ACPIAPIC_UP = halaacpi.dll
ACPIAPIC_MP = halmacpi.dll
[ACPIOptions]
ACPIEnable = 2
ACPIBiosDate = 01,01,1999
4、引導
修改boot.ini,加上 /DETECTHAL引數,使系統啟動時檢測電源
注意將原boot.ini備份,並在部署後還原
[boot loader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)/WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /detecthal
C:/GHLDR=一鍵GHOST v11.0 Build 070707
5、NTLDR
引導檔案,將LONGHORN版本的NTLDR放到C盤下
注意將原NTLDR備份,並在部署後還原
6、封裝
將sysprep.exe,setupcl.exe,及配置好的sysprep.inf放到c:/sysprep
執行sysprep,“使用最小化安裝”、關機模式“退出”,點選“重新封裝”
等待大約5-10秒,完成。
7、刪除登錄檔中本地連線、電源相關
搜尋“本地連線”,刪除上級節點,可避免安裝到其他機器出現“本地連線2”
刪除電源相關的登錄檔鍵:
HKLM/SYSTEM/CurrentControlSet/Enum/ACPI_HAL
HKLM/SYSTEM/CurrentControlSet/Enum/Root/ACPI_HAL
HKLM/SYSTEM/CurrentControlSet001/Enum/ACPI_HAL
HKLM/SYSTEM/CurrentControlSet001/Enum/Root/ACPI_HAL
如果有002和003也刪除,刪除時先右點許可權,賦予完全控制權限,否則無法刪除。
注意刪除電源的登錄檔必須在封裝後操作,否則執行sysprep時會宕機。
另外封裝後切勿執行windows優化大師,執行後宕機。
8、設定好部署需要呼叫的檔案,如註冊元件時執行的程式,可寫在登錄檔runonce。
系統啟動選單的時間是在註冊元件前恢復為預設的30秒的
所以也可以在這裡更改回原來的boot.ini及ntldr
9、解除安裝驅動
很多文章講求順序,但是實際中並沒發現不按順序會怎樣。
解除安裝顯示器、顯示卡、音效卡、網絡卡、USB。都不解除安裝也不會有問題。
所謂的“幽靈硬體”就是指系統中母機殘留的硬體資訊,不要緊的。
10、最後的檢查及清理
清除windows下的lastgood (最後一次正確的配置)
清除windows下的Prefetch (程式快取)
/Local Settings/Application Data/IconCache.db 看是不是又出來了,有就刪除
windows及C盤,點左面的“隱藏此資料夾內容”,資料夾選項中恢復預設
工作列屬性,清除開始選單及最近文件的列表
如果要備份DllCache,使用相關工具在任何時候執行都可以。
以上是手動封裝的過程,中間無需重啟,如果是工具輔助封裝,基本可做到完全自動化。
封裝工具已知的有ASR、S&R&S,MSDP,YLMF,創輝,自由天空,PreTooler,
當然還有小兵的Dprep,另外於安的工具應該屬於S&R&S輔助擴充套件。
這裡講原理,不講使用。以我自己的封裝工具為例吧 :P
工具集成了sysprep.exe及配置好的自動應答檔案,並根據當前系統XP/2K/03進行釋放,
執行後使用devcon.exe來更新及解除安裝硬體驅動,從I386下提取判斷電源需要的檔案,
修改boot.ini並替換新的ntldr,呼叫sysprep完成封裝,並在封裝後清理系統及登錄檔。
封裝到此為止,可以重啟製作GHO映象了,注意現在boot選單時間是0。
可以使用光碟引導,推薦一鍵GHOST,可選擇最大壓縮。
================================
三、部署
================================
封裝工具一般都在登錄檔cmdline處接入自己的部署介面,再間接呼叫setup
使用工具封裝,擴充套件介面可以在部署前呼叫外部程式,如驅動選擇工具及dllcache恢復。
開始安裝的過程也是檢測硬體的過程,所以驅動如果是壓縮包,要在安裝前釋放完畢。
封裝工具呼叫的批處理,一般都是不顯示視窗的,如果手動封裝,可用VBS來呼叫批處理。
如果封裝工具不支援恢復選單選擇時間,或是手動封裝,可在註冊元件處還原boot.ini及ntldr
進入桌面後,封裝工具仍可以發揮作用,如填寫IP,呼叫程式,刪除檔案,刪除目錄
對於手動封裝,這些可以通過批處理來完成。
另外恢復dllcache也可以在進入桌面後執行。
不建議在第一次進入桌面時呼叫太多的程式。
================================
所有教程其實都大同小異,我這裡只是詳細提了些細節問題,算做給大家參考。
希望大家都能做出自己的封裝作品,當然,選擇一款好的封裝工具也很重要:)
封裝過程並無死規矩,要靈活運用,我封裝的時候經常是一邊放音樂一邊封裝
直到音效卡被解除安裝。。。
.
.
.
做封裝的系統,不要精簡得太厲害,有幾個服務必須要開啟,否則會出現莫名其妙的錯誤提示等等
.
.
.
;將系統封裝的背景顯示模式為 1024×768
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/VgaSave/Device0]
"DefaultSettings.YResolution"=dword:00000300
"DefaultSettings.XResolution"=dword:00000400
"DefaultSettings.BitsPerPel"=dword:00000020
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Video/{23A77BF7-ED96-40EC-AF06-9B1F4867732A}/0000]
"DefaultSettings.YResolution"=dword:00000300
"DefaultSettings.XResolution"=dword:00000400
"DefaultSettings.BitsPerPel"=dword:00000020
;將系統封裝的背景顯示模式為800×600
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/VgaSave/Device0]
"DefaultSettings.XResolution"=dword:00000320
"DefaultSettings.YResolution"=dword:00000258
"DefaultSettings.BitsPerPel"=dword:00000020
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Video/{23A77BF7-ED96-40EC-AF06-9B1F4867732A}/0000]
"DefaultSettings.XResolution"=dword:00000320
"DefaultSettings.YResolution"=dword:00000258
"DefaultSettings.BitsPerPel"=dword:00000020