注册 登陆 资料 在线 排行 帖子 文件 查询 收件箱 风格

加入收藏 

使用帮助 

 
首页 >> 建站知识库 >> 计算机应用 >> 『 Windwos操作系统专区 』 >> [分享]系统常规急救之系统文件的恢复
 新帖 新投票 回复帖子 讨论区 精华区 上篇 刷新 树型 下篇  


 帖子主题: [分享]系统常规急救之系统文件的恢复
离线

xuefengf 



职务:论坛版主
级别:骑士
积分:193
经验:379
文章:183
注册:06-04-21 11:47
发表: 2006-06-08 16:28:05 人气:13670 楼主

[分享]系统常规急救之系统文件的恢复

    Windows操作系统的功能极为强大,然而它有时却又极为脆弱。例如Windows 98的user.dat、win.ini等文件记录了系统的软硬件管理信息,而msdos.sys、io.sys等文件又是操作系统正常工作所必需的,如果不小心将它们误删除,或因病毒破坏等原因而导致这些系统文件丢失(其中最为常见的是虚拟设备驱动程序VXD丢失),就很容易导致系统崩溃甚至无法启动。换句话说,系统文件丢失是Windows及其应用程序中止运行的常见原因。那么如何快速地恢复Windows的系统文件呢?下面就介绍几种简单的解决方法。

导引:Windows操作系统引导过程及常见的引导出错信息解析
许多用户在使用电脑的过程中一旦发现系统不能正常启动就怀疑系统文件丢失,似乎系统文件丢失是Windows系统不能启动的唯一因素。其实操作系统的各种故障原因极其复杂,系统文件丢失只不过是其中的重要因素之一。为了及时解决问题,必须分清是系统文件丢失还是其他故障引起的Windows不能够启动。为此,有必要先弄清楚Windows操作系统的引导过程。
1. Windows操作系统的引导过程
当系统加电自检通过以后,硬盘复位,BIOS将根据你指定的启动顺序从软盘、硬盘或光驱启动。在此以从硬盘启动为例加以介绍。系统BIOS将主引导记录读入内存,然后,将控制权交给引导程序,然后检查分区表的状态,寻找活动分区。最后,由主引导程序将控制权交给活动分区的引导记录,由引导记录加载操作系统。如果中间任何一个环节出现问题,Windows将不可引导。
Windows 9X、Windows NT/2000/XP是目前最常见的桌面操作系统,但就引导过程而言,则可分为Windows 9X系列与Windows NT系列两大类。
对于DOS和Windows 9X等操作系统而言,分区引导记录将负责读取并执行io.sys文件。Windows 9X的io.sys首先要初始化一些重要的系统数据,然后会出现我们非常熟悉的蓝天白云画面。这时候,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作。如果系统中安装有可引导多操作系统的工具软件,通常主引导记录将被替换成该软件的引导代码。这些代码将允许用户选择一种操作系统,然后读取并执行操作系统的基本代码。
对于Windows NT/2000/XP操作系统来说,则由NTLDR程序负责将它们装入内存,或者让用户选择非Windows NT/2000/XP操作系统。引导装入程序和多重引导都由一个具有隐含属性的初始化文件Boot.ini控制。在Boot.ini中包含有控制计算机可用的操作系统的设置,引导的缺省操作系统以及应当等待多少时间等信息(详见第一章相关内容)。
2. Windows NT/2000/XP引导出错信息及分析处理
上面对Windows操作系统引导过程进行了简单介绍,用户在日常使用计算机过程中可能会由于种种原因导致系统损坏而无法正常启动,这时屏幕会显示相应的提示信息,通过这些提示信息,我们就可以基本明确系统引导出错的故障所在。
对于Windows NT/2000/XP操作系统来说,由于它们都使用NT内核,所以引导出错信息基本相似,现总结如下:
●如果NTLDR丢失或损坏,在启动加载菜单之前就会出现如下信息:
BOOT : Couldn’t find Ntldr(引导:找不到NTLDR文件)
Please insert another disk(请插入另一张磁盘)
●如果Ntdetect.com文件丢失或损坏,在启动加载菜单后会出现如下信息:
Ntdetect V1.0 Checking Hardware(正在检测硬件信息)
Ntdetect failed(检测失败)
●如果丢失或损坏Ntoskrnl.exe文件,或者在Boot.ini文件中Ntoskrnl.exe文件的路径出错,则在Last Know Good提示后就会出现如下信息:
NT Could not start because the following file is missing or corrupt(系统无法启动,因为下列文件丢失或损坏)
\winnt_root\system32\ntoskrnl.exe
Please re-install a copy of the above file(请重新安装上面的文件)
●如果在多操作系统引导环境下Bootsect.dos丢失或损坏,则在选择了另一个操作系统时,就会显示如下信息:
I/O Error accessing boot sector file(访问引导扇区文件的输入/输出错误)
Multi(0)disk(0)rdisk(0)partition(1):\bootsect.dos
●如果在启动过程中,出现以下信息,表示Boot.ini文件中的NT项指向了一种丢失或失效的设备,或者指向一个并不包含NT引导加载程序所识别的文件系统的磁盘分区:
OS Loader V4.00(操作系统加载程序4.00版本)
NT could not start because of a computer disk hardware configuration problem(由于存在计算机磁盘硬件配置问题所以不能启动NT操作系统)
Could not read from the selected boot disk. Check boot path and disk hardware(不能从所选择的引导磁盘中读取启动信息,请检查引导路径和磁盘硬件设备)
Please check the NT documentation about hardware disk configuration and hardware reference manuals for additional information(关于其他相关信息请查阅硬件磁盘配置的相关NT文档和硬件参考手册)
●当NT加载程序不能访问存储NT分区的硬盘时,或者NT加载程序混淆了哪一块硬盘为初始引导设备时,就会出现以下信息:
STOP: 0x0000007E: Inaccessible Boot Device(停止:0x0000007E:不可访问的引导设备)
上面列出的是Windows NT/2000/XP(以下简称NT)常见的引导出错信息,要解决NT引导过程的错误,一般情况下我们都会用到三类磁盘:NT引导磁盘、NT安装引导磁盘和NT紧急修复磁盘。在系统引导文件丢失或损坏时,用NT引导盘就可以解决问题。只需要用NT引导盘启动计算机,将该磁盘上完好的引导文件*贝到硬盘的系统分区上,即可使NT正常引导。

