不正确关机后引导期间使用 SSD 在 Windows 7 上出现 BSOD

Ben*_*ier 3 windows boot windows-7 bsod ssd

我在 Windows 7 上有一个 BSOD 和 SSD 在不正确关闭后的引导过程中(当 Windows 动画徽标正在移动时)。BSOD后电脑立即重启,windows建议启动启动修复(如果我这样做,需要+-5分钟并解决问题:计算机正常启动)。但是,在任何新的不当关机后,我遇到了同样的问题。评论:

  • 如果我拔下,重新插入 SSD 为什么系统关闭,我有同样的问题。
  • 如果我用旧硬盘重现这种情况,我没有问题
  • 以前,我有一个不同的问题:睡眠后醒来时出现蓝屏,这是通过安装驱动程序(以太网、USB、显卡)解决的
  • 我已经做了 ram chech 和 ssd 检查,没有发现问题
  • 在不当关机后以安全模式启动会导致加载 classpnp.sys 时出现蓝屏

配置:

  • 系统:HP Compaq 8510p
  • SSD:OCZ vertex-2 2.5
  • 启动选项:SATA native mode -> Enable, HDD transalation mode -> LBA-辅助

编辑:BSOD 说:已检测到问题并已关闭 Windows 以防止损坏... ...运行 CHKDSK /F(我做了,没有发现错误)...技术信息:*** STOP:0x0000007B (0XFFFFF880009A9928; 0xFFFFFFFFC0000034, 0x0000000000000000, 0x0000000000000000)

修复后,我有:“找到根本原因:对系统配置的未指定更改可能导致问题”

使用windbg,通过同时打开minidump 和MEMORY.DMP,我得到以下信息:“可能由wininit.exe 引起,后​​续:MachineOwner”

Tam*_*man 6

寻找问题描述。

我有一个蓝屏...

读完四个字,我问自己“什么蓝屏?” 或者最好说“实际问题是什么?”。
那里有有用的信息,如果您只是告诉我们您的 PC 出现问题,那么我们将无法帮助您。

尝试读取错误代码或名称,看看您是否可以从磁盘转储文件...
感兴趣的文件是C:\Windows\MEMORY.DMP在什么C:\Windows\MiniDump

鉴于崩溃发生在 Windows 徽标期间,最有可能访问磁盘,因此将在那里保存转储,并且鉴于 BSOD 仅显示不久,它很可能是 MiniDump,您能否上传最新的,以便我们可以分析它们?

...在任何新的不当关机后,我遇到了同样的问题...

如果是完全相同的问题,则完全相同的解决方案将起作用。

...并提供了更多细节和我尝试的步骤。

所有其他细节都是无关紧要的,因为您不知道问题所在,所以没有必要进行故障排除。


通过使用WinDbg对其进行分析,获取有关小型转储的更多详细信息。

Windows 7 内核版本 7601(Service Pack 1)MP(2
进程)免费 x64构建者:7601.17514.amd64fre.win7sp1_rtm.101119-1850

所以我们有 Windows 7 x64,更新到 SP1 的 RTM 版本。好在它是最新的...

调试会话时间:2011 年 3 月 2 日星期三 03:45:55.660 (UTC + 1:00)

崩溃发生在 3 月 2 日,你确定你没有最近的崩溃吗?
或者那是您最后一次启动系统?

不管怎样,我们来分析一下;如果您不想要 WinDBG,请查看此在线替代方案

1: kd> !analyze -v

*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

CRITICAL_OBJECT_TERMINATION (f4)
A process or thread crucial to system operation has unexpectedly exited or been
terminated.
Several processes and threads are necessary for the operation of the
system; when they are terminated (for any reason), the system can no
longer function.
Arguments:
Arg1: 0000000000000003, Process
Arg2: fffffa80051fa4c0, Terminating object
Arg3: fffffa80051fa7a0, Process image file name
Arg4: fffff80002d8fdb0, Explanatory message (ascii)

