【www.guakaob.com--节日作文】
开机时显示windows root>\system32\hal.dll,应该如何处理
关于hal.dll文件丢失的问题,以下内容为百度知道操作系统分类管理员Ctangel整理,均为个人日
常工作中所遇到并且验证的原因和方法。如需转载请注明出处。
很多时候我们能遇到开机系统无法启动,提示hal.dll丢失的错误。一般这种问题有那么三种
可能性下面一一阐述。
一、hal.dll文件确实丢失
开机提示这文件丢失,找pe进去,打开c:\windows\system32\这个目录发现缺失没有这个文件
,这种情况有可能是误删文件或者杀毒造成的,也有可能非正常关机造成。这个坚决方法比较简单
,找别人机器上的同名文件复制过来就好了。当然如果是严重的病毒造成的,那就够呛能管用,那
时候只能重新做系统了。
二、hal.dll文件并没有丢失,而且大小和别人机器上的一样
开机提示着文件丢失,找pe盘进pe发现这个文件并没有丢失,这种情况有两种可能,一般的兼
容机而且只有一个主分区的机器,很可能是硬件造成的,主要怀疑对象是内存。找其他内存插上测
试。如果是内存的问题,插上没有问题的内存之后就可以正常进入系统了。记住,这时候不要考虑
复制这个文件,你复制了这个文件还会报其他文件丢失的。如果换内存还不能启动,复制该文件后
提示其他文件错误,也可以考虑病毒造成的,开机按F8,选择最后一次正确的配置,然后进系统杀
毒,进不去系统的话那就重新安装吧。
还有一种情况,有些品牌机,会有两个主分区,比如DELL的机器,来的时候有一个47M的隐藏
主分区。以前比较老的一些ghost XP版本安装完后就会提示hal.dll文件丢失.还有人再清理了C盘
文件之后出现这种情况。这种情况是和boot.ini有关。我们打开一般正常机器的boot.ini看一下,
主要有以下内容:
[boot loader]
timeout=3
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
看到没,disk(0)rdsk(0)partition(1) 就是说启动的是磁盘0分区1的系统
所以有2个主分区的品牌机才会造成启动的时候失败提示hal.dll丢失的情况,那么我们只需要进PE
改一下位于C盘根目录下的隐藏文件boot.ini的内容就好了,就是把分区1改成分区2,改完就是下
面这样子的,大家可以直接复制下面的内容到你的boot.ini
[boot loader]
timeout=3
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
改完之后重新启动您的计算机吧,您会发现问题已经解决了。记得以后不要再删这个文件了。
开机显示<windows root>\system32\dal.dll
现象:屏幕显示“因以下文件的损坏或者丢失,Windows无法启动:<Windows root>\system32\hal.dll,请重新安装以上文件”的错误提示(如图1)。是系统引导文件损坏了,可以用故障恢复控制台来修复。
下面操作以 Windows XP Pro 为例,Windows 2000/2003 与此法大同小异。
一、什么是故障恢复控制台
故障恢复控制台是 Windows 2000/XP/2003 操作系统中用于修复系统的工具,它可以启用和禁用系统服务、格式化磁盘、挽救磁盘数据、修复系统故障,是我们无法进入系统(包括安全模式)时修复系统的“法宝”,被用户形象地称之为“救命稻草”。
二、如何进入故障恢复控制台
第一步:按下键盘上的“Del”键进入到BIOS设置程序。在主菜单中选择
“Advanced BIOS Features”选项,并按“回车”键进入高级BIOS设置,再通过键盘的上的“↑”、“↓”方向键选择其中的“First Boot Device”选项,再按下“回车”键进入后选中“CDROM”(将第一启动设备设置为光驱)。设置完毕后,按下“F10”键存盘退出即可。
第二步:将 Windows 2000/XP/2003 安装光盘插入光驱,启动计算机,系统会自动以光盘引导,无需用户干预,待到屏幕出现相关提示时,按下键盘上任意键即可看见 Windows XP 的安装程序画面,在提示界面中,按下“R”键选择第二项“要使用„故障控制台‟修复 Windows XP 安装,请按R。”选项即可。
第三步:按下“R”键后,系统会自动检测机器所安装的所有操作系统,并出现登录到哪一个 Windows 的提示,键入欲进入的操作系统的序号即可,示例中键入的是“1”,回车后会提示你键入管理员密码,键入正确的管理员密码并回车,当出现“C:\WINDOWS>”提示符的时侯,故障恢复控制台也就成功启动了。 要使用故障恢复控制台,每次都要翻出安装光盘,从光盘启动,比较麻烦。其实,我们还可以将故障恢复控制台安装到硬盘中,实现从硬盘启动故障恢复控制台。将 Windows 安装光盘放入光驱,然后在“运行”对话框中输入并执行【system32hal.dll丢失】
“X:\i386\winnt32.exe/cmdcons”命令,(X为光驱盘符,请自行修改),这时就会弹出 Windows 安装程序对话框,询问你是否将故障恢复控制台安装到硬盘上。点“是”按钮即可将故障恢复控制台安装到硬盘上。重新启动计算机,你就会在多重启动菜单中发现一项名为“Microsoft Windows XP Recovery Console”的选项,通过该选项就可以进入系统故障恢复控制台了。
三、让垂危的系统起死回生
从开机错误提示中我们可以看到是“Hal.dll”文件丢失或损坏造成了系统无法启动,因此,只需从安装光盘中找到同名文件将其释放到原文件所在目录就可以了。安装光盘的“I386”文件夹是一个重要的文件夹,几乎所有的系统级文件全部位于其中。
在故障恢复控制台的命令提示符后依次输入如下命令:
C:\WINDOWS>x: //x为光驱盘符,请自行修改为你的光驱盘符
X:\>CD I386 //切换到光盘的I386文件夹下
X:\>I386>expand hal.dl_C:\WINDOWS\system32\ //将安装光盘I386文件夹中的“hal.dl_”文件释放到“C:\Windows\项式system32\”目录中,当出现“扩充了一个文件”的提示后,表明已经将“hal.dll”文件释放出来,重新启动计算机后,即可使电脑重新启动。“expand”命令是释放文件命令,在 Windows 安装光盘中所有的动态链接库文件为了缩小体积,减少对光盘空间的占用,都是经过特殊压缩的,是以“*.dl_”的形式存在的。要替换系统中丢失或损坏的同名文件,必须用“expand”命令释放到系统才行。
四、故障恢复控制台精彩实例
实例一:无法启动故障【system32hal.dll丢失】
安装有 Windows XP 的机器,系统无法启动,提示“NTLDR is Missing,press any key to restart”。
这主要是由于NTLDR文件丢失或损坏所致,只要从 Windows
2000/XP/Server 2003 安装光盘的I386文件夹中提取出此文件,然后复制到C盘的根目录下覆盖即可。在故障恢复控制台中的命令提示符依次输入以下命令,重启计算机即可修复此故障。
C:\WINDOWS>x:
X:\>CD I386
X:\>I386>COPY NTLDR C:\ //将安装光盘I386文件夹中的NTLDR文件复制到C盘的根目录下
实例二:多系统并存故障
机器安装有 Windows 98/XP,当从屏幕上的多重启动菜单中选择了 Windows 98 之后,出现错误提示:“访问引导扇区文件Multi(0)disk(0)rdisk(0)partition
(1)\\BOOT,出现I/O错误”。
这主要是由于找不到启动 Windows 98 启动分区文件 Bootsect.dos 所造成的。我们在安装多操作系统的过程中,一般是先安装 Windows 98,然后再安装高版本的操作系统如 Windows 2000/XP/2003。在安装高版本系统的过程中,安装程序首先将原有的启动分区保存成 Bootsect.dos 文件,然后将自身的启动程序放入启动分区。由于 Bootsect.dos 文件是在安装过程中由安装程序创建的,无法象其它丢失或损坏的文件一样,从安装光盘拷贝覆盖一下完事。
首先在DOS提示符后键入“SYS C:”,传递 Windows 98 的系统文件到C盘。然后,将 Windows 2000/XP/Server 2003 的安装光盘插入光驱,重新启动计算机,从光盘引导系统,当出现欢迎屏幕之后,按两次“R”键,当安装程序运行到修复任务选项的时候,选中“检查启动扇区”选项,然后将光标移动到“继续(执行所选任务)”选项上按回车,按照向导的提示进行直到“安装程序已完成修复”的提示。现在重新启动计算机,故障即可排除。【system32hal.dll丢失】
实例三:显示乱码故障
在系统启动过程中,凡是有中文的地方均显示为乱码,英文可以正常显示。 此问题主要是字库文件 bootfont.bin 文件损坏或丢失造成的,从 Windows 2000/XP/2003 安装光盘的I386文件夹中提取出此文件,复制到C盘根目录下覆盖即可。多操作系统能否正常运转,只需将安装光盘I386文件夹中的 NTLDR、ntdetect.com、Boot.ini、Bootsect.dos、bootfont.bin 这五个文件复制覆盖到C盘根目录下,再将 ntoskrnl.exe、hal.dll 这两个文件复制覆盖到
X:\Windows\System32\ 文件夹下(X为操作系统所在的分区盘符),多重引导故障便不攻自破,实为一劳永逸之举。
解决系统hal.dll文件丢失问题
今天去给一个朋友修电脑,主要解决的是系统hal.dll文件的丢失问题,但到最后也没有解决掉。现将整个解决过程以及遇到的问题记录如下,希望高手能够指导。
问题描述:系统启动过程提示系统windows\sysytem32\hal.dll丢失 解决办法:
首先想到的办法是利用Windows XP 光盘运行故障恢复控制台,步骤操作如下:
将 Windows XP 光盘插入 CD-ROM 驱动器,然后重新启动计算机。出现“欢迎使用安装程序”屏幕时,按 R 键启动故障恢复控制台。
进入故障恢复控制台之后,
方法一:将系统光盘中的hal.dll文件拷贝到C:\windows\sysytem32\下。执行命令如下:
一般提取文件的方式是:
expand G:\i386\hal.dl_ C:\windows\system32\hal.dll (G为光驱) 但是在这里不行,
因为HAL.DLL文件在XP光盘内的原型是halacpi.dll
所以执行如下命令
expand G:\i386\halacpi.dl_ C:\windows\system32\ #提取文件
ren C:\windows\system32\halacpi.dll hal.dll #重命名文件 注意:由于丢失的文件hal.dll是压缩过的,所以就要用到EXPAND命令,例如halacpi.dl_(后缀名最后一个是下划线的就是压缩过的)。
但是执行时出现如下错误:访问被拒绝
方法二:从别的正常系统中用U盘拷贝一个hall.dll文件到该系统中, 执行如下命令:
例如:COPY H:\i386\hal.DLL C:\Windows\System32\ (H:为U盘) 但是仍然出现如下错误:访问被拒绝
查找原因后,原来是:
默认情况下故障恢复控制台只能访问系统根目录、Windows安装目录、CMDCONS等文件夹,当访问其它文件夹时会收到 “访问遭到拒绝”;也不能将硬盘文件复制到软盘。这些限制可以用“Set”命令来修改相关变量的取值来突破。
输入set命令后,果然出现如下界面:
AllowWildCards = False
AllowAllPaths = False
AllowRemoveableMedia = False
NoCopyPrompt = False
这时就想输入set AllowAllPaths = true ,不就可以解决“访问被拒绝”的问题了嘛。正在高兴时,却发现又出现如下错误:
SET命令目前处于停用状态,SET命令是一个可选的故障恢复控制台命令,只能通过安全配置和分析管理单元来启用。
这是彻底崩溃!!„„
通过在网上查询才知道,只能在系统正常运行时,在“运行”框中输入“gpedit.msc”,确定后在组策略窗口中依次点击“本地计算机策略”→“计算机配置”→“Windows设置”→“安全设置”→“本地策略”→“安全选项”,在右边窗口中找到“允许对所有驱动器和文件夹进行软盘复制和访问”并双击(如图),弹出对话框后选择“已启用”,然后确定。再次进入故障恢复控制台,使用“Set”命令将上述四个变量都赋值为“True”即可。
以上两种方法都失败!!!
下面想到用winpe进入系统,看能否启用组策略窗口,可是仍然失败。 再想能不能在winpe系统下,将u盘中的hal.dll文件拷贝到C:\windows\system32\下,可出现如下错误:system32文件和目录已经破坏,无法访问。再次失败!!!
到此我实在已经无力了,无言了!只能建议在winpe下将c盘需要的文件保存到d盘,然后重装系统。
后记:
事后想想是不是出现hal.dll文件丢失问题, hal.dll文件实际上并没有丢失,只是BOOT.INI不正确的原因,通过把boot.ini恢复到正常(或者说之前)的状态,就OK了呢???没有试过,不知道,希望高手指教!!!!