因文件的损坏或丢失,windows无法启动,显示system32hal.dll,怎么办?

因文件的损坏或丢失,windows无法启动,显示system32hal.dll,怎么办?,第1张

你是什么系统,根据你的系统
到网上下载一个HALDLL文件 放到system32文件夹里面就可以搞定;
开不了机?那么就用U盘或光盘引导进入DOS系统 下面是方法
haldll是Windows硬件提取层模块,该用于解决硬件的复杂性。
开机后,系统无法进入,出现错误提示:请重新安装以上文件的拷贝:windwos root\system32\haldll
出现这种情况,一般可能有两种原因:
1,bootini文件出了问题;
由于现在的一键还原,矮人DOS或者多系统,都会改变bootini文件的。解决的方法其实也很简单,在这种情况下,其实还是可以进入安全模式的。进入安全模式,把bootini恢复到正常(或者说之前)的状态,就OK了!
附注:还有可能你的是品牌机,很多品牌机都有一个隐藏的分区,如果你使用GhostXP安装盘,如电脑公司特别版78等版本安装,恢复出来的bootini文件肯定与你的机子不匹配!这种方式安装的系统,第一次自动重启是可以顺利进入系统的,再重启的话就会提示haldll丢失,这是因为bootini文件试图通过第一个硬盘的第一个分区引导系统,但由于隐藏分区的存在,我们安装的系统是在第二个分区(第一个分区不可见)!品牌机如果没有重新分区过硬盘,安装好Ghost系统后一定要手动修改bootini文件,否则会出错!
一般的bootini通常是这样的:
[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 系统启动,出现haldll丢失问题的解决:
其一,如果是GHOST造成的,一般是一些品牌机,默认有一个隐藏的主分区,而我们安装的实际是第二个主分区,那样GHOST完以后,BOOT引导顺序为默认主分区,所以会提示文件丢失。
解决办法:电脑启动以后会出现引导菜单,第一个为WINDOWS XP,第二,一键GHOST,如果再往下按会发现有一个没有任何文字显示的一项菜单,它即为我们装系统的第二个分区,选择它,即可进入XP,然后进入系统编辑BOOTINI,
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,是haldll文件的版本不对或者丢失;
由于不同的计算机对应不同的haldll文件,但是现在的ghost系统往往出现误判,导致haldll文件与实际不符。haldll文件和相应的计算机类型:acpi multiprocessor pc halmacpidl_ ; acpi uniprocessor pc halaacpidl_ ; advanced configuration and power interface(acpi)pc halacpidl_ ; mps multiprocessor pc halmapsdl_ ; mps unitprocessor pc halapicdl_ standard pc haldl_ ; compaq systempro multiprcessor or 100% compatible halspdl_。这个可以通过设备管理器的计算机项目可以看到,或者看haldll的版本信息。如果由于系统无法进入,无法知道究竟是那种类型。可以逐个测试,哪个能启动就是哪个^_^(笨办法)
解决办法:
(1)从其他机子上复制C:盘根目录下面的系统/隐藏文件,拷到出问题的机子上(可以通过DOS启动盘或者WinPE引导系统)这种方法适合由于断电,死机等异常关机造成的无法引导系统,这时只是引导区根目录下面的引导文件丢失,haldll文件并没有问题。
(2)插入XP安装盘重新启动电脑,选择故障恢复控制台。依提示进入winnt目录。
在DOS提示符下输入: expand x:\i386\drivercab /f:haldll c:\windows\system32\(x:为光驱盘符再次利用 expand 首先将halaacpidll拷贝至c:\winindows\system32\,并改名为haldll后重新启动电脑,再拷 halacpidll(因为haldll的源文件名是halacpidll)改名(ren)后重启,restart即可
或者尝试进入安全模式,然后再提取文件相对应的文件。
关于haldll丢失,haldll损坏问题的解决
解决"systemroot\\system32\\haldll文件非法或该文件已损坏,系统无法启动"
当电脑重新启动进入WinXP时,系统提示:“systemroot\\system32\\haldll文件非法或该文件已损坏,系统无法启动”。可以利用将故障恢复控制台来修复损坏的文件。
插入xp安装盘重新启动电脑,选择故障恢复控制台。依提示进入Windows dos目录。
在DOS提示符下输入:expand x:\\i386\\drivercab /f:haldll c:\\windows\\system32\\(x:为光驱盘符再次利用expand 首先将halaacpidll拷贝至c:\\windows\\system32\\,并改名为haldll后重新启动电脑,再拷halacpidll(因为haldll的源文件名是halacpidll)改名(ren)后重启,restart即可 当然也可以在别的机子上expand出haldll,然后拷贝到这个机子上
提示haldll丢失也可能是 C: 盘的 bootini 文件的问题
bootini设置的启动分区不正确当然就找不到haldll
我记得我有一次装了双系统
重装windows时发现
不知道怎么在C盘前加了个分区
结果就提示haldll丢失,
原因是以前的C盘已经成了现在的D盘,
windows 当然找不到bootini,所以提示错误
将前面的分区删除就好了
总之,提示haldll丢失,haldll损坏不见得就是haldll的问题
很有可能是启动设置不正确
关于haldll丢失,haldll损坏问题的解决
解决"systemroot\\system32\\haldll文件非法或该文件已损坏,系统无法启动"
当电脑重新启动进入WinXP时,系统提示:“systemroot\\system32\\haldll文件非法或该文件已损坏,系统无法启动”。可以利用将故障恢复控制台来修复损坏的文件。
插入xp安装盘重新启动电脑,选择故障恢复控制台。依提示进入Windows dos目录。并不知道haldll文件位于安装光盘的哪一个压缩包中,于是键入如下命令:
expand /G:\i386\drivercab(G:为光驱盘符),列出Windows安装光盘上的驱动程序CAB压缩包中的所有文件,发现haldll在drivercab压缩包中。

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

system
idle
proccess进程是系统程序,不能关的。
那它为什么回在运行CPU占100%呢?
原因有二:
1
可能注册表内潜伏了病毒,尤其是木马居多。
2
启动了太多不必要的软件程序。当然,你自己没有启动,通常它们是自己随机启动的。
解决办法:
1杀毒。
推荐使用:最强的杀木马软件:Ewido
v35
绿色简体注册版
2
运行msconfig,在启动项目里取消所有启动项,只加载杀毒的和ctfmon(输入法),什么病度都冬眠了,那么你在使用电脑时自然CPU不会达到100%了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12828463.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存