windows root\system32\hal.dll丢失或损坏,进不了Ubuntu

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
zjaking
帖子: 6
注册时间: 2008-10-30 10:50

windows root\system32\hal.dll丢失或损坏,进不了Ubuntu

#1

帖子 zjaking » 2008-10-31 23:38

启动后发现,不能进入Ubuntu,提示C:\windows\system32\hal.dll损坏。
于是尝试进入WindowsXP,发现可以进入。查看C:\windows\system32\hal.dll,存在,从ghost文件中提取该文件覆盖。
重启后,发现仍然不能进入Ubuntu系统,仍提示提示C:\windows\system32\hal.dll损坏。
看来并非C:\windows\system32\hal.dll损坏。

boot.ini文件是:

[boot loader]
timeout=15
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
C:\GHLDR=一键GHOST v2008.08.08 奥运版
c:\wubildr.mbr="Ubuntu"

网上有下面一种解决方法,但是我是菜鸟,看不懂,具体该怎么操作啊
通过一番检查发现是boot.ini文件中有

c:\grldr="Ubuntu"

C:\GHLDR="一键还原"


其中grldr和GHLDR是两个通过XP系统引导功能来引导Grub的文件。检查发现是grldr文件丢失。添加grldr文件后,发现Ubuntu可以正常进入。


至此问题解决


提示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)、使用启动盘(现在有很多XP安装盘自带多重启动系统,能启动进入DOS就OK了)启动启动,使用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盘也会被检测到,就可以用了。软盘也可以。但你应该不会有软驱。
回复