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即可