我新买的电脑装有 Windows 8 Pro,偶尔会显示带有悲伤笑容的 BSOD,但仅限于冷启动时。
CPU:i7-3770
MB:华硕 P8B75-M BIOS v.1002
内存:32GB (4x8Gb) Geil
系统加载后,它看起来很稳定,即使在高负载下也不会出现故障。我只在冷启动期间观察到 BSOD(重启后没有),并且所有 BSOD 都有不同的错误代码。
有任何想法吗?
答案1
Windows 8 上的“冷”启动可能意味着混合启动 - 重新启动是老式的“正确”启动。此类间歇性错误可能很难复制,但您可能想尝试创建一个运行以执行shutdown /full
正确冷启动的批处理文件。
如果有帮助,请尝试在电源设置中完全关闭快速启动 - 这可能需要提升 UAC 权限
答案2
您应该运行 chkdsk /F 和 memtest86+ 来测试您的 HDD 和 RAM,因为您遇到 NTFS 和内存相关的崩溃:
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
BAD_POOL_CALLER (c2)
The current thread is making a bad pool request. Typically this is at a bad IRQL level or double freeing the same allocation, etc.
Arguments:
Arg1: 0000000000000007, Attempt to free pool which was already freed
Arg2: 00000000000011c1, (reserved)
Arg3: 0000000000000000, Memory contents of the pool block
Arg4: fffff8a0042bf140, Address of the block of pool being deallocated
Debugging Details:
------------------
nt!KeBugCheckEx
nt!ExFreePool
Ntfs!ExFreeToNPagedLookasideList
Ntfs!NtfsDeleteScb
Ntfs!NtfsRemoveScb
Ntfs!NtfsPrepareFcbForRemoval
Ntfs!NtfsTeardownStructures
Ntfs!NtfsDecrementCloseCounts
Ntfs!NtfsCommonClose
Ntfs!NtfsFspClose
nt!ExpWorkerThread
nt!PspSystemThreadStartup
nt!KiStartSystemThread
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
BAD_POOL_CALLER (c2)
The current thread is making a bad pool request. Typically this is at a bad IRQL level or double freeing the same allocation, etc.
Arguments:
Arg1: 000000000000000d, type of pool violation the caller is guilty of.
Arg2: fffff8a004a64010
Arg3: 0000000074536d4d
Arg4: 75fd8076fbe84b3b
Debugging Details:
------------------
FAULTING_IP:
nt!MiDeleteEmptySubsections+111
fffff800`2923d821 488d3558272900 lea rsi,[nt!MmDeleteSubsectionList (fffff800`294cff80)]
STACK_TEXT:
nt!KeBugCheckEx
nt!ExFreePool
nt!MiDeleteEmptySubsections
nt!MiDereferenceSegmentThread
nt!PspSystemThreadStartup
nt!KiStartSystemThread
SYMBOL_NAME: nt!MiDeleteEmptySubsections+111
IMAGE_NAME: memory_corruption
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
KERNEL_SECURITY_CHECK_FAILURE (139)
A kernel component has corrupted a critical data structure. The corruption
could potentially allow a malicious user to gain control of this machine.
Arguments:
Arg1: 0000000000000003, A LIST_ENTRY has been corrupted (i.e. double remove).
Arg2: fffff88016ffe460, Address of the trap frame for the exception that caused the bugcheck
Arg3: fffff88016ffe3b8, Address of the exception record for the exception that caused the bugcheck
Arg4: 0000000000000000, Reserved
Debugging Details:
------------------
nt!KeBugCheckEx
nt!KiBugCheckDispatch
nt!KiFastFailDispatch
nt!KiRaiseSecurityCheckFailure
WdFilter! ?? ::NNGAKEGL::`string'
fltmgr!DoFreeContext
fltmgr!DoReleaseContext
fltmgr!FltpDeleteContextList
fltmgr!CleanupStreamListCtrl
fltmgr!DeleteStreamListCtrlCallback
nt!FsRtlTeardownPerStreamContexts
Ntfs!NtfsDeleteScb
Ntfs!NtfsRemoveScb
Ntfs!NtfsPrepareFcbForRemoval
Ntfs!NtfsTeardownStructures
Ntfs!NtfsDecrementCloseCounts
Ntfs!NtfsCommonClose
Ntfs!NtfsFspClose
nt!ExpWorkerThread
nt!PspSystemThreadStartup
nt!KiStartSystemThread
NTFS_FILE_SYSTEM (24)
If you see NtfsExceptionFilter on the stack then the 2nd and 3rd
parameters are the exception record and context record. Do a .cxr
on the 3rd parameter and then kb to obtain a more informative stack
trace.
Arguments:
Arg1: 000000b50019060b
Arg2: fffff88002bab548
Arg3: fffff88002baad80
Arg4: fffff880017e52f5
Debugging Details:
------------------
Ntfs! ?? ::NNGAKEGL::`string'
Ntfs!NtfsDeleteFcb
Ntfs!NtfsTeardownFromLcb
Ntfs!NtfsTeardownStructures
Ntfs!NtfsDecrementCloseCounts
Ntfs!NtfsCommonClose
Ntfs!NtfsFspClose
nt!ExpWorkerThread
nt!PspSystemThreadStartup
nt!KiStartSystemThread
IRQL_NOT_LESS_OR_EQUAL (a)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is usually
caused by drivers using improper addresses.
If a kernel debugger is available get the stack backtrace.
Arguments:
Arg1: fffff6fc50185e98, memory referenced
Arg2: 0000000000000000, IRQL
Arg3: 0000000000000000, bitfield :
bit 0 : value 0 = read operation, 1 = write operation
bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)
Arg4: fffff800a2b98353, address which referenced memory
Debugging Details:
------------------
nt!KeBugCheckEx
nt!KiBugCheckDispatch
nt!KiPageFault
nt!MiCaptureAndResetWorkingSetAccessBits
nt!MiTrimOrAgeWorkingSet
nt!MiProcessWorkingSets
nt!MmWorkingSetManager
nt!KeBalanceSetManager
nt!PspSystemThreadStartup
nt!KiStartSystemThread
IMAGE_NAME: memory_corruption
BUCKET_ID_FUNC_OFFSET: d3
FAILURE_BUCKET_ID: AV_nt!MiCaptureAndResetWorkingSetAccessBits
答案3
按照运行 memtest x86+ 的建议,我下载了它,刻录了启动 CD,然后启动了它。两次完整的测试耗时近 12 个小时,没有发现任何错误,这很棒:
尽管如此,我还是决定在电脑关闭一段时间后立即启动 memtest。在第一个最简单的测试中出现了错误:
这让我很困惑,我甚至尝试在BIOS中关闭快速启动,并将POST后的延迟时间增加到10秒,认为这可能是由于某些硬件初始化所致,但没有任何效果。开机后不久,memtest仍然发现一些错误,然后系统就完全稳定了。
看来确实是我的内存出了问题,因为更换内存模块确实对我有帮助。有必要检查 M/B 生产商提供的合格模块列表,并使用推荐的内存。
答案4
您是否尝试检查主板上的热裂纹?DIMM 插槽周围有物理裂纹或断开连接。从某种意义上说,这是内存问题……启动后 15 秒内,它会变热,并且一切都会膨胀……一定是主板的问题……而不是内存本身的问题。