启动过程及系统文件丢失的补救

来源:百度文库 编辑:神马文学网 时间:2024/03/29 15:40:30
计算机启动过程及系统文件丢失的补救
作者:行云    文章来源:本站原创    点击数:395    更新时间:2007-12-15

 

从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段:

  1. 预引导(Pre-Boot)阶段;

  2. 引导阶段;

  3. 加载内核阶段;

  4. 初始化内核阶段;

  5. 登陆。

  每个启动阶段的详细介绍

a) 预引导阶段

  在按下计算机电源使计算机启动,并且在Windows XP专业版操作系统启动之前这段时间,我们称之为预引导(Pre-Boot)阶段,在这个阶段里,计算机首先运行Power On Self Test(POST),POST检测系统的总内存以及其他硬件设备的现状。如果计算机系统的BIOS(基础输入/输出系统)是即插即用的,那么计算机硬件设备将经过检验以及完成配置。计算机的基础输入/输出系统(BIOS)定位计算机的引导设备,然后MBR(Master Boot Record)被加载并运行。在预引导阶段,计算机要加载Windows XP的NTLDR文件。

  b) 引导阶段

  Windows XP Professional引导阶段包含4个小的阶段。

  首先,计算机要经过初始引导加载器阶段(Initial Boot Loader),在这个阶段里,NTLDR将计算机微处理器从实模式转换为32位平面内存模式。在实模式中,系统为MS-DOS保留640kb内存,其余内存视为扩展内存,而在32位平面内存模式中,系统(Windows XP Professional)视所有内存为可用内存。接着,NTLDR启动内建的mini-file system drivers,通过这个步骤,使NTLDR可以识别每一个用NTFS或者FAT文件系统格式化的分区,以便发现以及加载Windows XP Professional,到这里,初始引导加载器阶段就结束了。

  接着系统来到了操作系统选择阶段,如果计算机安装了不止一个操作系统(也就是多系统),而且正确设置了boot.ini使系统提供操作系统选择的条件下,计算机显示器会显示一个操作系统选单,这是NTLDR读取boot.ini的结果。(至于操作系统选单,由于暂时条件不够,没办法截图,但是笔者模拟了一个,见图一。)

  在boot.ini中,主要包含以下内容:

  [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" /fastdetect

  multi(0)disk(0)rdisk(0)partition(2)WINNT="Windows Windows 2000 Professional"   

  其中,multi(0)表示磁盘控制器,disk(0)rdisk(0)表示磁盘,partition(x)表示分区。NTLDR就是从这里查找Windows XP Professional的系统文件的位置的。(*本文不会更详细地讲解boot.ini的组成结构,因为其与本主题关系不大,如果想了解,可以到一些专门的网站处查询相关信息。)如果在boot.ini中只有一个操作系统选项,或者把timeout值设为0,则系统不出现操作系统选择菜单,直接引导到那个唯一的系统或者默认的系统。在选择启动Windows XP Professional后,操作系统选择阶段结束,硬件检测阶段开始。

  在硬件检测阶段中,ntdetect.com将收集计算机硬件信息列表并将列表返回到NTLDR,这样做的目的是便于以后将这些硬件信息加入到注册表HKEY_LOCAL_MACHINE下的hardware中。

  硬件检测完成后,进入配置选择阶段。如果计算机含有多个硬件配置文件列表,可以通过按上下按钮来选择。如果只有一个硬件配置文件,计算机不显示此屏幕而直接使用默认的配置文件加载Windows XP专业版。

引导阶段结束。在引导阶段,系统要用到的文件一共有:NTLDR,Boot.ini,ntdetect.com,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选的)。

 

一、在win xp系统下,在打开控制面板的时候弹出对话框提示说“windows无法找到c:windowsrundll32。exe”。

rundll32。exe是系统提供的一个动态链接库,它用来调用32位的DLL函数,显然这类的问题是该文件被损坏或丢失造成的。可以把系统安装盘放入光驱,然后打开“命令提示符”,并输入“expand f:i386rundll32。ex-c;windowsrundll32.exe”。其中F盘是光驱盘符。

二、中了“爱情后门”病毒用专杀工具杀掉后,双击盘符就提示说:“windows无法找到command.exe文件。”要求定位该文件。

病毒在每个驱动器下都有一个卷标autorun.inf文件,只要你双击驱动器就会激活病毒,需要手工删除sutorun.inf文件,在“命令提示符”下输入“attrib autorun.inf -s -h -r”去掉它的“系统”,“只读”,“隐藏”属性,这样输入“del autorun.inf”才可以删除。接着进入注册表查找“command.exe”键值项,找到后将整个shell子键删除,这样c盘就可以打开了,按照同样方法将其他盘依次也删除即可。

