微軟官方背景資料:如何通過Sysprep準(zhǔn)備磁盤復(fù)制所需的映像 Windows 如何確定 ACPI 兼容性安裝 Windows XP 或 Windows Server 2003 之后的 HAL 選項眾所周知,微軟自帶系統(tǒng)封裝工具SYSPREP,可以方便快捷地進(jìn)行企業(yè)產(chǎn)品部署,但是在WINDOWS LONGHORN之前,運用SYSPREP有一個限制,就是僅適用于用于封裝的源計算機(jī)和目標(biāo)計算機(jī)必須具有相同硬件抽象層 (HAL) 因此,不同的網(wǎng)友均提出了不用的HAL檢測解決方案,如ACPI封包、死性不改的電源模式等等,這些解決方案不同程度存在幾個缺點: 1、檢測的兼容性無法達(dá)到100%; 2、檢測需要額外的文件,并且可能需要重新啟動計算機(jī),耗費了時間 有沒有一個最完美的解決方案呢?答案其實就在微軟未公開的技術(shù)。筆者通過對于WINDOWS LONGHORN各內(nèi)測版本進(jìn)行分析,現(xiàn)在公開微軟部分未公開的技術(shù):
1、微軟自WINDOWS LONGHORN后,改寫了NTLDR的部分代碼,提供了/detecthal 接口 2、BOOT.INI支持/detecthal參數(shù),以實現(xiàn)與NTLDR的結(jié)合, 并實現(xiàn)開機(jī)啟動即自動檢測 HAL 3、\INF\dtecthal.inf是一個關(guān)鍵性文件,提供各種HAL類型檢測的參數(shù)說明
以下為進(jìn)行SYSPREP封裝后的自動完美檢測HAL具體實現(xiàn)方案:
1、從系統(tǒng)中提取相應(yīng)的HAL文件包:(WIN2000在SP4.CAB/WINDOWS XP SP2在SP2.CAB/WINDOWS 2003在SP1.CAB)
; ; ;------------------------------------------------------------------------- ; Auto detecd Computer HAL with BIOS information ;------------------------------------------------------------------------- ; Copyright(R)1980-2005 Microsoft Crack Center MCC(1980-2005) ; ; tesk work by mstest@MCC 20050515 ; ; mstested@hotmail.com ;------------------------------------------------------------------------- ; ; ; [ACPIOptions] ; This section lists options that affect the installation of ACPI on x86 ; ; ACPIEnable ; 0 - ACPI will be disabled at install time regardless of the BIOS ; 1 - ACPI will be enabled at install time if an ACPI BIOS is present ; 2 - ACPI will be enabled based on the GoodACPIBios list, the NWACL ; and ACPIBiosDate ; ; ACPIBiosDate = mm,dd,yyyy ; Supplies the date that a BIOS must have to be considered good if it is ; not in the GoodACPIBios list. If a BIOS has a date greater than this and ; is not in the NWACL list, then it will be used unless ACPIEnable = 0 ; [ACPIOptions] ACPIEnable = 2 ACPIBiosDate = 01,01,1999