论文部分内容阅读
本文可以学到
1 Windows XP无法启动的原因分析
2 完整、有序的XP启动故障解决方法
3 一些实用小技巧
本文相关小知识
★快速禁止自启动程序运行
有些系统启动故障,可能是由于第三方自启动程序造成的,可通过以下小技巧快速禁止它们自启动:在欢迎界面单击用户名并输入密码登录,然后立即按下Shift键不放直到系统启动成功。进入系统后,再运行msconfig命令,取消一些自启动项目以修复故障。
★检查BIOS启动项设置
有些人在BIOS中设置为光盘或可移动磁盘优先启动,当拿走光盘或可移动磁盘时就会引发“Non-system disk or disk error”(非系统盘或磁盘错误)的提示。在BIOS里重新将硬盘设置为第一启动就可以了。
Windows启动故障的讨厌之处在于,你昨天(或上一次)还用得好好的,等再开机时它却毫无征兆地罢工了,如果你正好有紧急的任务要处理,必然会让你心急如焚、方寸大乱。别着急,请稳住心神,今天我们就请有关专家教你如何轻松应对启动故障。
【实际案例】
佳佳(嘉宾):
记得有一回我正在赶写一部关于Photoshop应用的书稿,有一天开机准备工作,谁知道XP进入欢迎界面后,输入正确的密码登录,系统又自动返回欢迎界面,反反复复都是如此。折腾半天也没搞定,最后一赌气用Ghost还原系统。等还原成功我才想起:为了图省事我把书稿复制到了桌面上,而桌面的位置正处于C分区中,也就是说Ghost还原之后,我辛辛苦苦修改的稿件也被覆盖掉了,真是欲哭无泪啊。
小龙(嘉宾):
你说的那个故障现象,CFan有过介绍,可以试试将注册表键[HKLM\lxf\Microsoft\WindowsNT\CurrentVersion\Winlogon]中的Userinit的值改成“C:\Windows\system32\userinit.exe,”,一般能解决这个问题。
柳絮飞(主持人):
从佳佳的遭遇至少可得出几点教训:1.重要的数据文档最好别保存在系统分区中(一般为C分区);2.系统出现故障后,首先要想办法将重要的数据备份出来,然后再进行后续操作;3.系统故障有可能只是某个小问题引起的,不一定非要重装系统。
那么,当你的Windows在刚刚起跑时就“跌倒”了,这时你该怎么办?本期嘉宾李伟(化名)是某Windows技术网站的技术主管,今天就请他为我们答疑解惑。
【专家分析】
柳絮飞:
首先请李伟给我们分析一下,XP的启动故障主要由哪些原因引起。
李伟(专家):
导致Windows XP无法正常启动,一般有三大原因:
1.硬件损坏,如硬盘有坏道,而关键的系统文件正好处于坏道中,另外内存故障导致XP无法启动的现象也很常见。
(柳絮飞插话:有关硬件故障的诊断与解决,大家可以参考上一期的“你该怎么办?”栏目)
2.注册表中的一些关键项设置错误(或被病毒修改)。比如前面案例中,就有可能是注册表中Userinit项的值被错误设置,导致系统初始化时无法找到正确的初始化程序(userinit.exe),引起反复注销的怪事。
3.系统文件丢失或被破坏。并不是所有的系统文件损坏都会引起XP启动故障,主要的是那些在启动过程中被调用到的文件损坏会引起故障。我们再来回顾一下Windows XP的大致启动过程:
BIOS自检顺利完成→BIOS读取MBR中的分区表信息和启动代码(位于启动硬盘第1扇区中)→MBR启动NTLDR初始化能支持XP的最小系统环境(文件为:C:\ntldr)→NTLDR读取启动选项文件(文件为:C:\boot.ini)→在启动选项中选择启动XP操作系统→NTLDR调用NTDETECT(文件为:C:\NTDETECT.COM)收集当前系统硬件信息并写入注册表→读取硬件配置文件或使用默认配置直接跳过→将核心层和硬件抽象层装入内存(C:\WINDOWS\system32\ntoskrnl.exe和hal.dll)→启动其他服务和驱动程序→加载会话管理器及启动Winlogon(C:\WINDOWS\system32\smss.exe和winlogon.exe)显示登录界面→登录并使用。
上面,我标出了各阶段关键性的文件,当它们出现问题时就会出现严重的系统故障。当然除此之外还有其他的系统文件会引发故障,下面我们再慢慢聊。
【嘉宾提问】
小龙:
网上可以搜出一大堆Windows启动故障修复的文章,但它们大多是技巧的简单堆砌,李老师能否帮我们理顺一下思路呢?
李伟:
修复XP启动故障也可以归结为两句话:“先基础后深入,先简单后复杂。”比如通过“最后一次正确的配置”就能解决的事,就不要用重装系统来解决,后者的破坏性较大,得不偿失。下面介绍一下我个人常用的操作步骤,不一定合理,而且有时还要视实际情况做出改变,与大家共同探讨。
抢救硬盘数据才是王道
硬件的价值是可以估算的,但是数据无价,所以修复系统之前,先想办法把重要数据备份出来才是关键。
第一步:重启电脑,按F8键进入高级启动菜单,选择安全模式,如能正常进入系统,抓紧时间将重要数据备份到较保险的分区或其他磁盘中(如移动硬盘)。如果安全模式也无法进入,可使用可启动工具光盘启动电脑,或者如果安装的是双系统,就使用可正常使用的那个系统启动,然后备份。
最后一次正确的配置和系统还原
如果系统还能启动到高级选项菜单中,可试试XP自带的修复功能。
第二步:重启并按F8键进入高级选项菜单,选择“最后一次正确的配置”,按回车键启动即可。
第三步:如果上一步没能解决问题,可再次重启进入高级选项菜单,选择“带命令行提示的安全模式”启动,然后在命令行中输入以下命令:
%systemroot%\system32\restore\rstrui.exe
按回车键执行后可调出系统还原程序,按向导提示选择一个适当的还原点进行恢复试试。
使用故障恢复控制台
Windows XP的安装光盘本身就附带了一个强大的故障修复工具——故障恢复控制台。使用XP安装光盘启动系统,出现欢迎使用安装程序画面时,按R键即可进入故障恢复控制台(见图),通过数字键选择要登录的系统,一般按1键(选择C分区的系统)再按回车键确定,最后输入登录密码登录即可。
第四步:先来检测并修复一下磁盘坏道。在命令提示符后输入“chkdsk /r /p”(不含引号,下同)再按回车键确认。
第五步:在前面所列的XP启动流程中,可以看到调用了许多重要的系统文件,如果是因为它们的损坏而导致系统故障,也可以在故障恢复控制台中修复。假如故障信息类似下面的提示:
No Boot Sector on Fixed Disk(固定硬盘上没找到启动扇区)
No Boot Device Available(没有可用的启动设备)
极有可能是MBR数据损坏所致,这时可执行“fixmbr \device\harddisk0\partition0”命令进行修复。“fixmbr”是命令,后面的参数指出要修复的启动分区名称,“harddisk0”表示第1块硬盘(从0开始计数),“partition0”表示第1个分区。如果省略了参数,直接使用“fixmbr”命令,将修复当前启动分区的MBR数据。
第六步:如果出错信息显示为“NTLDR is missing.”(没有找到NTLDR),则表示NTLDR文件丢失或损坏了,可直接从安装光盘上复制这个文件。假设安装光盘在D盘,则执行下面的命令即可:
attrib -r c:\ntldr
attrib -s c:\ntldr
attrib -h c:\ntldr
copy d:\i386\ntldr c:
前几个命令是去除原ntldr文件的隐藏、系统、只读属性,最后一个是复制文件命令,将会询问是否覆盖,按Y确认就可以了。
第七步:如果系统无法启动,错误提示为“Invalid boot.ini,Press any key to restart”(boot.ini无效,按任意键继续),则可能是boot.ini文件丢失或损坏。同上,可先通过attrib命令去掉boot.ini文件的只读(r)、隐藏(s)、系统(h)属性,然后再执行下面的命令对它进行重建:
del c:\boot.ini
bootcfg /rebuild
最后一行的命令将自动检测电脑中已安装的系统,搜索出来之后,你检查一下是不是自己需要的,如果是,就按Y键确认即可。
最后的绝杀
如果用尽了所有方法还是不能解决问题,那只有恢复系统备份镜像或重装了。XP下快速系统备份和还原的工具推荐使用Ghost,它可以在五分钟之内还你一个完好如新的系统。不过要注意,这也是万不得已下才会使用的方法,因为它会抹去被恢复分区上的所有数据。
网络大补贴
★XP启动故障的官方攻略
微软官方网站上提供的,关于Windows XP不能启动后的解决方案,附有图解,比较详细。
网址:http://www.microsoft.com/windowsxp/using/setup/support/nostart.mspx
★当Windows XP不能启动时可以做的十件事
非常经典的一篇Windows XP启动故障解决文章,本文就从中吸收了不少内容,这篇是英文,朋友们可以看看。
网址:http://articles.techrepublic.com.com/5100-10877_11-6031733.html?tag=nl.e138
火速链接:
★还记得第13期《“误杀门”事件》么?诺顿误杀了XP的两个系统文件导致系统故障,有些人因此而造成了很大的经济损失。实际上只需要在故障恢复控制台中,通过expand命令从安装光盘上提取这两个文件覆盖一下就可以解决了。具体方法请参考那篇文章,可以解决不少类似的故障。
★注册表也属于系统文件,如果它们损坏或丢失(非人为设置性错误),可通过安装时备份的原始注册表文件覆盖已损坏的注册表文件达到修复故障的目的。具体方法参见本刊12.5期增刊《1条命令解决Windows XP故障》一文。
1 Windows XP无法启动的原因分析
2 完整、有序的XP启动故障解决方法
3 一些实用小技巧
本文相关小知识
★快速禁止自启动程序运行
有些系统启动故障,可能是由于第三方自启动程序造成的,可通过以下小技巧快速禁止它们自启动:在欢迎界面单击用户名并输入密码登录,然后立即按下Shift键不放直到系统启动成功。进入系统后,再运行msconfig命令,取消一些自启动项目以修复故障。
★检查BIOS启动项设置
有些人在BIOS中设置为光盘或可移动磁盘优先启动,当拿走光盘或可移动磁盘时就会引发“Non-system disk or disk error”(非系统盘或磁盘错误)的提示。在BIOS里重新将硬盘设置为第一启动就可以了。
Windows启动故障的讨厌之处在于,你昨天(或上一次)还用得好好的,等再开机时它却毫无征兆地罢工了,如果你正好有紧急的任务要处理,必然会让你心急如焚、方寸大乱。别着急,请稳住心神,今天我们就请有关专家教你如何轻松应对启动故障。
【实际案例】
佳佳(嘉宾):
记得有一回我正在赶写一部关于Photoshop应用的书稿,有一天开机准备工作,谁知道XP进入欢迎界面后,输入正确的密码登录,系统又自动返回欢迎界面,反反复复都是如此。折腾半天也没搞定,最后一赌气用Ghost还原系统。等还原成功我才想起:为了图省事我把书稿复制到了桌面上,而桌面的位置正处于C分区中,也就是说Ghost还原之后,我辛辛苦苦修改的稿件也被覆盖掉了,真是欲哭无泪啊。
小龙(嘉宾):
你说的那个故障现象,CFan有过介绍,可以试试将注册表键[HKLM\lxf\Microsoft\WindowsNT\CurrentVersion\Winlogon]中的Userinit的值改成“C:\Windows\system32\userinit.exe,”,一般能解决这个问题。
柳絮飞(主持人):
从佳佳的遭遇至少可得出几点教训:1.重要的数据文档最好别保存在系统分区中(一般为C分区);2.系统出现故障后,首先要想办法将重要的数据备份出来,然后再进行后续操作;3.系统故障有可能只是某个小问题引起的,不一定非要重装系统。
那么,当你的Windows在刚刚起跑时就“跌倒”了,这时你该怎么办?本期嘉宾李伟(化名)是某Windows技术网站的技术主管,今天就请他为我们答疑解惑。
【专家分析】
柳絮飞:
首先请李伟给我们分析一下,XP的启动故障主要由哪些原因引起。
李伟(专家):
导致Windows XP无法正常启动,一般有三大原因:
1.硬件损坏,如硬盘有坏道,而关键的系统文件正好处于坏道中,另外内存故障导致XP无法启动的现象也很常见。
(柳絮飞插话:有关硬件故障的诊断与解决,大家可以参考上一期的“你该怎么办?”栏目)
2.注册表中的一些关键项设置错误(或被病毒修改)。比如前面案例中,就有可能是注册表中Userinit项的值被错误设置,导致系统初始化时无法找到正确的初始化程序(userinit.exe),引起反复注销的怪事。
3.系统文件丢失或被破坏。并不是所有的系统文件损坏都会引起XP启动故障,主要的是那些在启动过程中被调用到的文件损坏会引起故障。我们再来回顾一下Windows XP的大致启动过程:
BIOS自检顺利完成→BIOS读取MBR中的分区表信息和启动代码(位于启动硬盘第1扇区中)→MBR启动NTLDR初始化能支持XP的最小系统环境(文件为:C:\ntldr)→NTLDR读取启动选项文件(文件为:C:\boot.ini)→在启动选项中选择启动XP操作系统→NTLDR调用NTDETECT(文件为:C:\NTDETECT.COM)收集当前系统硬件信息并写入注册表→读取硬件配置文件或使用默认配置直接跳过→将核心层和硬件抽象层装入内存(C:\WINDOWS\system32\ntoskrnl.exe和hal.dll)→启动其他服务和驱动程序→加载会话管理器及启动Winlogon(C:\WINDOWS\system32\smss.exe和winlogon.exe)显示登录界面→登录并使用。
上面,我标出了各阶段关键性的文件,当它们出现问题时就会出现严重的系统故障。当然除此之外还有其他的系统文件会引发故障,下面我们再慢慢聊。
【嘉宾提问】
小龙:
网上可以搜出一大堆Windows启动故障修复的文章,但它们大多是技巧的简单堆砌,李老师能否帮我们理顺一下思路呢?
李伟:
修复XP启动故障也可以归结为两句话:“先基础后深入,先简单后复杂。”比如通过“最后一次正确的配置”就能解决的事,就不要用重装系统来解决,后者的破坏性较大,得不偿失。下面介绍一下我个人常用的操作步骤,不一定合理,而且有时还要视实际情况做出改变,与大家共同探讨。
抢救硬盘数据才是王道
硬件的价值是可以估算的,但是数据无价,所以修复系统之前,先想办法把重要数据备份出来才是关键。
第一步:重启电脑,按F8键进入高级启动菜单,选择安全模式,如能正常进入系统,抓紧时间将重要数据备份到较保险的分区或其他磁盘中(如移动硬盘)。如果安全模式也无法进入,可使用可启动工具光盘启动电脑,或者如果安装的是双系统,就使用可正常使用的那个系统启动,然后备份。
最后一次正确的配置和系统还原
如果系统还能启动到高级选项菜单中,可试试XP自带的修复功能。
第二步:重启并按F8键进入高级选项菜单,选择“最后一次正确的配置”,按回车键启动即可。
第三步:如果上一步没能解决问题,可再次重启进入高级选项菜单,选择“带命令行提示的安全模式”启动,然后在命令行中输入以下命令:
%systemroot%\system32\restore\rstrui.exe
按回车键执行后可调出系统还原程序,按向导提示选择一个适当的还原点进行恢复试试。
使用故障恢复控制台
Windows XP的安装光盘本身就附带了一个强大的故障修复工具——故障恢复控制台。使用XP安装光盘启动系统,出现欢迎使用安装程序画面时,按R键即可进入故障恢复控制台(见图),通过数字键选择要登录的系统,一般按1键(选择C分区的系统)再按回车键确定,最后输入登录密码登录即可。
第四步:先来检测并修复一下磁盘坏道。在命令提示符后输入“chkdsk /r /p”(不含引号,下同)再按回车键确认。
第五步:在前面所列的XP启动流程中,可以看到调用了许多重要的系统文件,如果是因为它们的损坏而导致系统故障,也可以在故障恢复控制台中修复。假如故障信息类似下面的提示:
No Boot Sector on Fixed Disk(固定硬盘上没找到启动扇区)
No Boot Device Available(没有可用的启动设备)
极有可能是MBR数据损坏所致,这时可执行“fixmbr \device\harddisk0\partition0”命令进行修复。“fixmbr”是命令,后面的参数指出要修复的启动分区名称,“harddisk0”表示第1块硬盘(从0开始计数),“partition0”表示第1个分区。如果省略了参数,直接使用“fixmbr”命令,将修复当前启动分区的MBR数据。
第六步:如果出错信息显示为“NTLDR is missing.”(没有找到NTLDR),则表示NTLDR文件丢失或损坏了,可直接从安装光盘上复制这个文件。假设安装光盘在D盘,则执行下面的命令即可:
attrib -r c:\ntldr
attrib -s c:\ntldr
attrib -h c:\ntldr
copy d:\i386\ntldr c:
前几个命令是去除原ntldr文件的隐藏、系统、只读属性,最后一个是复制文件命令,将会询问是否覆盖,按Y确认就可以了。
第七步:如果系统无法启动,错误提示为“Invalid boot.ini,Press any key to restart”(boot.ini无效,按任意键继续),则可能是boot.ini文件丢失或损坏。同上,可先通过attrib命令去掉boot.ini文件的只读(r)、隐藏(s)、系统(h)属性,然后再执行下面的命令对它进行重建:
del c:\boot.ini
bootcfg /rebuild
最后一行的命令将自动检测电脑中已安装的系统,搜索出来之后,你检查一下是不是自己需要的,如果是,就按Y键确认即可。
最后的绝杀
如果用尽了所有方法还是不能解决问题,那只有恢复系统备份镜像或重装了。XP下快速系统备份和还原的工具推荐使用Ghost,它可以在五分钟之内还你一个完好如新的系统。不过要注意,这也是万不得已下才会使用的方法,因为它会抹去被恢复分区上的所有数据。
网络大补贴
★XP启动故障的官方攻略
微软官方网站上提供的,关于Windows XP不能启动后的解决方案,附有图解,比较详细。
网址:http://www.microsoft.com/windowsxp/using/setup/support/nostart.mspx
★当Windows XP不能启动时可以做的十件事
非常经典的一篇Windows XP启动故障解决文章,本文就从中吸收了不少内容,这篇是英文,朋友们可以看看。
网址:http://articles.techrepublic.com.com/5100-10877_11-6031733.html?tag=nl.e138
火速链接:
★还记得第13期《“误杀门”事件》么?诺顿误杀了XP的两个系统文件导致系统故障,有些人因此而造成了很大的经济损失。实际上只需要在故障恢复控制台中,通过expand命令从安装光盘上提取这两个文件覆盖一下就可以解决了。具体方法请参考那篇文章,可以解决不少类似的故障。
★注册表也属于系统文件,如果它们损坏或丢失(非人为设置性错误),可通过安装时备份的原始注册表文件覆盖已损坏的注册表文件达到修复故障的目的。具体方法参见本刊12.5期增刊《1条命令解决Windows XP故障》一文。