三、windows xp系统启动时,出现“hal.dll文件丢失”的错误提示。怎样处理。

这个问题是由于c盘下的boot.ini文件被损坏,系统无法读取,,只能在c;windows下寻找系统文件,但由于windows xp并没有安装到c盘中,所以就会出现上述错误。解决办法就是重新编辑boot.ini文件。(关于编辑的文章很多就不写了,或者也可以找一个和自己系统完全一样的电脑复制一个boot.ini文件)

四、NTLDR丢失的问题

估计可能是Ntldr、Ntdetect.com、Boot.ini几个文件丢失或破坏引起的。
NTLDR文件是WinXP的引导文件。应该在系统正常的时候给予备份。
NTLDR文件的说明:NTLDR是一个隐藏的,只读的系统文件,用来装载操作系统。

NTLDR文件的提取:NTLDR文件是WinXP的引导文件,当此文件丢失时启动系统会提示其缺失并要求按任意键重新启动,不能正确进入WinXP系统。在故障恢复控制台下可以提取到该文件,这个文件存在于安装光盘的i386目录中,提取方法如下:
进入系统故障恢复控制台,转到C盘,输入“copy X:\I386\NTLDR”(注:这里的X为光驱盘符 如 Copy F:\Simpchin\Windows2000\Server\I386\Ntldr c:\,按ENTER键)并回车,如果系统提示要否覆盖则按下“Y”,之后输入exit命令退出控制台重新启动即可。

xp/2k/2000下 开机弹出“NTLDR is missing,Press any key to restart”的信息。 NTLDR是Windows 启动时的一个重要引导文件。上面的提示信息说明你的电脑中该文件已经丢失,可以直接从其他同版本系统中的C盘indows XP安装光盘中提取一个出来存放到你的C盘中即可,如果怕麻烦,直接修复安装Windows XP也可以解决问题。

五、启动时提示 windows找不到文件'c:progra~1common~1micros~1msinfomsinfo.exe

它的原理就是在explorer.exe加载的时候一起加载的.解决方法是把注册表中HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/winlogon/shell/Explorer.exe/c:Progra~1Common~1Micros~1msinfoMsinfo.exe

c:Progra~1Common~1Micros~1msinfoMsinfo.exe删掉就可以了.

六、运行“系统信息”提示找不到mfc42u.dll

http://www.microsoft.com

七、开机时弹出对话框,提示“缺少动态库链接文件msnp32.dll,network,无法正常运行”,按确定后,进入系统一切正常。在别人的机器上无法找到这个文件,重新覆盖装系统也没有用。

msnp32.dll是Microsoft网络功能的网络客户端,该文件位于System目录下。系统找不到该文件,可能被误删。

解决办法:在网络属性中删除掉所有的协议和适配器,然后重新添加适配器、TCP/IP协议和Microsoft网络客户,Windows将重新复制网络功能需要的文件。

八、系统提示:“找不到所需的.DLL文件——MSVBVM60.DLL”

此文件为VB运行库文件,许多程序的安装和运行都需要该文件。

解决办法:

