当前位置: 首页 > 图文教程 > 操作系统 > Windows > hal.dll 丢失的原因分析

Windows
轻松跨越Windows Server 2008远程管理障碍
一切为了效率 Windows Server 2008操作新招
Windows Server 2008搭建终端服务器
Windows Server 2008网络安全与终端服务
层层深入 拨开Windows Server 2008系统谜雾
清除Vista 系统休眠文件的方法
修改远程桌面端口提高Windows Vista系统安全性
XP安装IIS,找不到zClientm.exe的解决办法
操作系统更安全稳定的电脑使用方法
Vista 系统组策略的神秘世界
Vista SP2 更新和升级常见问题和解决方案
禁用Windows Vista的本地搜索历史记录
解决Windows Vista/7下安装程序冲突问题
Windows Live Messenger 2009 - 双开不再是难题
Windows XP/Vista/Windows 7常见蓝屏故障分析
自己动手解决微软ActiveX安全隐患
一条命令轻松解决中文Vista却出现英文启动项菜单
Windows Themes外观视觉样式故障汇总
让Vista中的Media Center 支持更多文件格式及文件夹
巧用命令一次关闭Vista下多个IE8进程

Windows 中的 hal.dll 丢失的原因分析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 47 ::
收藏到网摘: n/a

一客户机器远程不上 接显示器一看 提示 hal.dll丢失
上网一查
hal.dll是Windows硬件提取层模块,开机后,系统无法进入,出现错误提示:请重新安装以上文件的拷贝:windwos root\system32\hal.dll

出现这种情况,一般可能有两种原因:
1,boot.ini文件出了问题; 由于现在的一键还原,矮人DOS或者多系统,都会改变boot.ini文件的。解决的方法其实也很简单,在这种情况下,其实还是可以进入安全模式的。进入安全模式,把boot.ini恢复到正常(或者说之前)的状态,就OK了!
附注:还有可能你的是品牌机,很多品牌机都有一个隐藏的分区,如果你使用GhostXP安装盘,如电脑公司特别版7.8等版本安装,恢复出来的boot.ini文件肯定与你的机子不匹配!这种方式安装好才系统,第一次自动重启是可以顺利进入系统的,再重启的话就会提示hal.dll丢失,这是因为boot.ini文件试图通过第一个硬盘的第一个分区引导系统,但由于隐藏分区的存在,我们安装的系统是在第二个分区(第一个分区不可见)!品牌机如果没有重新分区过硬盘,安装好Ghost系统后一定要手动修改boot.ini文件,否则会出错!

一般的boot.ini通常是这样的:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS //rdisk(0)指第一块物理硬盘partition(1)指第一分区
[operating systems]
multi(0)disk(0)rdisk(0)partition(1) //rdisk(0)指第一块物理硬盘partition(1)指第一分区\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

对你的BOOT.INI进行修改将partition(1)都改成partition(2).不要只改一个哦!看清里面有两处partition(1)

2,是hal.dll文件的版本不对或者丢失;
由于不同的计算机对应不同的hal.dll文件,但是现在的ghost系统往往出现误判,导致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的版本信息。如果由于系统无法进入,无法知道究竟是那种类型。可以逐个测试,哪个能启动就是哪个^_^(笨办法)
解决办法:
(1)从其他机子上复制C:盘根目录下面的系统/隐藏文件,拷到出问题的机子上(可以通过DOS启动盘或者WinPE引导系统)这种方法适合由于断电,死机等异常关机造成的无法引导系统,这时只是引导区根目录下面的引导文件丢失,hal.dll文件并没有问题。
(2)插入XP安装盘重新启动电脑,选择故障恢复控制台。依提示进入winnt目录。
在DOS提示符下输入: expand x:\i386\driver.cab /f:hal.dll c:\windows\system32\(x:为光驱盘符.再次利用 expand 首先将halaacpi.dll拷贝至c:\winindows\system32\,并改名为hal.dll后重新启动电脑,再拷 halacpi.dll(因为hal.dll的源文件名是halacpi.dll).改名(ren)后重启,restart即可
或者尝试进入安全模式,然后再提取文件相对应的文件