一、Windows系统文件丢失的恢复
(一)Windows 系统可以启动时
Windows 98的系统文件丢失后,在启动的过程中系统会提示某些系统文件被破坏或被替换为旧版本,导致系统的部分功能无法使用。如果系统关键性文件没有丢失,可以启动并进入Windows系统(哪怕是安全模式),用户就可以通过以下两种方法,快速地从Windows安装盘的CAB压缩包中找出对应的文件,恢复到Windows对应的文件夹下,从而使系统迅速恢复正常。
1. 利用系统文件检查器进行恢复
由于系统文件出错可能导致Windows 98瘫痪,因此Windows 98特意提供了一个“系统文件检查器”程序,它能自动检查硬盘上的各种以com、exe、386、dll、vxd、drv、sys等为扩展名的系统文件,在它们被其他文件破坏、覆盖或删除时向用户报警,并可自动进行恢复。
Step 1:记下丢失的系统文件名和路径(如C:\Windows\NotePad.exe),运行Windows 98“附件”→“系统工具”→“系统信息”程序,出现如图2-2-1所示的界面。
Step 2:单击“工具”菜单中的“系统文件检查器”命令,出现如图2-2-2所示的对话框。

Step 3:选中“从安装软盘提取一个文件”,然后在下面的文本框内键入要替换的文件名。或者单击“浏览”按钮选中需要提取的文件,然后单击“打开”按钮,如图2-2-3所示。
Step 4:单击“开始”按钮,打开“提取文件”对话框(如图2-2-4所示)。如果你使用原始安装盘进行恢复,而且事先用“系统文件检查器”扫描过系统,那么它会自动在“还原自”和“将文件保存到”框内给出文件的源路径和恢复路径,如“D:\win98”与“C:\windows”,否则需要单击“浏览”按钮手工指定相关路径。最后单击“确定”按钮即可自动完成丢失文件的提取和恢复。

