windows root\system32\hal.dll"丟失缺少hal.dll文件
昨天遇見一個機器,開機后提示出現缺少hal.dll文件丟失的情況,以前的經驗告訴我很可能是硬盤到壽了,有壞道了,但是問客戶得知硬盤是新換的,以前的硬盤是有過壞道,但是新硬盤有壞道的幾率不大,
于是裝系統光盤啟動但是在GHOST的時候便卡住,以為是光驅讀盤不行,但是換了盤還是不行,于是進PE裝了系統,但是啟動后裝機速度還是,本機配置還可以的,P42.8,865PE,512,64 gf440顯卡,重啟之后竟然沒有進入桌面,郁悶,再重啟,這回進入了,怪怪啊,但是搞了幾下重啟進桌面后又死機了,于是開機箱重新插拔硬盤數據線和電源口,這回機器流暢多了,但是老家伙只給我20元,哎,郁悶死啊,好歹也是硬件故障啊,真后悔沒給她直接換件了,好人難做啊,什么世道啊
小知識:hal.dll是Windows硬件提取層模塊,該用于用于解決硬件的復雜性。
對應的 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_
屬于: Microsoft Windows Operating System
解決方法:
提示hal.dll損壞或丟失,實際上該文件并不一定不存在,可以說,拷個文件回去system32里,根本是不可以解決的.出現這個錯誤的原因是boot.ini文件出錯,導致引導不了機器從指定的路徑啟動,那樣系統搜索其他的路徑,而其他路徑上是沒有hal.dll文件的,就會提示這個錯誤.一般的解決辦法是進入故障恢復控制臺,用fixboot命令,如果這樣修復不了boot.ini,就用bootcfg/add來重建boot.ini。
這個是由于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以后回車。然后按照Boot.ini文件的格式輸入,每輸入一行敲一次回車鍵,當全部內容輸入完畢以后,按CTRL+Z,屏幕上會看到^Z的提示。這個時候再敲一次回車,系統會提示1 file(s) copied.這就表示創建成功了。
3)、使用故障恢復控制臺里面的bootcfg命令。
4)、在別的電腦上創建好以后,拷貝到受損電腦的C盤根目錄上覆蓋源文件即可。
還有個辦法,你用個u盤從別個那里拷一個 hal.dll文件,然后插在你的電腦上,再用一張系統安裝盤放進光驅。在第一選擇里,選擇修復,就可以進入doc里了。然后從a: b: 一直試下去,看到了u盤就要吧用
copy hal.dll c:\windows\system32\hal.dll 就可以了,
原理是在安裝系統的時候,u盤也會被檢測到,就可以用了。
最近不知怎么把hal.dll給刪了,導致一開機就顯示boot.in非法啟動,hal.dll丟失。經過一翻折騰,終于解決了問題。解決的方法如下:
首先必須知道自己的計算機名稱,這可以從設備管理器里的計算機項中看出。根據不同的計算機名稱對應需要擴展的hal.dll為:
acpi multiprocessor pc halmacpi.dl_
acpi uniprocessor pc halaacpi.dl_
advanced configuration and power interface(acpi)pc halacpi.dl_
mps multiprocessor pc halmaps.dl_
mps unitprocessor pc halapic.dl_
standard pc hal.dl_
compaq systempro multiprcessor or 100% compatible halsp.dl_
但問題是如果hal.dll丟失那么連電腦也無法進去,怎么可以知道計算機的名稱呢?我的方法比較極端:在f再安一個操作系統,這樣也只能進去一次,但可以知道計算機的名稱了。另外也可以用試的方式,將上述一一試過;當然,因為目前電腦第二、三種比較常見,可以先試這兩個。我的電腦使第三種故以它為例。
接下來放入啟動盤,從光盤啟動,進入故障修復平臺。需要說明的是xp家庭版與專業版可以通用,其他版本是否可以沒有試過,不推薦使用。
之后的命令是:
del c:\windows\system32\hal.dll
expand x:\i386\halacpi.dl_ c:\windows\system32\
其中x的意思,舉例來說,如果你分了3個硬盤分區,那么它就代表f,而不論你的光驅盤符具體多少。
ren c:\windows\system32\halacpi.dll hal.dll
copy c:\windows\hal.dll c:\windows\system32\hal.dll
del c:\windows\hal.dll
exit
這樣就好了。關于為什么重新命名后hal.dll為什會在windows文件夾而非system32下目前還不清楚,因為這是我的電腦遇到的情況,如果不放心,可以用dir命令在ren后看看hal.dll到底在哪兒;如果在system32下,就不用使用copy命令了。
WinXP啟動提示缺少Windows root/system32/hal.dll。不重裝XP如何解決,
這個是由于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以后回車。然后按照Boot.ini文件的格式輸入,每輸入一行敲一次回車鍵,當全部內容輸入完畢以后,按CTRL+Z,屏幕上會看到^Z的提示。這個時候再敲一次回車,系統會提示1 file(s) copied.這就表示創建成功了。
3)、使用故障恢復控制臺里面的bootcfg命令。
4)、在別的電腦上創建好以后,拷貝到受損電腦的C盤根目錄上覆蓋源文件即可。
就是在DOS下運行EDIT.EXE命令啊進DOS后輸入EDIT.EXE后回車即可!
好把,換種方法,一個目的!在給你一個辦法,你試一下!
hal.dll文件損壞或丟失,那么就意味著C盤下的BOOT.INI文件被損壞
重新寫一個BOOT.INI文件,你想法進入DOS后復制到C盤跟目錄下即可. 以下是BOOT.INI 文件的內容,你復制后保存為BOOT.INI文件.
[boot loader]
timeout=30
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
用文本寫入,保存為BOOT.INI 考入有啟動功能的U盤!
用U盤進入DOS,用COPY X:\BOOT.INI C:\BOOT.INI即可