当电脑重新启动进入WinXP时,系统提示:“systemrootsystem32hal.dll文件非法或该文件已损坏,系统无法启动”。可以利用将故障恢复控制台来修复损坏的文件。
插入xp安装盘重新启动电脑,选择故障恢复控制台。

依提示进入Windows dos目录。 在DOS提示符下输入:expand x:i386driver.cab /f:hal.dll c:windowssystem32(x:为光驱盘符.再次利用expand 首先将halaacpi.dll拷贝至c:windowssystem32,并改名为hal.dll后重新启动电脑,再拷halacpi.dll(因为hal.dll的源文件名是halacpi.dll).改名(ren)后重启,restart即可
提示hal.dll丢失也可能是 C: 盘的 boot.ini 文件的问题
boot.ini设置的启动分区不正确当然就找不到hal.dll
如果是boot.ini 问题 那么如下进行
方法一
用WinPE用工盘引导系统编写新文件,这个从别的机器复制一个。
C:boot.ini 是WINDOWS系统的启动配置文件,如果有多个操作系统它可以让你选择启动哪一个系统,也就是按F8出现的那个系统启动菜单。
由于你的boot.ini文件坏了,所以系统只能默认从C盘启动。
最简单的恢复办法,就是手工建立这样一个文件,内容如下:
[boot loader]
timeout=0
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文件在C盘根目录,具有SHR三种属性,可以用DOS命令去掉相关属性后再修改,修改后再恢复该文件的相关属性。或者原文件丢失,手工建立后,加上这些属性,有助于保护文件。
去掉属性:attrib -s -h -r boot.ini
加上属性:attrib +s +h +r boot.ini
方法二
另外,可以在命令行状态下执行bootcfg.exe。执行bootcfg.exe /?命令以查看相关参数功能。
用XP光盘引导启动
进入故障恢复控制台
输入 bootcfg /rebuild
os加载项写 /noexecute=optin /fastdetect
故障恢复控制台怎么进入
1、 光盘中的故障恢复控制台
在安装完windows XP后,如还想使用光盘中的故障恢复控制台,可以将windows XP安装光盘放入光驱,通过光盘启动系统,在出现"恢复控制台"界面以后,按下键盘中的R健,接着在登录必要的文件之后就会出现故障恢复控制台窗口。
2、 安装故障恢复控制台到硬盘中
如常用到控制台,可在硬盘中安装该控制台,windowsXP,将安装光盘放入光驱,之后通过“开始---所有程序---附件---命令提示符”打开命令提示符窗口,键入“CD X:i386”(X代表光驱盘符),命令进入安装光盘的i386目录下,再键入“winnt32/cmdcons”命令来安装该故障恢复控制台。该程序大约需要7MB的硬盘空间。运行的时候会弹出窗口,选择进行安装。在DOS环境下也可以安装,通过“Winnt/cmdcons”命令来实现。(只有在常规安装完成后才可以进行故障恢复控制台程序的安装)。
使用故障恢复控制台
重启计算机,在"启动"菜单中选择“Microsoft Windows XP Recovery Console”项回车,进入故障恢复控制台命令行窗口。
开机出现如下错误提示:
因以下文件的损坏或丢失,Windows无法启动:
C:WINDOWSSYSTEM32ConFIGSYSTEM
其实就是system文件损坏,导致系统无法正常启动。解决的方法很简单,进入故障恢复控制台修复即可。具体操作方法如下:
用系统安装盘启动系统,按“R”键选择修复或恢复选项,进入故障恢复控制台。系统会自动检测安装的操作系统,输入数字1选择需要修复的操作系统,按要求键入本地管理员账户Administrator的密码即可进入DOS控制台界面。
依次键入如下命令行:
md tmp
copy c:windowssystem32configsystem c:windowstmpsystem.bak
copy c:windowssystem32configsoftware c:windowstmpsoftware.bak
copy c:windowssystem32configsam c:windowstmpsam.bak
copy c:windowssystem32configsecurity c:windowstmpsecurity.bak
copy c:windowssystem32configdefault c:windowstmpdefault.bak
delete c:windowssystem32configsystem
delete c:windowssystem32configsoftware
delete c:windowssystem32configsam
delete c:windowssystem32configsecurity
delete c:windowssystem32configdefault
(注:下面的步骤即是将windowsrepair目录中存放的最原始的系统信息文件还原道系统目录中。)
copy c:windowsrepairsystem c:windowssystem32configsystem
copy c:windowsrepairsoftware c:windowssystem32configsoftware
copy c:windowsrepairsam c:windowssystem32configsam
copy c:windowsrepairsecurity c:windowssystem32configsecurity
copy c:windowsrepairdefault c:windowssystem32configdefault
所有文件都copy完毕的话,键入exit命令重新启动即可。
此外,如果遇到某些不知名的系统启动文件损坏时,也可以通过故障恢复控制台来修复。一般来说,进入故障恢复控制台后键入“Fixboot”命令将新的分区引导扇区写到系统分区中,很多情况下可以解决系统无法正常启动的问题。
第一步
1/将Windows XP的安装光盘放入光驱,重启计算机
2/在“欢迎使用安装程序”界面,按R键,进入恢复控制台
3/在恢复控制台中会显示当前Windows的安装列表

4/你需要根据你所安装的Windows XP系统的路径选择相应的数字。如果你仅仅安装了一个单系统,那么应该选择1
5/此时,需要你输入管理员Administrator用户的密码。如果你以前没有设过此密码,那么直接按回车键即可
6/如果密码正确,那么将恢复控制台提示符,进入恢复控制台命令交互界面
7/在恢复控制台提示符后键入下述命令,每一行命令用回车键结束
md tmp
copy c:windowssystem32configsystem c:windowstmpsystem.bak
copy c:windowssystem32configsoftware c:windowstmpsoftware.bak
copy c:windowssystem32configsam c:windowstmpsam.bak
copy c:windowssystem32configsecurity c:windowstmpsecurity.bak
copy c:windowssystem32configdefault c:windowstmpdefault.bak delete c:windowssystem32configsystem
delete c:windowssystem32configsoftware
delete c:windowssystem32configsam
delete c:windowssystem32configsecurity
delete c:windowssystem32configdefault
copy c:windowsrepairsystem c:windowssystem32configsystem
copy c:windowsrepairsoftware c:windowssystem32configsoftware
copy c:windowsrepairsam c:windowssystem32configsam
copy c:windowsrepairsecurity c:windowssystem32configsecurity
copy c:windowsrepairdefault c:windowssystem32configdefault
8/在上述命令执行完毕后,键入Exit,退出恢复控制台
9/重启计算机
第二步
10/计算机重新启动后使用Administrator身份登录。如果你使用的是Windows XP Home版,那么你只能在“安全模式”中使用Administrator身份登录。
11/下一个操作是使用系统备份工具将注册表文件拷贝至备份路径。然而,在进行备份之前,你需要在文件管理器的“文件夹选项”中设置“显示所有文件和文件夹”及“隐藏受保护的操作系统文件”。(操作步骤12-19为设置设置“显示所有文件和文件夹”及“隐藏受保护的操作系统文件”的方法,如果熟悉此操作,可直接跳至操作步骤20)
12/打开文件管理器
13/选择菜单中“工具”
14/选择“文件夹选项”
15/选择“查看”选项卡
16/在高级设置中找到“显示所有文件和文件夹”及“隐藏受保护的操作系统文件”
17/选择“显示所有文件和文件夹”
18/去除对“隐藏受保护的操作系统文件”的选择
19/出现提示框,显示编辑或删除操作系统文件将破坏系统,选择“是”。选择“确定”,关闭“文件夹选项”对话框
20/在文件管理器中进入Windows XP的安装目录。
21/打开“System Volume Information”目录,如果此目录不可存取,可根据错误信息查看微软知识库文章309531
22/在“System Volume Information”目录中可以看到一个或多个类似“_restore{87BD3667-3246-476B-923F-F86E30B3E7F8}”的目录
23/如果目录以图标方式或者是缩略图方式显示,请选择“查看”菜单项中的详细资料选项
24/选择一个以RP开头的,并且不是在当前时间创建的文件(这些文件为还原点,Restore Points)
25/进入这些目录中的某一个,并找到其中的Snapshot目录。比如C:System Volume Information_restore{D86480E3-73EF-47BC-A0EB-A81BE6EE3ED8}RP1Snapshot
26/在Snapshot目录中拷贝如下文件到“C:Windowstmp”目录
_REGISTRY_USER_.DEFAULT
_REGISTRY_MACHINE_SECURITY
_REGISTRY_MACHINE_SOFTWARE
_REGISTRY_MACHINE_SYSTEM
_REGISTRY_MACHINE_SAM
27/将“C:Windowstmp”目录中的这些文件按照如下方式进行重命名
重命名 _REGISTRY_USER_.DEFAULT 为 DEFAULT
重命名_REGISTRY_MACHINE_SECURITY为SECURITY
重命名_REGISTRY_MACHINE_SOFTWARE为SOFTWARE
重命名_REGISTRY_MACHINE_SYSTEM为SYSTEM
重命名_REGISTRY_MACHINE_SAM为SAM
第三步
28/现在你必须删除现有的注册表文件,并且将新的注册表文件拷贝至“C:WindowsSystem32Config”目录。你可以通过使用恢复控制台或者Windows 98启动盘(如果系统所在分区的文件格式为FAT32)进行此项操作。在命令提示符后输入如下命令:
del c:windowssystem32configsam
del c:windowssystem32configsecurity
del c:windowssystem32configsoftware
del c:windowssystem32configdefault
del c:windowssystem32configsystem
29/接着输入如下命令:
copy c:windowstmpsoftware c:windowssystem32configsoftware

copy c:windowstmpsystem c:windowssystem32configsystem
copy c:windowstmpsam c:windowssystem32configsam
copy c:windowstmpsecurity c:windowssystem32configsecurity
copy c:windowstmpdefault c:windowssystem32configdefault
30/最后退出恢复控制台,并重启计算机