Debugging Details:
------------------
PROCESS_OBJECT: fffffa80051fa4c0
IMAGE_NAME:  wininit.exe
DEBUG_FLR_IMAGE_TIMESTAMP:  0
MODULE_NAME: wininit
FAULTING_MODULE: 0000000000000000
PROCESS_NAME:  wininit.exe
EXCEPTION_CODE: (NTSTATUS) 0xc0000006 - The instruction at 0x%p referenced memory at 0x%p. The required data was not placed into memory because of an I/O error status of 0x%x.
BUGCHECK_STR:  0xF4_IOERR
DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT
CURRENT_IRQL:  0
STACK_TEXT:  
fffff880`067700e8 fffff800`02e14982 : 00000000`000000f4 00000000`00000003 fffffa80`051fa4c0 fffffa80`051fa7a0 : nt!KeBugCheckEx
fffff880`067700f0 fffff800`02dc20ab : ffffffff`ffffffff fffffa80`05481b60 fffffa80`051fa4c0 fffffa80`051fa4c0 : nt!PspCatchCriticalBreak+0x92
fffff880`06770130 fffff800`02d45698 : ffffffff`ffffffff 00000000`00000001 fffffa80`051fa4c0 00000000`00000008 : nt! ?? ::NNGAKEGL::`string'+0x17ad6
fffff880`06770180 fffff800`02a8b8d3 : fffffa80`051fa4c0 fffff800`c0000006 fffffa80`05481b60 00000000`02190d10 : nt!NtTerminateProcess+0xf4
fffff880`06770200 fffff800`02a87e70 : fffff800`02ad811f fffff880`06770b78 fffff880`067708d0 fffff880`06770c20 : nt!KiSystemServiceCopyEnd+0x13
fffff880`06770398 fffff800`02ad811f : fffff880`06770b78 fffff880`067708d0 fffff880`06770c20 00000000`ffc4b938 : nt!KiServiceLinkage
fffff880`067703a0 fffff800`02a8bcc2 : fffff880`06770b78 00000000`02210000 fffff880`06770c20 00000000`ffc4f894 : nt! ?? ::FNODOBFM::`string'+0x49974
fffff880`06770a40 fffff800`02a8a83a : 00000000`00000000 00000000`ffc3ec6c 00000000`00000001 00000000`02210000 : nt!KiExceptionDispatch+0xc2
fffff880`06770c20 00000000`76fa8f55 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiPageFault+0x23a
00000000`021912d0 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x76fa8f55

STACK_COMMAND:  kb
FOLLOWUP_NAME:  MachineOwner
FAILURE_BUCKET_ID:  X64_0xF4_IOERR_IMAGE_wininit.exe
BUCKET_ID:  X64_0xF4_IOERR_IMAGE_wininit.exe
Followup: MachineOwner
---------
Run Code Online (Sandbox Code Playgroud)

阅读分析

  1. 错误检查 0xF4:CRITICAL_OBJECT_TERMINATION在系统进程或线程因任何原因终止时发生,系统无法再运行。

  2. Bug Check 的参数 1 是 0x3,表示进程已终止。

  3. 参数 2 指向终止的进程,调试细节显示这是 wininet.exe
  4. 参数 3 指向终止进程结构中的名称,如步骤 3 所示。
  5. 参数 4 指出了该进程终止的原因,即:

    (NTSTATUS) 0xc0000006 - The instruction at 0x%p referenced memory at 0x%p.
    The required data was not placed into memory because of an I/O error status of 0x%x.
    
    Run Code Online (Sandbox Code Playgroud)
  6. 其余的细节没有透露任何特定的驱动程序模块,而只是显示内核内部的位置,因为它们以nt!. 虽然它确实揭示了驱动程序故障,但这很可能是驱动程序允许您的数据从硬件传递到软件。这个微软驱动保证稳定,所以不是驱动问题,更可能是硬件问题。

结论

在第 5 步中,我们发现正在内存中的特定位置读取数据(因为我们使用小型转储,该位置不可用)但该数据已被分页到磁盘,因此它执行 I/O 操作以获取该数据从磁盘。

在第 6 步中,我们发现它更有可能是硬件问题,因为您断电了,很可能是您的 SSD 已损坏或 SSD 缓存中的数据已损坏。我认为唯一的解决方案是重新安装系统,禁用磁盘缓存并进行定期备份。

在不重新安装的情况下,您无法修复该损坏,如果它确实因制造错误而损坏或出现故障,您将不得不寻求保修,或者在最坏的情况下,购买新的。