win系统文件测试(觉得有意思,转过来)

我们经常遇到电脑启动时蓝屏或反复重启及停止在某个位置不动的情况。但却从未见过有介绍解决方法的,出现蓝屏时的代码也让我们一头雾水,我最近就遇到一个反复重启的情况,当电脑启动后,系统进度条刚结束时出现“我们对给你造成的不便非常抱歉,但windows没有成功启动可能是由于最近的硬件或软件更改造成的,”后面是提示进入安全模式或选择最后一次正确配置等选项,但开始能进入安全模式,后来连安全模式也进不了了,并且自动反复重新启动。上网找解决办法,发现遇到这种情况的人还挺多的,但都没有解决问题,有的人提出问题后,回答的人东拼西凑的还答非所问。我以前遇到这种情况都是选择重装系统,但我又不想为这点病重做系统,那样还要导出人家的原文件,并且重做系统还不一定符合机主的使用习惯,所以,就决定自己找出解决方案来,本文所说的换入相同文件,是指同类同名文件,并不是指只有原文件。
       我采取的是删除和启动有关的文件再重启机器的方法,看到底能出现什么情形。

       首先,我上网查了一下Windows启动相关文件的种类,然后结合自己的经验逐一删除再重启看出现何种结果的办法。

       1、删除C:\boot.ini文件后重启。出现的现象是:启动后提示:文件Boot非法,正从Windows启动,然后进入系统;

       2、删除C:\ntldr后重启,出现:Ntldr in missmssing Press CTRL+ALT+DEL to restart,换入相同文件,开机正常;

       3、删除C:\NTDETCT.COM,系统没有任何提示,反复重启,换入相同文件,开机正常;

        4、删除C:\Comand.com,系统正常启动,无任何影响;

       5、删除C:\Windows\system\ntoskrnl.exe,系统正常启动,但发现重启后原文件中仍存在这个文件,删除后仍重建,在PE状态下删除后重启并不影响进入系统;

      6、删除C:\windows\system32\hal.dll后,重启电脑,结果出现这样的提示:因以下文件损坏或者丢失,Windows无法启动:<Windows root >system32\hal.dll,请重新安装以上文件的拷贝。将从另外的电脑上拷贝的132k同名的文件粘贴到原文件夹里后,重启机器,没出现进度条,直接出现的提示是:“我们对给你造成的不便非常抱歉,但windows没有成功启动可能是由于最近的硬件或软件更改造成的”,并反复重启,换上原删除文件后,启动正常。我想,如果某一机器并未备份,我们是无法用原文件去替换的,那是不是只有重装系统呢,我想不应该这样,于是,我从Ghost系统安装盘中提取一个102K的同名文件粘贴到原文件夹中,重新开机,出现的结果是进入系统后,一切硬件驱动全部重新安装,我用好几种系统盘的同名文件予以替换,结果都可以正常启动,但却并未出现重装驱动的情况。而用同样的方法到配置高的机器上替换hal.dll文件,结果却都能正常启动。所以,到底什么原因还待进一步了解。是不是配置高的机型对Hal.dll的接受程度高还不得而知。

      7、删除C:\windows\system32\smss.exe,直接删除这个程序是不可能的,需结束smss.exe进程,然后删除,重启后,XP系统在进入系统的进度条结束后蓝屏,代码为:0x0000006F;换入相同文件,开机正常;

      8、删除C:\windows\system32\bootvid.dll,正常启动;

      9、删除C:\windows\system32\csrss\,因此文件被进程占用,在结束进程后,电脑直接蓝屏,在PE状态下删除,再重启时,启动进度条结束后出现简单的提示:Stop:coooo21a unknown hard error unknown hard error;换入相同文件,开机正常;

      10、删除C:\windows\system32\winlogon.exe,结束进程后直接蓝屏,删除后重启,当进度条结果后出现的结果和9相同;用其它机器上的与试验机不同的系统的同名同类型文件替换,结果在系统进入到用户切换界面时,出现提示如下:一个问题阻止Windows正确检查此机器的许可证,错误代码:0X80070002;换成原文件后,正常起动。

      11、删除C:\windows\system32\win32k.sys,开机出现的结果同9;换入任何相同文件,开机正常;

       12、删除C:\windows\system32\lsass,如果结束lsass进程,则出现30秒关机提示画面,删除重启后,当开机进度条打结束时,出现鼠标箭头,无限期静止,无任何进展,换入任何版本里的相同文件,开机正常;

       13、删除C:\windows\system32\kernel32后重启,开机进度条结束后,立即蓝屏,显示:STOP:c0000135,unknown hdrd error     unknown hard error;换入相同文件,开机正常;

        14、删除C:\windows\system32\msgina.dll后开机重启,开机进度结束后,显示:用户界面失败,无法加载登录用户界面dllmsgina.dll。请与系统管理员联系,以替换dll文件或还原dll,重新启动。如果想从安全模式启动,出现重新启动的提示。经用别的机器中的相同文件替换后重新启动,出现的结果是:重装驱动,声卡驱动和摄像头驱动无法安装,并且杀毒软件监控失效,输入法也缺少几种输入法;

        15、删除C:\windows\system32\ntkrnlmp.exe后,启动正常;

        16、删除C:\windows\system32\ntkrnlpa.exe后,启动正常;

         17、删除C:\windows\system32\ntoskrnl.exe后重启,出现提示为:因以下文件的损坏或者丢失,windows无法启动:<windows root>\system32\ntoskrnl.exe,请重新安装以上文件的拷贝;

          18、删除C:\windows\system32\rundll32后,启动正常,但网上邻居中的本地连接却不见了,所以,这个文件应该是本地连接的相关文件;

         19、删除C:\windows\system32\services.exe后重启,进度条结束后,鼠标箭头静止;同删除同目录下的services.msc则正常启动;

         20、删除C:\windows\system32\svchost后重启,在出现欢迎使用处等待的时间稍长,进入系统后,桌面图标加载的时间也较长;

         21、删除C:\windows\system32\userinit.exe后重启,系统在进入桌面后迅速返回到注销界面,单击用户名,刚能看见桌面背景即迅速返回到消销界面;

        22、删除C:\windows\system32\logonui.exe后,无欢迎使用界面出现,出现用户名密码对话框后需用鼠标单击后才能进入系统,并且关机界面也出现变化;

         由于删除有些文件时,并未影响启动,所以,对系统的正常运行并不知道能造成什么影响。我又做了如下试验,既然和启动相关的文件大部分者在C;\windows\system32中,那么,是不是将system32中的dllcache中的备份重新粘贴到system32文件夹中,电脑启动就会正常呢?于是,我又删除了影响启动的几个文件,以使机器不能正常启动,然后将dllcache中文件全部粘贴到system32文件夹中,重启机器,天哪,竟然出现了Stop:coooo21a unknown hard error unknown hard error蓝屏提示,且替换csrss文件后仍不能正常启动,我想,影响启动的文件可能还不止这些呢,但暂时我找不出是哪一个了。只有从原备份中恢复系统或用简单方法替换了。所以,我将原系统备份中的system32文件夹将现system32替换,重启后,一切正常,连声卡和摄像头驱动及杀毒软件都正常了。

     结论我想应该是这样的:当出现启动故障时,应尽量用system32中的同名文件替换现系统中的文件,如果实在不行,就用安装盘的文件替换,这样基本可以解决问题。但有几个文件必须用故障机中的同名文件替换。而用dllcache中的同名文件替换为什么还出现蓝屏呢?我想,这应该是有些文件使用时间与备份文件时间不同造成的。因为备份文件是刚装机时备份的,而现文件经过长时间使用,内容有所变化,从hal.dll大小不一样就可看出

你可能感兴趣的:(C++,c,windows,软件测试,C#)