《格蠹汇编》-第2章笔记
《格蠹汇编》
《格蠹汇编》-第2章笔记
烈火
2013-05-25, 17:35 下午
第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.