【原创】【案例分析】:濒临重装计算机的成功修复

【计算机所属】:我的办公室

【计算机症状】:
一、IE窗口下,帮助--关于Intenet explorer--在出现的对话框中,IE的版本、密匙长度、产品ID、更新版本均为空,并且引起如下附带症状:
以下操作,均显示“MMC要求IE5.5以上版本”,点“确定”后自动关闭对话框;
(1)右键“我的电脑”--单击“管理”时;
(2)进行任一驱动器的磁盘碎片整理时;
(3)进入组策略对话框时;
(4)IE的其它多种情况。
二、搜索功能为空白,无法使用。
三、无法打开用户帐户。
四、无法安装ADOBE FLASH PLAYER 9,网页图片处一片空白或红X。
五、WINDOWS MEDIA PLAYER 10无法正常运行,显示不能正常工作。
六、无法登录卡卡论坛,输入ID及SN后,点“登录”后无法跳转,跟没点一样;其他一些论坛也出现类似不能登录的症状。
七、运行DXDIAG后,“声音”选项卡下的列表显示所有项目都有错误,无法播放声音,声卡形同虚设。
八、其他多种系统故障、

【故障起因】本来症状一、二就存在,为解决问题,在开着网页的情况下,开始--运行--输入for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1--回车,在系统自动注册%system32%下的DLL时,多次出现内存不能为READ、WRITTEN的提示,最终死机。强行重启后,IE彻底挂了(出现了其它所有症状)。后来发现:那个运行命令应该在命令提示符窗口下操作,晕死……

【曾经进行过的修复操作】
一、将[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer]下<VERSION>值项的数值数据由“4.0.0000”修改为“6.0.2900.2180”,刷新后,症状一解决,其它依然如故。
二、重装和升级IE,但安装过程中提示“安装无法完成”,失败。
三、杀毒及清理流氓软件,用杀软和安全软件杀了一些木马和流氓软件,不过以上故障没有排除,失败。
四、修复IE,依次注册actxprxy.dll、shdocvw.dll、mshtml.dll、msjava.dll、urlmon.dll、oleaut32.dll、browseui.dll、shell32.dll、jscript.dll、vbscript.dll、nusrmgr.cpl等控件后,发现注册jscript.dll、vbscript.dll时出现“jscript.dll/vbscript.dll中的dllregisterserver失败,返回代码是0X80004005”,在注册msjava.dll时,提示“找不到指定的模块”,失败。
五、将以前备份的注册表导入,显示“无法完成对注册表的更改”,失败。

【不能进行的修复操作】
重装系统。原因是机器很老(2001年的),主板驱动光盘没有,网卡生产厂商已倒闭,昏迷……

【解决问题的最终办法】参考了http://eera.bokee.com/viewdiary.15980707.html#这篇文章,进行了如下操作:
一.下载并安装SubInACL
下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=en
二.在C:\Program Files\Windows Resource Kits\Tools文件夹下创建一个名为reset.cmd的文件。
三.编辑reset.cmd文件,将下面的内容复制过去:
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=system=f
四.运行reset.cmd,等待完成。
五、到同版本的机的c:\windows\system32目录下,拷贝了一个msjava.dll到自家的机上;
六、开始--运行,依次用regsvr32注册actxprxy.dll、shdocvw.dll、mshtml.dll、msjava.dll、urlmon.dll、oleaut32.dll、browseui.dll、shell32.dll、jscript.dll、vbscript.dll、nusrmgr.cpl等控件,均显示成功注册;
七、登录卡卡论坛,下载安装ADOBE FLASH PLAYER 9插件,网页恢复正常;
八、进入用户帐户,发现恢复正常。
九、运行DXDIAG,发现声音标签下的所有项目恢复正常。
十、经过反复检查,发现系统及IE故障成功修复。

【故障原因分析】应该是错误执行“开始--运行--输入for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1--回车”这个步骤造成注册表相关项目损坏及系统DLL损坏造成的,进而引发系统出现各种关联症状。

【总结】微软其实提供了很多工具,不过很多我们都不熟悉,本次故障排除的核心要素是微软的SubInACL这个软件起了作用。如果您的计算机出现了和我一样的症状或类似症状,不妨试试。
感触:学习不够,知识贫乏。

[用户系统信息]Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 1.7)
最后编辑2008-03-04 13:10:17.437000000