linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux入门与提高 > 使用与技巧 >
栏目导栏
资料搜索
热门文章
·VMware Tools的安装步骤
·应用Linux下两种中文输入法
·GRUB FOR DOS 引导安装LINUX和
·linux下BT软件介绍
·Linux中用ALSA驱动声卡流程详解
·Linux 170个常见问题的详细解答
·什么是ISO文件?
·虚拟机软件vmware使用教程--使
·BabyLinux制作过程详解
·Linux挂接(mount)命令的使用方
·Linux必学的网络操作命令
·ffmpeg命令使用详解
·Linux操作系统Ifconfig命令详细
·在Linux下制作工资表
·vmware下的fedora 6的vmware t
最新文章
·CentOS5安装apache和svk使用域
·Ubuntu Linux系统Sudo命令无效
·Uboot对非Linux kernel的引导
·Fedora和XP双系统中网卡Realte
·解决Linux操作系统下部分文件乱
·双系统安装Linux之后找不到Win
·Linux操作系统上安装Flash Med
·设置Tomcat在Linux操作系统中自
·Linux操作系统下创建DBCA报错的
·Redhat Enterprise Linux磁带机
·Linux系统下用一条命令批量修改
·实用技巧:Linux下命令排列、调
·关于Linux操作系统中VI编辑器字
·Linux VI编辑器中的复制与粘贴
·Linux系统下触摸屏的简单使用和
Google
 
hal.dll损坏后造成Ubuntu不能引导的问题
[ 作者:  加入时间:2007-11-16 09:43:46  来自:Linux联盟收集整理 ]
 

装了Ubuntu之后,用DiskGen重写硬盘引导区,然后在Windows中安装Grub,通过编写Menu.lst来引导Ubuntu。

今天启动后发现,不能进入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文件中有

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)、使用Win9X启动盘启动,使用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盘也会被检测到,就可以用了。软盘也可以。但你应该不会有软驱。

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·Ubuntutu通过bluetooth 与samsung D808通信  (2007-11-15 10:02:44)
 ·Ubuntub 7.10 Linux系统上架设Samba服务  (2007-11-14 17:07:33)
 ·基于ARM-μCLinux嵌入式系统启动引导的实现  (2007-11-09 10:15:39)
 ·全面提高Ubuntu Linux操作系统运行速度  (2007-11-09 10:08:13)
 ·ubuntu两块ide硬盘软件raid0 的安装手记  (2007-11-08 17:52:14)
 ·让Ubuntu Linux操作系统开启Telnet服务  (2007-11-08 17:09:38)
 ·Ubuntu软件安装与删除相关命令  (2007-11-07 16:53:06)
 ·Ubuntu下apache2安装  (2007-11-07 16:47:33)
 ·Ubuntu 7.10 Linux上构建全功能的服务器  (2007-11-07 16:28:37)
 ·Ubuntu 7.10 Linux下安装RealPlayer过程  (2007-11-07 16:26:17)