感悟网 导航

<windows root>\system32\hal.dll文件丢失或损坏,请重新拷贝安装。 恢复系统时出现windows root\system32\h...

作者&投稿:柘冯 (若有异议请与网页底部的电邮联系)
因以下文件的损坏或丢失 windows无法启动:<windows root>\system32\hal.dll~

你是什么系统,根据你的系统
到网上下载一个HAL.DLL文件 放到system32文件夹里面就可以搞定;

开不了机?那么就用U盘或光盘引导进入DOS系统 下面是方法
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
windows xp 系统启动,出现hal.dll丢失问题的解决:
其一,如果是GHOST造成的,一般是一些品牌机,默认有一个隐藏的主分区,而我们安装的实际是第二个主分区,那样GHOST完以后,BOOT引导顺序为默认主分区,所以会提示文件丢失。
解决办法:电脑启动以后会出现引导菜单,第一个为WINDOWS XP,第二,一键GHOST,如果再往下按会发现有一个没有任何文字显示的一项菜单,它即为我们装系统的第二个分区,选择它,即可进入XP,然后进入系统编辑BOOT.INI,
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
把partition(1)改成(2),保存即可。
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即可
或者尝试进入安全模式,然后再提取文件相对应的文件。
【关于hal.dll丢失,hal.dll损坏问题的解决】
解决"systemroot\\system32\\hal.dll文件非法或该文件已损坏,系统无法启动"
当电脑重新启动进入WinXP时,系统提示:“systemroot\\system32\\hal.dll文件非法或该文件已损坏,系统无法启动”。可以利用将故障恢复控制台来修复损坏的文件。
插入xp安装盘重新启动电脑,选择故障恢复控制台。依提示进入Windows dos目录。
在DOS提示符下输入:expand x:\\i386\\driver.cab /f:hal.dll c:\\windows\\system32\\(x:为光驱盘符.再次利用expand 首先将halaacpi.dll拷贝至c:\\windows\\system32\\,并改名为hal.dll后重新启动电脑,再拷halacpi.dll(因为hal.dll的源文件名是halacpi.dll).改名(ren)后重启,restart即可. 当然也可以在别的机子上expand出hal.dll,然后拷贝到这个机子上.
提示hal.dll丢失也可能是 C: 盘的 boot.ini 文件的问题
boot.ini设置的启动分区不正确当然就找不到hal.dll
我记得我有一次装了双系统
重装windows时发现
不知道怎么在C盘前加了个分区
结果就提示hal.dll丢失,
原因是以前的C盘已经成了现在的D盘,
windows 当然找不到boot.ini,所以提示错误
将前面的分区删除就好了
总之,提示hal.dll丢失,hal.dll损坏不见得就是hal.dll的问题
很有可能是启动设置不正确
关于hal.dll丢失,hal.dll损坏问题的解决
解决"systemroot\\system32\\hal.dll文件非法或该文件已损坏,系统无法启动"
当电脑重新启动进入WinXP时,系统提示:“systemroot\\system32\\hal.dll文件非法或该文件已损坏,系统无法启动”。可以利用将故障恢复控制台来修复损坏的文件。
插入xp安装盘重新启动电脑,选择故障恢复控制台。依提示进入Windows dos目录。并不知道hal.dll文件位于安装光盘的哪一个压缩包中,于是键入如下命令:
expand /G:\i386\driver.cab(G:为光驱盘符),列出Windows安装光盘上的驱动程序CAB压缩包中的所有文件,发现hal.dll在driver.cab压缩包中。

再次利用expand 首先将halacpi.dll拷贝至c:\\windows\\system32\\,并改名为hal.dll后重新启动电脑, 当然也可以在别的机子上expand出hal.dll,然后拷贝到这个机子上.
命令如下:
expand G:\i386\driver.cab /f:halacpi.dll c:\windows\system32\
rename c:\windows\system32\halacpi.dll c:\windows\system32\hal.dll
提示hal.dll丢失也可能是 C 盘的 boot.ini 文件的问题
boot.ini设置的启动分区不正确当然就找不到hal.dll
【遇到了经典的hal.dll丢失问题】
缘起是收到了大老远从荷兰寄过来的Ubuntu 6.06 LTS光盘和贴纸(已经贴在本本上啦),相比之前索取的5.04和自己下载的6.10,至少这一个版本可以在俺的盒子上安装了!带来的一点点hal.dll麻烦不算啥了。
关于这个问题网上有不少误导的帖子,这里予以澄清:
1. 提示hal.dll丢失,99%的情况下都不是hal.dll的问题,表傻乎乎的跑到别的同学的机器上拷贝一个回来,覆盖掉本地的那一个(是的,它在那里),或者使用XP安装光盘恢复:
启动故障恢复控制台;
cd X:\i386(X是你的光驱)
expand hal.dl_ c:\windows\system32\hal.dll
这样做的结果常常是还是会提示同样的错误,即使启动了机器,会有大量的驱动文件丢失。
2. 解决这个问题的方式通常很简单,重新编辑c:\boot.ini。
例如在俺的机器上,在装Ubuntu的过程中修改了分区表,目前Windows所在的分区是hda2,因此只要:
type c:\boot.ini
copy con c:\boot.ini
照着原来的样子,一行一行的输入:
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
C:\CMDCONS\BOOTSECT.DAT="Microsoft Windows XP Recovery Console" /cmdcons
^Z
回车,重启。
P.S. 在这个版本的Ubuntu中,自动识别了全部硬件(包括迅驰),自动识别了NTFS分区(虽然是只读的),自动识别了插入的U盘,赞一个!

system32\hal.dll

解决"systemroot\\system32\\hal.dll文件非法或该文件已损坏,系统无法启动"
当电脑重新启动进入WinXP时,系统提示:“systemroot\\system32\\hal.dll文件非法或该文件已损坏,系统无法启动”。可以利用将故障恢复控制台来修复损坏的文件。
插入xp安装盘重新启动电脑,选择故障恢复控制台。依提示进入Windows dos目录。
在DOS提示符下输入:expand x:\\i386\\driver.cab /f:hal.dll c:\\windows\\system32\\(x:为光驱盘符.再次利用expand 首先将halaacpi.dll拷贝至c:\\windows\\system32\\,并改名为hal.dll后重新启动电脑,再拷halacpi.dll(因为hal.dll的源文件名是halacpi.dll).改名(ren)后重启,restart即可

提示hal.dll丢失也可能是 C: 盘的 boot.ini 文件的问题
boot.ini设置的启动分区不正确当然就找不到hal.dll

我记得我有一次装了双系统
重装windows时发现
不知道怎么在C盘前加了个分区
结果就提示hal.dll丢失,
原因是以前的C盘已经成了现在的D盘,
windows 当然找不到boot.ini,所以提示错误
将前面的分区删除就好了

总之,提示hal.dll丢失,hal.dll损坏不见得就是hal.dll的问题
很有可能是启动设置不正确


如果是boot.ini 问题 那么如下进行

【方法一】
用WinPE用工盘引导系统编写新文件,这个从别的机器复制一个。
C:\boot.ini 是WINDOWS系统的启动配置文件,如果有多个操作系统它可以让你选择启动哪一个系统,也就是按F8出现的那个系统启动菜单。
由于你的boot.ini文件坏了,所以系统只能默认从C盘启动。

最简单的恢复办法,就是手工建立这样一个文件,内容如下:

[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" /noexecute=optin /fastdetect

注意:boot.ini文件在C盘根目录,具有SHR三种属性,可以用DOS命令去掉相关属性后再修改,修改后再恢复该文件的相关属性。或者原文件丢失,手工建立后,加上这些属性,有助于保护文件。

去掉属性:attrib -s -h -r boot.ini
加上属性:attrib +s +h +r boot.ini


【方法二】
另外,可以在命令行状态下执行bootcfg.exe。执行bootcfg.exe /?命令以查看相关参数功能。
用XP光盘引导启动
进入故障恢复控制台
输入 bootcfg /rebuild
os加载项写 /noexecute=optin /fastdetect

【故障恢复控制台怎么进入】
1、 光盘中的故障恢复控制台
在安装完windows XP后,如还想使用光盘中的故障恢复控制台,可以将windows XP安装光盘放入光驱,通过光盘启动系统,在出现"恢复控制台"界面以后,按下键盘中的R健,接着在登录必要的文件之后就会出现故障恢复控制台窗口。
2、 安装故障恢复控制台到硬盘中
如常用到控制台,可在硬盘中安装该控制台,windowsXP,将安装光盘放入光驱,之后通过“开始---所有程序---附件---命令提示符”打开命令提示符窗口,键入“CD X:\i386”(X代表光驱盘符),命令进入安装光盘的i386目录下,再键入“winnt32/cmdcons”命令来安装该故障恢复控制台。该程序大约需要7MB的硬盘空间。运行的时候会弹出窗口,选择进行安装。在DOS环境下也可以安装,通过“Winnt/cmdcons”命令来实现。(只有在常规安装完成后才可以进行故障恢复控制台程序的安装)。
使用故障恢复控制台
重启计算机,在"启动"菜单中选择“Microsoft Windows XP Recovery Console”项回车,进入故障恢复控制台命令行窗口。

原因
如果发生下列问题之一可能会发生此问题。
问题 1
有坏分区或坏引导记录。
要解决此问题, 使用下列方法之一。
1.通过从 WindowsXP 故障恢复控制台使用 fixmbr 命令修复主引导记录
2.如果主启动分区是 FAT 分区, WindowsXP 故障恢复控制台中使用 fixboot 命令系统分区上写入新的引导扇区。 然后, 使用 fixmbr 命令来修复主引导记录。
问题 2
文件系统或磁盘损坏导致主启动记录、 Hal.dll 文件或 Ntoskrnl.exe 文件损坏
1.要解决此问题, WindowsXP, 中通过故障恢复控制台启动计算机并运行 chkdsk / 命令。
2.注意不需要 chkdsk 命令中包括 / p 开关由于 / 开关导致 Chkdsk 工具可查找坏扇区并恢复可读信息可做。 chkdsk 命令暗含了 / p 开关。
问题 3
Hal.dll 和 Ntoskrnl.exe 文件不匹配。
1.要解决此问题, 从 WindowsXP 安装媒体启动计算机, 启动故障恢复控制台, 然后使用 Bootcfg.exe 工具来重建 Boot.ini 文件。
要这样做, 请按照下列步骤操作:
1. 配置计算机以从 CD 驱动器或 DVD 驱动器启动。 有关如何执行此, 参考计算机文档, 或与计算机制造商联系。
2. 将 Windows 安装媒体插入 CD 驱动器或 DVD 驱动器, 并重新启动计算机。
3. 当您收到 " PressanykeytobootfromCD " (按任意键以从 CD 启动消息, 按一个键从 WindowsXP 光盘或 DVD 启动计算机。
4. 当您收到 " 欢迎安装 " 消息, 按 R 键启动故障恢复控制台。
5. 如果您有双引导或多引导计算机, 选择安装, 您需要从恢复控制台使用。
6. 当提示您, 键入管理员密码, 然后按 Enter。
7. 在命令提示符处, 键入 bootcfg /list 然后按 Enter。
注意 您当前 Boot.ini 文件中: 项将出现在屏幕上。
8. 在命令提示符处, 键入 bootcfg /rebuild 然后按 Enter。
注意 此命令扫描的计算机用于 WindowsXP 安装, 硬盘, 然后显示结果。
9. 按照说明要添加 Windows 安装到 Boot.ini 文件屏幕上显示。
例如, 请按照下列步骤来添加 WindowsXP 安装到 Boot.ini 文件: a. 当您收到类似以下消息, 消息按 Y 键:
总标识 Windows 安装: 1 [ 1 ] C:\Windows
向引导列表添加安装 ? 所有 (是 / 否 /)
b. 收到以下消息类似信息:
请输入负载标识符
当您收到此消息, 键入操作系统, 的名称, 然后按 Enter。
注意 名称是 MicrosoftWindowsXPProfessional 或 WindowsXPHomeEdition Microsoft。
c. 您收到类似于以下信息:
请输入 OS 加载选项
当收到此消息, 键入 /fastdetect然后按 Enter。
注意 : 屏幕上显示说明可能不同, 根据计算机的配置。
10. 类型 exit然后按 ENTER 键退出故障恢复控制台。
11. 类型 fixboot然后按 Enter。
12. 类型 y然后按 Enter。
13. 计算机重新启动, 和更新, 引导列表时收到 " 请选择要启动操作系统 " 消息

参考方法:
方法一:在命令提示符模式下直接输入“Sfc/scanonce”,检查一下所有的系统文件,如果需要,Windows 会提示插入原始安装光盘,然后重新启动计算机,即可解决问题。

方法二:这可能是由于安装游戏软件的过程中损坏了Windows XP的启动文件boot.ini造成的,因为系统提示hal.dll文件丢失是boot.ini文件丢失或者损坏的典型表现。一般情况下,当出现boot.ini文件损坏的情况时,WindowsXP会自动尝试从c盘启动,就有可能出现上述的问题。
可以通过编辑boot.ini文件来排除此故障。打开其他与本系统安装情况相同的计算机的C:\下的boot.ini文件,然后参照其格式重新编辑受损的boot.ini文件即可。为了系统的安全,最好在修改之前各份一下boot.ini文件,以免造成更太的损失。

方法三:插入xp安装盘重新启动电脑,选择故障恢复控制台。依提示进入Windows dos目录。
在DOS提示符下输入:expand x:\i386\driver.cab /f:hal.dll c:\windows\system32\(x:为光驱盘符.再次利用expand 首先将halaacpi.dll拷贝至c:\windows\system32\,并改名为hal.dll后重新启动电脑,再拷halacpi.dll(因为hal.dll的源文件名是halacpi.dll).改名(ren)后重启,(restart)即可!

不行重装
~
~

没有其他办法 只能重新安装了,如果你不想要的话,你就把电脑安装的时候全盘格式化

按照http://hi.baidu.com/421600/blog/item/bea818d5c6961fc150da4b3e.html中处理即可

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网