红联Linux门户
Linux帮助

初学LINUX系统都请教

发布时间:2007-07-07 11:23:52来源:红联作者:小小路
大家好,第一次来这里,希望大家多多指教
小弟有 一问题需要解决:
刚用虚拟机装好LINUX9.0系统以后,我的只能从虚拟机中进入此操作系统,且在C中BOOT.INI改成boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(6)\LINUX="我的LINUX系统" /noexecute=optin /fastdetect
一样启动不了,提示错误〈windows root> /system32/hal.dll文件损坏
请大家帮忙,做一个详细的解决办法,我很笨的,希望能简单,又容懂
谢谢 了
文章评论

共有 3 条评论

  1. nsformat 于 2007-07-07 11:58:43发表:

    立刻重新启动电脑,选择故障恢复控制台。一切按部就班进入Windows目录。但笔者并不知道hal.dll文件位于安装光盘的哪一个压缩包中,于是键入如下命令:expand /G:\i386\driver.cab(G:为光驱盘符),列出Windows安装光盘上的驱动程序CAB压缩包中的所有文件,发现hal.dll在driver.cab压缩包中。

    立即在DOS提示符下输入:expand G:\i386\driver.cab /f:hal.dll c:\windows\system32\,回车后提示:将G:\i386\driver.cab展开成c:\windows\system32\hal.dll。立即重新启动电脑,却没想到出现了与第一次相同的提示,看来是失败了。

    可是明明提示拷贝成功!仔细一想,会不会hal.dll是由其他文件在系统安装时由Setup程序改名而来?(就像Win98的win.com是由win.cnf改名而来一样)。于是再次利用expand /d G:\i386\driver.cab命令查找hal*.dll文件,结果找出halaacpi.dll、halacpi.dll、halapic.dll、halmacpi.dll、halmps.dll、halsp.dll六个文件,按顺序首先将halaacpi.dll拷贝至c:\windows\system32\,并改名为hal.dll后重新启动电脑,不行。再拷halacpi.dll,改名后重启,终于重现可爱的桌面!

    成功启动后,立即进入系统c:\windows\system32目录查看hal.dll的属性,鼠标点击“版本”选项卡上的“源文件名”,hal.dll的源文件名果然是halacpi.dll。

  2. nsformat 于 2007-07-07 11:57:30发表:

    最近不知怎么把hal.dll给删了,导致一开机就显示boot.in非法启动,hal.dll丢失。经
    过一翻折腾,终于解决了问题。解决的方法如下:
    首先必须知道自己的计算机名称,这可以从设备管理器里的计算机项中看出。根据不同的计
    算机名称对应需要扩展的hal.dll为:
    acpi multiprocessor pc halmacpi.dl_
    acpi uniprocessor pc halaacpi.dl_
    advanced configuration and power interface(acpi)pc halacpi.dl_
    mps multiprocessor pc halmaps.dl_
    mps unitprocessor pc halapic.dl_
    standard pc hal.dl_
    compaq systempro multiprcessor or 100% compatible halsp.dl_
    但问题是如果hal.dll丢失那么连电脑也无法进去,怎么可以知道计算机的名称呢?我的方
    法比较极端:在f再安一个操作系统,这样也只能进去一次,但可以知道计算机的名称了。
    另外也可以用试的方式,将上述一一试过;当然,因为目前电脑第二、三种比较常见,可以
    先试这两个。我的电脑使第三种故以它为例。
    接下来放入启动盘,从光盘启动,进入故障修复平台。需要说明的是xp家庭版与专业版可以
    通用,其他版本是否可以没有试过,不推荐使用。
    之后的命令是:
    del c:\windows\system32\hal.dll
    expand x:\i386\halacpi.dl_ c:\windows\system32\
    其中x的意思,举例来说,如果你分了3个硬盘分区,那么它就代表f,而不论你的光驱盘
    符具体多少。
    ren c:\windows\system32\halacpi.dll hal.dll
    copy c:\windows\hal.dll c:\windows\system32\hal.dll
    del c:\windows\hal.dll
    exit
    这样就好了。关于为什么重新命名后hal.dll为什会在windows文件夹而非system32下目前
    还不清楚,因为这是我的电脑遇到的情况,如果不放心,可以用dir命令在ren后看看hal.dll
    到底在哪儿;如果在system32下,就不用使用copy命令了。

    说明上面的是我复制过来的,我也是这样搞好了系统

  3. 唐军 于 2007-07-07 11:38:54发表:

    路过,等待:time:1