1.下载此文件后复制到系统的system文件夹下。(http://download.pchome.net/development/vb/...L和VB6CHS.DLL)

2.开始→运行,输入regsvr32 C:WindowsSystemMSVBVM60.DLL,确定(此操作目的是注册此动态链接库文件)。

注意:此文件为系统文件,需在“查看”→“文件夹选项”→“文件”选项中选中“显示所有文件”后才能看到此文件。

九、笔记本电脑,最近开机显示:启动程序时出错“找不到所需的.DLL文件——DMIAPI32.DLL”

DMIAPI32.DLL是(DMI)桌面管理界面服务所需的文件,对笔记本尤为重要。基于DMI标准的管理实用程序可很容易实现远程监控和管理,如系统BIOS和常驻软件驱动程序的检查和管理。 DMI标准是实现笔记本易管理性的唯一捷径。

解决办法:1.在DMIAPI32.DLL的同一目录下还有一文件名是Win32sl.exe的文件,检查注册表的启动项里有没有设置此文件随系统启动。没有的话,加进去。

2.同时可能是此dll文件已坏,建议联系笔记本的经销商,可得到此文件的原始拷贝

十一、开机就出现下面的提示"加载NMGameX.DLL时出错,找不到指定的模块“

nmgamex.dll是你在访问“新浪游戏总动园”(http://igame.sina.com.cn/)时生成的,并且在系统启动项中自动加载。可能时你无意中删除了该文件,所以导致每次启动都会出现“加载NMGameX.dll时出错...”的提示。解决方法:点击“开始”→“运行”,输入“regedit”回车,进入注册表编辑器,按F3键,输入“nmgamex.dll”回车,每找到一条就删除该名称所在项(而不是只删除字符串),直到全部搜索修改完毕。重新启动后如果还是出现你所描述的提示信息,那就再进入注册表编辑器,分别依次展开

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

找到其中包含NMGameX.dll和csrss.exe的键值,然后删除所在行的项目。一般可能的键值为:“C:WINNTsystem32Rundll32.exe NMGameX.dll,LiveProcess/aa”和“C:WINNTcsrss.exe”。

十二、pagefile.sys(虚拟内存文件)丢失

1.启动进入“故障恢复控制台”。

2.因为您需要启动进入 %SystemRoot% 文件夹(多数情况下是 C:Winnt 文件夹),所以请键入下面的命令: cd

3.键入下面的命令以便使用 Boot.ini 覆盖现有的 Pagefile.sys 文件: copy c:boot.ini pagefile.sys

4.键入下面的命令: del pagefile.sys

5.在您复制 Boot.ini 以覆盖 Pagefile.sys 后,Pagefile.sys 将显示在目录列表中。

十三、开机时显示“POWRPROF.DLL出错,丢失项目LOADCURRENTPWRSCHEME

你删除了不应该删除的注册表

把损坏的C:windowssystem里的POWRPROF.DLL换个名字(也可能这个文件已经不存在了)

放入windows光盘

开始--》运行--》sfc.exe

 


开机提示“NTLDR is missing,Press any key to restart”故障的解决方法
 

    1.用Windows 2000的安装盘启动电脑,进入Windows 2000 Server的安装界面; 

  2.界面提示“要修复Windows 2000中文版的安装,请按R”,按R键继续;  

  3.界面提示“要用故障恢复控制台修复Windows 2000安装”选项,按C键继续;  

  4.屏幕出现故障恢复控制台提示“C:\Winnt,要登录到哪个Windows 2000安装(要取消,请按Enter)?”,在此键入“1”,然后按Enter键;  

  5.键入管理员密码,然后按Enter键;  

  6.键入Copy F:\Simpchin\Windows2000\Server\I386\Ntldr c:\,按ENTER键(注:笔者使用的光盘是Windows 2000三合一光盘,如果是其他的安装盘,可以使用搜索命令查找一下ntldr文件的位置,一般在i386目录下。“f:”为我的光盘驱动器号);  

  7.键入Copy F:\Simpchin\Windows2000\Server\I386\Ntldr c:\,按 Enter 键,系统提示您是否覆盖文件,键入Y,然后按Enter键。  

  重新启动计算机就可以了


XP2 NTLDR is missing 文件丢失解决办法
  NTLDR is missing 文件丢失如何解决

NTLDR文件丢失如何解决
一、其实WINDOWS XP这个NTLDR文件丢失有个最简便的解决办法,不需要任何其它工具,就地起死回生。
1、用其它任何方式启动电脑。
2、用DIR NTLDR /S命令从备份文件中找出这个文件。路径比较长,比照抄下就行,复制到C盘根目录下。
3、关键是写入硬盘,不能COPY完就了事,必须执行DEBUG NTLDR命令。命令行中执行W命令写入,Q命令退出。这样才能保证真正写入硬盘。
4、重新启动。怎么样?让我苦苦盼望的画面马上回来了,是否有点热泪盈洭呢。哈,别谢我,同是天涯沦落人,不过我比你先倒霉,找到解决它的办法罢了,别忘了如果你也有什么好东东与我分享

 

二、修复WindowsXP启动系统
1.在BIOS设使用光盘驱动器启动电脑
2.放入WindowsXP光盘在光盘驱动器内启动电脑
3.让光盘自动执行至停止便会出现叁个选择,按〔R〕选修复电脑便会询问要进入哪个系统,请选择WindowsXP的代号,然后输入Administrator密码(与安装时输入的Administrator密码相同)如果没有密码直接按输入键便可
4.在C:\Windows>下键入Fixboot及按〔Y〕确认
5.在C:\Windows>下键入光盘\
6.在C:\>下键入ATTRIB-HNTLDR
7.在C:\>下键入ATTRIB-SNTLDR
8.在C:\>下键入ATTRIB-RNTLDR
9.在C:\>下键入ATTRIB-HNTDETECT.COM
10.在C:\>下键入ATTRIB-SNTDETECT.COM
11.在C:\>下键入ATTRIB-RNTDETECT.COM
12.在C:\>下键入COPYX:\I386\NTLDRC:\注:X:是光盘驱动器的代号下同
13.在C:\>下键入COPYX:\I386\NTDETECT.COMC:\
14.完成后取出WinXP光盘及键入〔Exit〕会重新启动电脑
15.在BIOS选回用硬盘启动电脑便可
16.使用中文版WindowsXP如启动时选单出现乱码者可在进入WindowsXP后将WindowsXP光盘I386目录下的bootfont.bin复制至C盘的根目录下便可,如使用英文版WindowsXP者把bootfont.bin从C盘的根目录下删除便可

开机时不能正常启动,给出了这样的提示

“NTLDR is missing,Press any key to restart”。

  即使从系统盘拷贝NTLDR到c盘根目录,也无法解决。

  解决办法:

      用原来的WINDOWS XP安装盘“假安装”法。

      具体操作方法:设置用光盘启动系统安装盘,选择C盘,会提示是否删除原来的WINDOWS目录里的系统,选择“否”,另起一个新目录名,如“WINXP”,然后点确定安装,你会看到正在拷贝系统文件,100%后就会重新启动,这时仍用光盘启动(该光盘有进入DOS的菜单),选择进入“超级DOS”(含有多种DOS应用软件,如EDIT,ATTRIB等),进入C盘(C:),运行"attrib -h -s -r boot.ini"(去掉只读和系统隐藏属性), 然后用编辑软件(如输入EDIT)打开BOOT.INI, 修改其中的timeout时间,将timeout=0 改为timeout=30, 缺省启动也更改为WINDOWS。删掉WINXP的启动项。

例如:

原BOOT.INI

[boot loader]


timeout=0

default=multi(0)disk(0)rdisk(1)partition(1)\WINXP


[operating systems]
multi(0)disk(0)rdisk(1)partition(1)\WINXP="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

C:\="Microsoft Windows"

更改为:

[boot loader]


timeout=30

default=multi(0)disk(0)rdisk(1)partition(1)\WINDOWS


[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
C:\="Microsoft Windows"

然后保存BOOT.INI,退出,重新启动,就可以看到启动菜单,顺利进入系统。

进入系统后,把刚才"假安装"的系统目录WINXP目录删除, 把BOOT.INI属性设置为系统属性,

 

问题原因:Ntldt、Ntdetect.com、Boot.ini几个文件丢失或破坏引起。

如果是WIN2000,同样道理,稍微有点不同,举例看服务器版:

    1. 用Windows 2000的安装盘启动电脑,进入Windows 2000 Server的安装界面;

  2. 界面提示“要修复Windows 2000中文版的安装,请按R”,按R键继续;

  3. 界面提示“要用故障恢复控制台修复Windows 2000安装”选项,按C键继续;

  4. 屏幕出现故障恢复控制台提示“C:\Winnt,要登录到哪个Windows 2000安装(要取消,请按Enter)?”,在此键入“1”,然后按Enter键;

  5. 键入管理员密码,然后按Enter键;

  6. 键入Copy F:\Simpchin\

  Windows2000\Server\I386\Ntldr c:\,按ENTER键(注:笔者使用的光盘是Windows 2000三合一光盘,如果是其他的安装盘,可以使用搜索命令查找一下ntldr文件的位置,一般在i386目录下。“f:”为我的光盘驱动器号);

  7. 键入Copy F:\Simpchin\

  Windows2000\Server\I386\Ntldr c:\,按 Enter 键,系统提示您是否覆盖文件,键入Y,然后按Enter键。

  重新启动计算机,当上课铃响起的时候,服务器已启动正常。

    由于经常出现这个问题,因此写下这些,以供大家学习参考。

我电脑重新格了一下。再装系统时出现了ntldr is missing
press ctrl+alt+del to restart
高手指点一下谢谢

 

所有这些问题可能都是因为电脑引导的主分区出现问题,所以必须更改引导分区的路径,请注意比较:

multi(0)disk(0)rdisk(1)partition(1)\

multi(0)disk(0)rdisk(0)partition(1)\

不同在于:rdisk(?)

避免这些问题,安装系统区可采用FAT32格式,便于修改BOOT.INI文件。

这里提供本人设计的一个DOS软件clrboot.exe 用于修复C盘0磁道BOOT区(用于杀BOOT区病毒)http://sky.scnu.edu.cn/blog/more.asp?name=huxj&id=357

经过运行clrboot后,再安装系统可能会解决上述问题。
 ·如果 MFT 根文件夹碎片较多,则可能会出现此问题。如果 MFT 根文件夹包含多个文件,则 MFT 就会变得非常零碎,以至于需要另外创建一个分配索引。因为文件是按字母顺序映射到分配索引中的,NTLDR 文件可能会被推到第二个分配索引中。如果发生此现象,就会看到NTLDR is missing Press CTRL+ALT+DEL to restart.描述的错误信息。
  
  一般情况下不将文件写入根文件夹。如果一个程序定期在根文件夹中创建和删除临时文件,或者将许多文件误复制到根文件夹,就会造成这一情况。
  
  这个问题是在您将多个文件复制到使用 NTFS 文件系统的启动卷的根文件夹后出现,这个问题已经在Windows 2000 SP4中解决。所以,请您检查您的SP状态。 至于解决的方法:
  
  使用恢复控制台
  1.. 使用 Windows 2000 安装盘重新启动计算机,或使用 Windows 2000 光盘重新启动计算机。
  2.. 在“欢迎使用安装程序”屏上,按 R 键修复 Windows 2000 安装。
  3.. 按 C 键通过使用“恢复控制台”修复 Windows 2000 安装。
  4.. 键入与要修复的 Windows 安装对应的数字,然后按 Enter 键。例如,键入 1,然后按 Enter 键。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 键入管理员密码,然后按 Enter 键。
  5.. 键入 map,然后按 ENTER 键。记下分配给包含 Windows 2000 光盘的 CD-ROM驱动器的驱动器号。
  6.. 键入以下命令,在键入每个命令后按 ENTER 键,其中 drive 是您在本文“方法
  2:使用恢复控制台”中的第 4 步键入的驱动器号:
  copy drive:\i386\ntldr c:\
  
  copy drive:\i386\ntdetect.com c:\
  
  如果系统提示您覆盖现有文件,请键入 y,然后按 Enter 键。
  
  注意:在这些命令中,ntldr 和 c:\ 之间以及 ntdetect.com 和 c:\ 之间各有一个空格。
  7.. 键入下面的命令,然后按 ENTER 键:
  type c:\Boot.ini
  
  出现一个类似如下的列表:
  [boot loader]
  timeout=30
  default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
  
  [operating systems]
  multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
  如果收到以下消息,则 Boot.ini 文件可能丢失或损坏:
  The system cannot find the file or directory specified.
  
  8.. 如果 Boot.ini 文件丢失或损坏,请创建一个新的。为此,请按照下列步骤操作:
  1.. 使用文本编辑器,如记事本或 Edit.com 创建一个类似于以下内容的启动加载程序文件:
  [boot loader]
  timeout=30
  default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
  
  [operating systems]
  multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 102873 BOOT.INI and ARC Path Naming Conventions and Usage
  
  301680 HOW TO:Create a Boot Disk for an NTFS or FAT Partition in Windows
  
  2.. 将该文件作为 Boot.ini 保存到磁盘。
  
  注意:如果您是使用记事本创建的文件,请确保 .txt 扩展名没有附加在Boot.ini 文件名后面。
  3.. 在恢复控制台命令提示符下键入下面的命令,将 Boot.ini 文件从软盘复制到计算机:
  copy a:\Boot.ini c:\
  
  9.. 键入 exit,然后按 ENTER 键。计算机将会重新启动

 


无法打开快捷方式
其实,快捷方式和一般文件一样,都属于某种文件类型。如果快捷方式(*.lnk)所连接的程序丢失或错误,就会造成这类文件无法打开。解决的方法如下:
1、 对于Windows 2000 、Windows XP :
运行“assoc .lnk=lnkfile”,然后重新启动即可。

、 对于Windows 98 :
从 non-cgi/tools/lnkfile.reg 上下载lnkfile.reg。双击打开它,然后单击【确定】按钮,将该完整的注册表数据添加到当前系统的注册表中即可.

 

如何恢复被误删的boot.ini文件?
用Windows XP安装光盘引导,进入修复控制台,运行bootcfg /rebuild这个命令。

或者:
建立一个新的boot.ini文件,包括下面的内容

[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" /fastdetect /NoExecute=OptIn

建立该文件完成后,建议运行下面的命令:

c:>attrib +h +s boot.ini

注意:partition(1)中的1为您的Windows XP安装的分区。

1->C
2->D
....
依次类推。

 

ntoskrnl导致的蓝屏死机问题
一、Ntoskrnl.exe文件错误,无法启动 ! 
  开机后系统提示:

因以下文件的错误或者丢失
windowsxp无法启动:
\system32\ntoskrnl.exe
请重新安装以上文件的拷贝


出现这种情况有两种可能:

1. 硬件故障
    如键盘没有插好,请重新插拔。

2. 软件故障
    解决步骤如下:
    1)查看boot.ini文件,启动分区是否正确
    2)将windows\driver cache\i386下的文件还原到system32下
    3)从光盘上提取 expand sp1.cab -F:ntoskrnl.exe c:\windows\system32
    4)查毒

