第2章 修复因误杀而瘫痪的系统
讲述内容:通过串口连接进行Windows内核调试,定位错误,最终修复一个无法进入桌面的系统。
关键点: F8 “在Windows启动早期,按F8键调出高级启动选项,然后选择调试模式启动。” 不知道为什么在我的Win7下按F8键无法呼出启动选项。
BugCheck C000021A , { e1c52ce0, c0000034, 0, 0 } Bug Check机制会触发系统蓝屏崩溃,让系统中断到内核调试器中。上面显示的中断时调试器显示的部分信息。 C000021A 停止码(stop code),在WinDBG的帮助文件中,有专门一篇文章介绍C0000021A的文章《Bug Check 0xC000021A: STATUS_SYSTEM_PROCESS_TERMINATED》
{ e1c52ce0, c0000034, 0, 0 } 参数,第一个是描述问题的字符串地址,可以使用db或者da命令察看。第二个是错误码(error code),参数三,四保留。
!error c0000034 显示错误码的具体含义。
对这个命令进行实际试验,结果显示是“<Unable to get error code text>”。又使用了多个错误码进行测试,大部分都是“<Unable to get error code text>”,有一两个显示一些断续的单词。
例如: 0:012> !error 64d Error code: (Win32) 0x64d (1613) - Windows Installer Windows Installer Windows Service Pack
而MSDN中对于1613的描述是: ERROR_INSTALL_PACKAGE_VERSION installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service.
|