这种方法可以自动恢复Windows 98系统文件,也能手工恢复其他微软应用程序(使用CAB压缩格式)中的文件,但使用本方法的前提是系统破坏不太严重,最起码要“系统文件检查器”能够运行,并且最好在使用本方法以前就用“系统文件检查器”扫描系统。使用扫描时,可以在上述第二步中,单击“设置”按钮,对“系统文件检查器”的状态进行设置。主要应选择“提示备份”、“检查删除文件”等选项并指定系统备份目录,如图2-2-5所示。
完成上述设置后单击“确定”按钮,返回“系统文件检查器”主界面,选择“扫描改动过的系统文件选项”,最后单击“开始”按钮,对整个Windows 98中的系统文件进行检查。“系统文件检查器”在发现某个文件发生了变化之后,就会向用户报警,此时我们应根据实际情况选择“更新检查信息”、“替换”或“忽略”等选项,单击“确定”按钮,“系统文件检查器”即会按照用户的选择作出相应的处理。
2. 通过配置文件进行查找
通过对Windows 98的layout.inf、layout1.inf、layout2.inf三个文件进行查找。这三个文件存放于C:\Windows\Inf目录下(假定Windows安装在C:\Windows目录,下同),存放着Windows相关的安装信息。我们还是以恢复C:\Windows\NotePad.exe文件为例。
首先用文本编辑器依次打开上述三个文件,查找字符串“NotePad.exe”。本例中,我们会在layout1.inf中找到“notepad.exe=46,,53248”的一串信息。其中数字46表示NotePad.exe文件包含在Windows的46号安装包中,53248是NotePad.exe的字节数大小。于是我们就可在Windows的安装盘上找到46号包WIN98_46.CAB,用鼠标双击后Windows就会用自带的解压工具或WinRAR打开该压缩包,从中可以找到我们需要的NotePad.exe文件(如图2-2-6所示),解压到C:\Windows目录中即可完成文件的恢复。
图2-2-6 恢复找到的系统文件

:Windows的安装包文件名前缀有PRECOPY、CATALOG、BASE、NET、DRIVER、WIN98_等,后面紧跟着1、2、3……73等包的顺序号。
(二)当Windows系统不能启动时
当Windows 98中的VxD(虚拟设备驱动程序)之类的重要文件丢失时,后果一般比较严重,会出现“蓝屏警告”,并提示文件丢失。此时就不能够在图形界面下进行系统文件的恢复工作了,不过可以使用Windows 98启动盘提供的Ext命令进行恢复。
Step 1:记下丢失的文件名称和路径(如C:\Windows\NotePad.exe),用事先准备的Windows 98启动盘引导计算机,选择多重配置启动菜单中的第一项(加载通用CD-ROM驱动程序并创建一个大小为2MB的RAM驱动器)启动计算机,如图2-2-7所示。
图2-2-7 多重配置启动菜单

Step 2:进入RAM驱动器,敲入Ext后回车。需要注意的是,必须严格按照上述方法进行,因为Ext命令只能在虚拟驱动器中使用。
Step 3:在提示“Please enter the path to the Windows CAB files(a):”后输入Windows 98安装压缩包所在的完整路径,如“E:\win98”,并按回车键确认。
Step 4:在提示“Please enter the name(s) of the file(s) you want to extract:”后输入你记下的丢失文件名(如NotePad.exe),按回车键确认。
Step 5:在解压路径提示“Please enter path to extract to ("Enter" for current directory):”后输入文件将被解压的完整路径(如C:\Windows),按回车键确认。
Step 6:当提示“Is this Ok?(y/n):”时,键入“y”后回车,Ext程序会自动查找安装盘中的CAB压缩包,并将文件释放到指定的位置,如图2-2-8所示。
图2-2-8 恢复指定的系统文件

