|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-01-02, 08:58 AM | #1 |
榮譽會員
|
進行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\) 如果不可見,可在資料夾選項裡在「顯示所有的文件和資料夾」打上勾和「隱藏受保護的系統檔案」去掉勾。 [Version] signature="$Windows NT$" DriverVer=07/01/2001,5.1.2600.2180 [hal] acpipic_up = halacpi.dll e_isa_up = halstnd.dll mps_up = halapic.dll mps_mp = halmps.dll acpiapic_up = halaacpi.dll acpiapic_mp = halmacpi.dll ; ; ;------------------------------------------------------------------------- ; 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 4、修改BOOT.INI 在準備封裝的系統後面加上 /DETECTHAL參數 如: [boot loader] timeout=0 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" /fastdetect /detecthal 5、將LONGHORN版本的NTLDR拷貝到從C:\,覆蓋原有的NTLDR 各位也可以參考上傳附件中的mstest.rar文件包(包含NTLDR、DTECTHAL.INF、BOOT.INI示例) 最後,針對死性不改前些天在龍帝國等各大論壇發佈的S&R&SV9.5.0提出一些疑問? 1、不知道這次發佈的S&R&SV9.5.0正式版本是否參考了我在21號發佈的MCC_WIM_XP_BETA_1.0.0.iso中的dtecthal.inf文件? 2、我自己偵錯過這個S&R&SV9.5.0,發現裡面的dtecthal.inf和我自己寫的dtecthal.inf具有相同新增者,就是未知帳戶的那個權限(參考附圖),僅僅是文件內容不同,不知道你該作何解釋? |
__________________ |
|
送花文章: 3,
|
向 psac 送花的會員:
|
alanyih (2009-12-20)
感謝您發表一篇好文章 |
2006-02-05, 08:50 AM | #2 (permalink) |
榮譽會員
|
製作關於longhorn安裝方法的系統碟的方法 【WIM封裝方法】
http://www.slime2.com.tw/forums/show...light=longhorn 級 xp/2003 的工作管理器至 Longhorn 版 http://www.slime2.com.tw/forums/show...light=longhorn 無法進入Windows XP,提示 hal.dll 損壞或丟失掉掉 不是遺失檔案!或一定壞掉! 4、找不到HAL.DLL文件,啟動中止 這個是由於C碟根目錄下的boot.ini文件非法,導致預設從C:@Windows啟動,但是又由於你的Windows XP沒有安裝在C碟,所以系統提示找不到HAL.DLL文件。啟動因而失敗。解決方法是重新編輯Boot.ini文件。我們有很多方法編輯這個文件,下面我挑選幾種便於操作的介紹給大家: 1)、使用Win9X啟動碟啟動,使用EDIT.EXE指令編輯這個文件。啟動EDIT.EXE以後只要按照正確的格式輸入Boot.ini文件的內容,儲存為Boot.ini文件即可。 2)、使用COPY CON指令新增一個Boot.ini文件。在DOS下輸入Copy Con C:@boot.ini以後Enter鍵。然後按照Boot.ini文件的格式輸入,每輸入一行敲一次Enter鍵鍵,當全部內容輸入完畢以後,按CTRL+Z,螢幕上會看到^Z的提示。這個時候再敲一次Enter鍵,系統會提示1 file(s) copied.這就表示新增成功了。 3)、使用故障恢復控制台裡面的bootcfg指令。具體的使用方法請大家檢視Q330184一文。我在這裡就不介紹了。 4)、在別的電腦上新增好以後,拷貝到受損電腦的C碟根目錄上覆蓋源文件即可。 5、安裝的簡體中文版的Windows XP在啟動選單的時候不是英文提示 一般是由於C:@bootfont.bin丟失造成的,但是如果你安裝了更高版本的英文版本的Windows,那麼這個現象就是很正常的。如果沒有的話,從Windows XP安裝光碟裡面提取bootfont.bin到C碟根目錄即可。 6、安裝Windows 2000後無法啟動Windows XP 症狀:安裝Windows 2000後試突啟動Windows XP時,您可能會收到下面的錯誤消息: "Starting Windows... Windows 2000 could not start because the following file is missing or corrupt:@WINDOWS@SYSTEM32@CONFIG@SYSTEMd startup options for Windows 2000, press F8. You can attempt to repair this file by starting Windows 2000 Setup using the original Setup floppy disk or CD-ROM. Select 'r' at the first screen to start repair." 原因:出現此問題的原因是,在Windows 2000發行時Windows XP尚不存在。Windows 2000啟始程序不知道已在Windows XP中做了改動。電腦需要知道這些改動才能載入Windows XP。 解決:若要解決此問題,請用Windows 2000啟動電腦,然後將Windows XP光碟上I386資料夾中的NTLDR和Ntdetect.com文件複製到系統驅動器的根目錄中。 XP系統啟動時提示找不到HAL.DLL文件,啟動中止 這個是由於C碟根目錄下的boot.ini文件非法,導致預設從C:\Windows啟動,但是又由於你的WinXP沒有安裝在C碟,所以系統提示找不到HAL.DLL文件。啟動因而失敗。解決方法是重新編輯Boot.ini文件。可用的方法有很多,在此不一一詳述,最簡單的方法是使用故障恢復控制台裡面的bootcfg指令,當然也可以在別的電腦上新增好以後,拷貝到受損電腦的C碟根目錄上覆蓋源文件。 http://www.slime2.com.tw/forums/show...hlight=hal.dll Windows XP Professional電腦啟動過程概述 http://www.slime2.com.tw/forums/show...hlight=hal.dll 2000-XP-2003操作系統一般問題集錦 http://www.slime2.com.tw/forums/show...hlight=hal.dll 作者:Heelen 轉貼自:本站原創 Q: 現在無法啟動 Windows XP 了,提示「因以下文件的損壞或丟失掉掉,Windows無法啟動:<Windows root>\system32\hal.dll. 請重新安裝以上文件的拷貝。」請問如何解決? A: 該故障是由於hal.dll文件損壞或丟失掉掉引起的。解決的方法:插入 Windows XP的安裝光碟,在「恢復控制台」下將光碟上i386目錄中與你電腦硬體相匹配的HAL文件解壓縮到Windows\system32中,並把檔案名更改為hal.dll即可。HAL文件如下表所顯示,共分為7種,但目前的電腦通常都為「ACPI Uniprocessor PC」或「Advanced Configuration and Power Interface (ACPI) PC」,因此我們在取代時可以先嘗試這兩個。不同硬體組態的電腦,系統使用的HAL文件可能不同的,所以如果取代為與電腦不匹配的 HAL 文件,將可能導致系統無法啟動。下面將介紹如何在「恢復控制台」下完成整個操作: 假設 Windows XP 安裝在C碟,F盤為光碟,系統的 HAL 文件屬於「ACPI Uniprocessor PC」,那麼進入「恢復控制台」後依次執行以下指令: Del C:\windows\system32\hal.dll expand F:\i386\halaacpi.dl_ C:\windows\system32\hal.dll exit 電腦的描述文字及對應的 HAL 文件 電腦的描述文字 對應的 HAL 文件 ACPI Multiprocessor PC halmacpi.dl_ ACPI Uniprocessor PC halaacpi.dl_ Advanced Configuration and Power Interface (ACPI) PC halacpi.dl_ MPS Multiprocessor PC halmps.dl_ MPS Uniprocessor PC halapic.dl_ Standard PC hal.dl_ Compaq SystemPro Multiprocessor or 100% Compatible halsp.dl_ 小提示:要瞭解自己電腦使用的是哪個 HAL 文件,可以右擊【我的電腦】,依次選項【內容】→【硬體】,按下【裝置管理員】按鈕,然後展開【電腦】項目,便可以清楚看到當前電腦的描述文字。 |
送花文章: 3,
|