hal.dll文件丢失!winxp修复的问题!急!

sousi 2003-08-03 02:59:39
原先我的系统装有win98,win2000,win2000server,winxp,但是被一个人误删了文件,一直恢复系统未果,后来重装win2000,但是又因为内存模块的问题装不上,没有办法将win2000装在了C盘,就是原来的win98的那个盘,装完了当然破坏了boot.ini文件,自然不可能启动进入win2000server,winxp.现在我想能不能通过修改什么启动引导文件,或者通过什么软件来恢复可以进入到win2000server,winxp这两个系统。这两个系统有很多重要的应用程序要使用。那两个系统的文件我没有破坏。

在朋友们的帮助下,我恢复了系统,可以成功启动win2000,win2000 server,但是winxp启动报告:(windows root)windows\syetem32\hal.dll损坏或者丢失
请重新安装以上文件,大概就是这个意思
我以前也遇到了此类的问题通过winxp的故障修复台,用expand命令提取hal.dll文件就可以了。但是这次不知道为什么就不可以了。
我的具体操作是:expand g:\sysbak\winxp\i386\hal.dl_ f:\windows\system32\hal.dll ;但是这样操作的结果是不能创建hal.dll文件。我不明白是为什么?(其中我的winxp装在f盘,winxp备份在g盘。
请大家帮帮忙,我怎么就弄不明白!谢了先!
...全文
406 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
babyfu 2003-08-03
  • 打赏
  • 举报
回复
这个我碰到过得,原因也许是我这样的,听我一一道来:

我原先装了xp英文版(C盘 windows),而后又装了xp中文版 已包含sp1 (F盘 winnt),但是后来因为xp中文版中毒(估计是),无法恢复,即使覆盖安装也不能使用,我就在xp英文版里面删除xp中文版的winnt目录,以及Documents and Settings等文件夹,后来我居然以为自己安装xp英文版主目录也为winnt,修改boot.ini文件里面的xp英文版的启动目录成winnt,重起以后就导致xp出现你所说错误.

其实说简单点就是:
xp默认的安装目录为windows而非winnt,所以启动时xp寻找不到hal.dll文件(估计是xp第一个调用的dll,具体不是本文该阐述的)

再详细一点就是:
boot.ini 文件例子:

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(4)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(4)\WINDOWS=" Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINNT=" Windows 2000 Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT=" Windows 2000 server" /fastdetect

只要注意 xp默认是windows,2K和2k server 默认都是winnt就不会有问题了.

估计本人废话比较多,请楼猪见谅了!
NTLDR文件win nt/win200/WinXP的引导文件,当此文件丢失时启动系统会提示"NTLDR is missing..."并要求按任意键重新启动,不能正确进入系统 。所以应该在系统正常的时候给予备份。 NTLDR文件是做什么的?我们如何来修复NTLDR文件类型的故障呢? NTLDR文件的是一个隐藏的,只读的系统文件,位置在系统盘的根目录,用来装载操作系统。 一般情况系统的引导过程是这样的: 代码 1、电源自检程序开始运行 2、主引导记录被装入内存,并且程序开始执行 3、活动分区的引导扇区被装入内存 4、NTLDR从引导扇区被装入并初始化 5、将处理器的实模式改为32位平滑内存模式 6、NTLDR开始运行适当的小文件系统驱动程序。 小文件系统驱动程序是建立在NTLDR内部的,它能读FAT或NTFS。 7、NTLDR读boot.ini文件 8、NTLDR装载所选操作系统 *如果NT/XP被选择,, NTLDR运行Ntdetect.com 对于其他的操作系统, NTLDR装载并运行Bootsect.dos然后向它传递控制。 windows NT过程结束。 9.Ntdetect.com 搜索计算机硬件并将列表传送给NTLDR,以便将这些信息写进HKE Y_LOCAL_MACHINEHARDWARE中。 10.然后NTLDR装载Ntoskrnl.exe,Hal.dll和系统信息集合。 11.Ntldr搜索系统信息集合,并装载设备驱动配置以便设备在启动时开始工作 12.Ntldr把控制权交给Ntoskrnl.exe,这时,启动程序结束,装载阶段开始 当此文件丢失时,我们可以从安装光盘上进行提取,方法是: 1、进入系统故障恢复控制台。 2、转到C盘。 3、输入"copy X:\I386\NTLDR c:\"(说明:X为光驱盘符)并回车, 如果系统提示要否覆盖则按下"Y",之后输入exit命令退出控制台重新启动即可。 症状 当试图在一台运行 Microsoft Windows 95、Microsoft Windows 98 或 Microsoft Windows Millennium Edition (Me) 的计算机上安装 Windows XP 或者升级到 Windows XP 时,可能在安装过程中的第一次重新启动后接收到下面的错误信息: NTLDR is missing Press any key to restart 此行为只有当 Windows 95、Windows 98 或者 Windows Me 安装于使用 FAT32 文件系统的大容量驱动器之上时才会出现。 原因 如果克隆现有的 Windows 95、Windows 98 或 Windows Me 的安装,然后应用于与克隆副本的源驱动器有不同布局的驱动器上,则可能发生此行为。 一种可能的情况如下所示:正在一个 4 GB 的驱动器上运行 Windows 98。在升级后,例如升级到一块 30 GB 的硬盘后,使用第三方磁盘映像实用程序对 Windows 98 安装进行镜像操作并应用镜像到新驱动器上。在晚些时候,接着在 Windows 98 的克隆映像上安装 Windows XP 以升级到 Windows XP。 要发生此行为,则下面的条件必须存在: ? 系统/启动分区用 FAT32 文件系统格式化。 ? 计算机通过使用 INT-13 扩展(大于 7.8 GB 且分区表内有 0C 的 System-ID 类型的分区)启动。 ? 由于克隆过程,造成了 FAT32 BIOS Parameter Block (BPB) 中的头(边)值与物理驱动器的布局不匹配。 Windows 95、Windows 98 或者 Windows Me 启动代码忽略 BPB 中的头值,并且即使在值无效时仍启动程序。但是,Windows 2000 和 Windows XP 中的启动代码需要这个值,如果此值无效则启动过程不会成功。 解决方案 若要解决此问题,请改正 FAT32 BPB 中的无效头(边)值以使得 Windows XP 启动过程得以继续。更新此字段最简单的方法是通过使用下面的过程重写 Windows 95、Windows 98 或者 Windows Me 的启动代码: 代码 一. 使用包含 Sys.com 文件(默认情况下包含此文件)的 Windows 95、Windows 98 或者 Windows Me 启动盘重新启动计算机。 二. 在系统驱动器的根目录中制作 msdos.sys 文件的备份副本。为此,请从命令提示处键入下面的命令: attrib -h -r -s c:\msdos.sys rename msdos.sys *.sys 三. 在命令提示符

6,871

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