前面讲的是有Windows 98启动盘时的解决方法。可是当你遇到故障,又没有Windows 98启动盘时该怎么办呢?这时可以使用C:\Windows\Command目录中的Extract命令提取丢失文件(这个命令也存在于Windows 98启动盘以及Windows 98安装盘的\Windows 98目录下)。可以用其他DOS启动盘启动计算机,进入C:\Windows\Command执行Extract命令,其格式如下:

EXTRACT [/Y] [/A] [/D | /E] [/L dir] cabinet [filename ...]
EXTRACT [/Y] source [newname]
EXTRACT [/Y] /C source destination
cabinet 指定Windows 98安装盘中的CAB压缩包,可以用空格隔开多个多个压缩包;
filename 指定想从CAB压缩包中解压缩的文件名,可以使用通配符(当使用*.*时解压缩所有的文件) 或以空格隔开多个文件名;
source 包含一个文件的CAB文件;
newname 解压缩后的文件名,缺省为原文件名;
/A 从指定的第一个CAB开始处理全部CAB文件;
/C *贝CAB文件;
/D 显示CAB文件中所包含的文件目录,可用于查找文件;

/E 解压缩;
/L dir 指定解压缩文件的位置,缺省为当前目录;
/Y 覆盖已存在的文件时不显示提示信息。

假如你的C:\Windows\NotePad.exe文件丢失,可使用前面介绍的方法通过配置文件进行查找包含NotePad.exe的压缩包(可使用Edit编辑器打开layout.inf、layout1.inf、layout2.inf这三个文件,然后进行查找),最后找到它在WIN98_46.CAB中。这时就可以使用“Extract /E /L C:\Windows D:\Win98\WIN98_46.CAB\NotePad.exe”命令将它从D:\Win98目录下的WIN98_46.CAB压缩包解压至C:\Windows目录,完成后重新启动系统即可。
(三)Windows 2000/XP下的应急方案:故障恢复控制台
Windows 2000/XP的稳定性要比Windows 98高出许多,这主要归功于Windows 2000/XP内置的“文件保护技术”,该技术可有效防止对重要文件的误删除和修改。当系统被删除或改变后,Windows File Protection(Windows文件保护)将首先检测到这一变化,并立即从高速缓存中再次获得源文件,并把它们恢复到系统文件夹中。该过程对于用户来说完全是透明的,他们即不会感觉到系统曾发生过故障,也不会感觉到系统的修复过程。
然而,正像巨人安泰也有自己的致命弱点一样,虽然Windows 2000/XP较好的稳定性,但是在系统遭到严重破坏时,Windows 2000/XP可能还是无法正常启动,而且最难办的是如果Windows 2000/XP使用NTFS文件系统格式时,用Windows 98启动盘引导系统也无济于事,因为DOS概述无法访问NTFS分区,所以一旦Windows 2000/XP无法进入图形界面,恢复系统文件的难度要比Windows 98大得多!
所幸的是,微软早已经考虑到了这一点,在Windows 2000/XP中提供了一个“故障恢复控制台”的功能(下面以Windows 2000的故障恢复控制台为例),该功能可以允许用户在无法正常启动Windows图形界面时进入ntfs、fat、fat32等文件系统,对系统文件进行操作。同时也可以在下一次启动计算机时对系统各项服务和设备进行关闭和开启的操作,可以修复系统启动区或MBR,创建和格式化硬盘。需要注意的是,只要系统管理员才可以获得执行故障恢复控制台的权力,任何未授权的用户将不能使用NTFS卷。
1. 安装故障恢复控制台
故障恢复控制台一旦安装成功将被添加到Windows 2000的开始菜单里。用户可以通过如下方式进行故障恢复控制台安装:在“开始”菜单的“运行”对话框中键入“D:\i386\winnt32.exe /cmdcons”(其中D为Windows 2000安装光盘的盘符)。点击“是”按钮后(如图2-2-9所示),按照提示安装即可
2. 启动故障恢复控制台
故障恢复控制台安装完毕后重新启动计算机,在操作系统启动列表中你会发现多出了一项“Windows 2000故障恢复控制台”的选项(如图2-2-10所示),选择该项后按Enter键即可启动故障恢复控制台。
在启动故障恢复控制台后将出现如图2-2-11所示信息。在输入相应的数字后,输入管理员密码即可进入故障恢复控制台对系统进行恢复操作,键入EXIT可以重新启动计算机。
在故障恢复控制台下不能将本地文件*贝到软盘上,但是可以从CD-ROM或软盘上*贝文件到硬盘上,或从一个硬盘*贝到另一个硬盘。在故障恢复控制台下,用户可以使用如下命令:ATTRIB、BATCH、CD、CHDIR、CHKDSK、CLS、COPY、DEL、DELETE、DIR、DISABLE、DISKPART、ENABLE、EXIT、EXPAND、FIXBOOT、FORMAT、HELP、LISTSVC、LOGON、MAP、MD、MKDIR、MORE、RD、REN、RENAME、RMDIR、SYSTEMROOT、TYPE。有了这些命令,我们就可通过各种方法进行系统文件恢复。
(四)利用紧急修复磁盘+安装光盘修复Windows 2000/XP
如果通过故障恢复控制台还不能够对系统文件进行恢复的话,还可以尝试着利用安装光盘对Windows 2000/XP进行修复,这种方法一般都能够解决由于系统文件丢失而导致的Windows不能正常启动的故障。下面以Windows 2000的修复过程为例进行介绍。
首先我们应该在系统完好的时候制作一张系统紧急修复磁盘,它的作用就是备份注册表的一部分内容,制作过程非常简单。准备好一张3.5英寸的磁盘,然后执行“开始”→“程序”→“附件”→“备份”,进入备份程序主界面,选择“工具”菜单中的“创建一张紧急修复软盘”命令,在弹出对话框中选中“也将注册表备份到修复目录中”复选框,单击“确定”按钮即可创建一张紧急修复软盘,如图2-2-12所示。
Step 1 : 需要注意的是,这张紧急修复磁盘应该不定期地进行更新,这样才能使磁盘中的内容保持最新,尤其是在添加了某些硬件设备、安装了新的软件或者更改了系统的配置之后,一定要更新这张紧急修复磁盘。
Step 2:紧急修复磁盘创建完毕后,我们就可以利用Windows 2000的安装光盘引导计算机,在出现安装欢迎画面时按“R”键,然后再次按下“R”键,表示紧急修复Windows 2000,如图2-2-13所示。
Step3:在接下来出现的画面中按下“F”键,表示执行所有的修复选项。然后插入紧急修复磁盘到驱动器A,连按两次Enter键开始修复Windows 2000,如图2-2-14所示。

