zoukankan      html  css  js  c++  java
  • 安装系统时碰上hal.dll文件丢失或损坏问题


    新买了一块IDE接口的金钻160G单碟硬盘,原打算安装在一台旧联想的机子上,联想的主板是Intel815芯片的,结果安装时候碰上一个奇怪的问题。
    使用DM划分硬盘设置4个平均分区,然后设置光驱引导,置入光盘开始安装系统,格式化C盘,安装,开始的一切都很顺畅,没想到系统文件复制完毕第一次重启时,竟然出现几行黑底白字,大意是:
    因为以下文件的损坏或者丢失,Windows无法启动
    <windows root>\system32\hal.dll
    顿时傻了眼,开始分析这个问题。
    首先,硬盘是新买的,坏的可能性较小,为慎重起见,接到另一台电脑做从盘,可以拷贝、删除等操作。
    重新使用DM,设置分区全部都在32G以下,格式化为fat32,重装系统,故障依旧。该用PQ分区,提示出错,不能进入,使用ghost恢复方式安装,只能看到硬盘却无任何分区显示。
    怀疑是操作系统支持的问题,换xp重装,也是如此,这下相当的郁闷。上网搜索了一些信息,发现有以下信息“提示hal.dll损坏或丢失,实际上该文件并不一定不存在,可以说,拷个文件回去system32里,根本是不可以解决的.出现这个错误的原因是 boot.ini文件出错,导致引导不了机器从指定的路径启动,那样系统搜索其他的路径,而其他路径上是没有hal.dll文件的,就会提示这个错误.一般的解决办法是进入故障恢复控制台,用fixboot命令,如果这样修复不了boot.ini,就用bootcfg/add来重建boot.ini。(来自http://hi.baidu.com/12345wlp/blog/item/b0e9713e6e8afe3f71cf6ce7.html)”和一篇非常类似的故障分析的文章“http://www.bennyspace.org/wp/2007/05/23/xp-haldll-damaged-or-lost/”,于是使用winpe工具盘进入该硬盘,检查boot.ini文件,发现果然是boot.ini中的multi(0)变成奇怪的字符,而正确的应该如下:
    [boot loader]
    timeout=30
    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中奇怪字符修改为multi(0)存盘,重启电脑,安装顺利完成!

    这里有几个问题想交流下,
    1、是不是分区工具不能支持超过137G的大硬盘分区,结果造成显示是乱码字符?
    2、DM、PQ等分区软件使用后总是有问题?
    3、以后该硬盘再重装系统时候还不会出现一样的情况?如果不会,那是什么问题?
    4、一样的160Gsata接口的硬盘为何不会出现这样的情况?
    希望那些高手能指点下。

  • 相关阅读:
    [原]C++ double 小数精度控制
    C++ double 小数精度控制
    从微软小冰看微软运营手段的转型
    Windows下搭建FTP服务器
    C++ 下使用curl 获取ftp文件
    解决MSF更新证书错误
    mimikaz获取明文密码
    metasploit5配置数据库
    Cobalt Strike几种不常见的上线方式
    Powershell
  • 原文地址:https://www.cnblogs.com/micronm/p/1888485.html
Copyright © 2011-2022 走看看