软件故障一般要在DOS环境下操作

附1:
DOS下修改文件属性的方法
Attrib [+r or -r][+a or -a][+s or -s][+h or -h][[path][filespec][/s]]

附2:
boot.ini的原文件(单硬盘单WinXP操作系统)
[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" /fastdetect


二、问:启动时系统提示错误“NTOSKRNL.EXE丢失或损坏”。
答:这实际上是由boot.ini文件中的错误所引起的。NT部分或者丢失或者存在错误。
例如:对IDE的磁盘该部分类似于
multi(0)disk(0)rdisk(0)partition(2)\winnt="Windows NT workstation"
检查磁盘和分区是否正确。如果您近期新添加了硬盘,或改变了分区,试着改变disk()和partition()的设置值。如果您确信没有错误,则可能是实际的文件损坏,从安装CD上将NTOSKRNL.EXE文件复制到%systemroot%/system32目录中。


 系统应用:Windows的故障恢复控制台应用实例详解
 当Windows 2000/XP/2003出现了启动故障,而且在安全模式或其他模式下都启动无效时,很多朋友首先想到的就是重装系统。其实不必。这时我们首先应该考虑使用Windows的“故障恢复控制台”来挽救系统,它主要可用来修复系统、禁用或启用服务、格式化磁盘、执行一些管理任务。本期将重点介绍一下利用故障恢复控制台解决一些问题的实例。
    系统文件Ntfs.sys丢失

    问:在将分区从FAT32文件系统转换到NTFS文件系统之后重新启动Windows XP 时出现“Missing or Corrupt Ntfs.sys”(Ntfs.sys 丢失或损坏)错误信息,导致系统无法正常启动。该如何是好?

    答:在故障恢复控制台下先输入cd \windows\system32\drivers,然后按ENTER键。接着输入ren ntfs.sys ntfs.old,将损坏的Ntfs.sys文件重命名为 Ntfs.old。如果提示没有找到 Ntfs.sys 文件,则该文件丢失了。把Windows XP的安装光盘放进光驱,假设Windows XP安装在C盘、光驱的盘符为H,键入copy h:\i386\ntfs.sys c:\windows\system32\drivers,然后退出故障恢复控制台,重新启动 Windows XP即可。

    系统文件NTLDR丢失

    问:系统启动不了,提示一些文件丢失了。比如Windows 2000启动不了,出现以下错误信息:NTLDR is missing  Press any key to restart,提示NTLDR文件丢失。我该怎么办?

    答:对此类系统文件的丢失问题,我们可以使用故障恢复控制台从系统安装光盘上COPY丢失的文件。进入故障恢复控制台,把Windows 2000的安装光盘放进光驱(光驱盘符为H:),输入copy h:\i386\ntldr c:\并回车(从光驱复制ntldr文件至C盘根目录下),接着输入copy h:\i386\ntdetect.com c:\并回车(从光盘复制ntdetect.com文件到C盘根目录下)。如果系统提示是否覆盖文件,键入y,然后按回车键。最后键入c:\Boot.ini,如果正常显示Boot.ini中的内容则可重启,问题应该可以解决。如果显示为“系统找不到指定的文件或目录。”,那么意味着Boot.ini文件损坏或丢失,可到其他安装Windows 2000的电脑中复制该文件,将它拷贝到C盘下,然后重启即可。利用此法可以解决大部分系统文件丢失的问题。

    误删除SAM文件后

    问:在Windows XP中不小心把Windows/system32/config/下的sam文件删除了,结果Windows XP账号丢失,现在不能进入Windows XP的登录界面。由于安装有很多软件,现在想不重新安装系统就恢复Windows XP行吗?

    答:进入故障恢复控制台,把Windows XP的安装光盘放进光驱(光驱盘符为H:),输入copy h:\windows\repair\sam c:\windows\system32\config\sam并回车,将H:\windows\repair\sam文件复制到c:\Windows\system32\config文件夹即可。

    注意:Repair下的Sam文件是当初安装Windows XP时产生的,这样操作会丢失安装系统以及你自己在系统中创建的用户和用户组(用户信息回到全新安装时状态)。如果你开了系统还原,可以先成功地登录Windows XP,再还原到最新的还原点恢复你的全部用户设置。

    在系统的安装光盘:\windows\repair目录下有很多的文件,这里面是系统刚装好时的注册表、硬件信息等。

    另外,如果你忘记了系统的登录密码,可以利用此方案来解决问题。

    多系统下的Windows XP无法启动

    问:我的电脑是多系统,原先安装了Windows XP,然后安装了Windows 98,结果将位于系统启动分区根目录下的Windows XP启动文件覆盖了,导致Windows XP系统不能启动了。

    答:启动故障恢复控制台,键入“BOOTCFG /ADD”(将Windows 安装添加到启动菜单列表中),故障恢复控制台会扫描Windows安装,几秒钟后扫描完成,然后提示你选择要添加的安装,选“1”,接着它会提示你输入加载识别符(就是启动菜单项名称,比如你要恢复的是Windows XP系统,可输入“Windows XP”),下一步它会提示输入OS加载选项。键入fastdetect命令,回车,键入“EXIT”,重新启动电脑,你可以看到久违的多系统启动菜单又回来了。如果还有其他的系统就继续执行上述的步骤,直至所有的系统都添加到多系统启动菜单为止。

    误删除Boot.ini文件后

    问:不慎删除了Boot.ini等启动文件该如何处理?原来的Windows XP系统安装在C盘,现在重装,将系统装在D盘,安装完毕后,将C盘格式化了,结果C盘根目录下的Boot.ini等系统文件没有了。请问有什么解决办法?

    答:我们可以先执行bootcfg /scan命令在所有磁盘上扫描Windows 安装,找到D盘上的Windows XP后,输入bootcfg /redirect重建Boot.ini,同时使用copy命令将Windows XP的安装光盘上i386目录下的NTDETECT.com和NTLDR复制到C盘根目录下。最后执行fixboot c:,把Windows XP的系统分区写入启动扇区。

    如果你的电脑是双系统,在把C盘上的系统格式化或删除的同时,不小心把Boot.ini也一并删除了,可以用此方案来恢复。如果是多系统,可以再参考上一案例,建立引导菜单,或者手动编辑Boot.ini文件。


 由于文件损坏或丢失造成windows无法启动
Windows 2000 或 XP 系统出现故障的时候,通常我们可以通过"最后一次正确配置"、"安全模式"、"系统还原"(只用于XP)来修复。但是有一些情况是不能通过这些办法来修复的,例如:系统引导文件丢失、BOOT.INI 文件丢失或配置错误、系统DLL丢失等等。这个时候,重新安装操作系统虽然是个有效的方法,但是要花费很长的时间。其实我们还可以通过恢复控制台来做最后的尝试。使用恢复控制台,我们不但可以进行包括启用和禁用系统服务、分区和格式化磁盘、修复引导记录等操作,还可以通过复制源光盘的文件来修复丢失系统文件的错误等等。

恢复控制台虽然很实用,但是也是有一些限制:

要使用恢复控制台,必须知道系统管理员的账号和苈耄?

系统控制台里面只能访问以下的文件夹:引导文件夹、系统目录、可移动存储设备。如果访问其它文件夹,系统会提示"Access Denied"(拒绝访问);

在恢复控制台,可以把文件从光、软盘复制到硬盘,或者是硬盘复制到硬盘。但是不能从硬盘复制到软盘。

二. 启动恢复控制台

要进入恢复控制台,首先要用OS光盘启动,在出现"欢迎使用安装程序"的界面,我们可以看到第二项提示是"要使用\'恢复控制台\'修复 Windows XP安装,请按 R"。

在按了R键之后,安装程序会对磁盘进行检查。稍等片刻后,屏幕上会列出已经找到的操作系统及其安装目录,并且会自动编号。系统会询问你要登录到哪一个Windows系统,我们只要输入系统前面的序号,然后回车(千万不要直接按回车!系统会重新启动的!),然后会询问管理员的密码,输入之后按回车,这样我们就进入了修复控制台

三.常用的系统故障恢复命令

1. Bootcfg:用于对启动文件BOOT.INI的配置和恢复(Win 2K没有该命令)
2. Disable 和 Enable:用于禁用/启用系统服务或设备驱动程序
3. Expand:用于从压缩文件中提取文件
4. FixBoot:重新写入新的分区引导区到指定的系统分区
5. FixMBR:修复启动磁盘的主引导记录
6. Help:显示帮助
7. Listsvc:列出该系统上所有的系统服务和设备驱动程序(配合Disable/Enable使用)
8. Set:显示和设置环境变量

四.修复常见系统启动故障

(一) 系统引导区损坏

通常是因为被病毒损坏,或者是使用一些第三方的磁盘工具,造成引导扇区内容被破坏。现象是到OS启动的阶段就停着不动,或提示没有可启动的磁盘。其实用恢复控制台可以很简单地恢复这种错误。进入恢复控制台,输入FIXBOOT,系统会提示是否确定要写入新的启动扇区到目标磁盘分区,按Y然后回车,系统写入成功后,按EXIT重新启动就可以了。

如果还是不行,有可能是主引导记录(MBR,Main Boot Record)损坏了,这时候我们就要用到FixMBR这个命令了,但是这个命令风险比较大,有可能损坏分区信息造成数据丢失,所以不到最后千万不要用!

使用方法跟FIXBOOT一样,进入恢复控制台,输入FixMBR,系统会有警告信息(,确定要执行的话,按Y然后按回车就可以了,然后再恢复控制台的提示符状态按EXIT重新启动。

(二) 系统引导文件损坏或丢失
当系统启动时,提示找不到NTLDR或者NTDETECT.COM时,系统要求重新启动。这种情况多发生在同一分区装多系统,或某些误操作,删除了系统根目录下面的文件。

其实这两个文件都可以在安装光盘的i386目录下找到,直接复制到系统盘根目录就可以了。首先进入恢复控制台,然后输入(假设光盘盘符是D盘):

"COPY D:\\i386\\NTLDR C:\\" 或 "COPY D:\\i386\\NTDETECT.COM C:\\"

(如提示文件存在,覆盖就可以)然后敲EXIT重新启动即可。

(三) 引导配置文件BOOT.INI损坏或丢失

这种情况多发生在安装多系统时顺序不对,或者某些误操作引起的。保存有系统多重启动菜单的BOOT.INI丢失或被破坏之后,启动菜单会消失(虽然如果你只有一个系统的时候,它会以默认目录启动,但是还是会有一个错误提示,。

其实这个错误很简单,我们可以使用恢复控制台的BOOTCFG命令来重建BOOT.INI文件。首先进入恢复控制台,然后在提示符下输入:BOOTCFG /REBUILD,然后系统会自动扫描所有磁盘以寻找可以添加到启动菜单的操作系统。扫描完毕之后,系统会列出能找到的操作系统,然后你可以选择哪一个加载到BOOT.INI(按Y表示"是",按N表示"不",按A表示"全部")。然后在提示"输入加载识别符"时输入这个启动项目的名称,提示"输入OS加载选项"时输入启动参数(通常是FASTDETECT,也可以是其它,如NODETECT等),然后敲回车就回到恢复控制台的提示符,敲EXIT重启,启动菜单就重新出现了。

(四) 系统文件丢失

有时候会碰到这种情况,系统启动的过程中,提示仔 Windows\\System32 下面有某个文件丢失,系统无法启动,要求重新安装这样子。造成这种情况的原因有很多,通常是安装卸载一些软件的时候,被删除或替换了某些重要的系统文件,因而造成系统无法启动,以下是一个例子。

针对这种情况,我们可以使用恢复控制台的EXPAND或COPY命令来进行修复。进入恢复控制台,然后进入光盘下的i386文件夹,首先要确定我们丢失的文件是不是压缩过的。如果没有压缩过,我们直接复制到目标位置就可以了就可以了,例如NTDLL.DLL;如果是压缩的,就要用到EXPAND命令了,例如NTDSBCLI.DL_(只要后缀名最后一个是下划线的就是压缩过的)。

COPY的格式是:COPY(空格)来源文件(空格)目标文件夹
例如:COPY D:\\i386\\NTDLL.DLL C:\\Windows\\System32

EXPAND格式也是:EXPAND(空格)来源文件(空格)目标文件夹
例如:EXPAND D:\\i386\\NTDSBCLI.DL_ C:\\Windows\\System32