二、Windows系统文件被低版本文件覆盖的恢复
很多应用程序在安装时都会用自己的驱动程序覆盖Windows系统已有的驱动程序。为此,Windows 98特意提供了“版本冲突管理器”,它可随时对系统文件进行监测,当原有的系统文件被新文件覆盖时就会自动将原来的文件备份下来。若Windows因为系统文件被覆盖而出现故障,就可以利用“版本冲突管理器”进行恢复。
Step 1:在“开始”菜单的“运行”中输入“VCMUI”,然后单击“确定”按钮,启动“版本冲突管理器”,如图2-2-15所示。
Step 2:此时,“版本冲突管理器”就会显示所有备份了的系统文件的文件名、备份日期、备份前的版本(包括版本号及语种)和现在版本等信息(当然,图2-2-15中没有任何显示,因为没有版本冲突)。
Step 3:用户若需要恢复以前备份的某个系统文件,则可选定该文件后单击“恢复所选文件”按钮,“版本冲突管理器”就会自动进行恢复。


 9 7 1 8 : 此主题共有1帖 此页1帖 每页100


回复帖子 注意: *为必填项
*用户名和密码
用户名 密码 注册新用户
*帖子名称 长度不得超过255字
内容(最大16K)

是否是UBB代码

内容支持插入UBB标签
使用方法请参考帮助
 其它选项:  显示签名   不允许回复  - UBB标签  - 颜色表   Alt+S或Ctrl+Enter快速提交