蓝屏0x00000077需通过自定义PowerShell脚本自动检测磁盘预测故障、页面文件使用率、WER日志及内存转储有效性,以管理员身份运行并设置执行策略后执行脚本输出报告定位根因。

排查电脑蓝屏0x00000077(KERNEL_STACK_INPAGE_ERROR)错误时,需定位是否由硬盘坏道、内存故障或驱动异常引发,手动逐项检查耗时且易遗漏关键线索,自定义检测脚本可自动采集磁盘健康状态、页面文件读写日志、内核转储模块加载栈信息。
准备PowerShell执行环境
以管理员身份打开PowerShell:在开始菜单搜索“PowerShell”,右键选择“以管理员身份运行”。【未以管理员权限运行会导致磁盘SMART读取和内核内存转储分析失败】
执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,按提示输入 Y 确认。这一步绕过脚本签名限制,但仅对当前用户生效,不影响系统全局策略。
编写核心检测逻辑
新建文本文件,重命名为 Check-BSOD77.ps1,用记事本或VS Code打开,粘贴以下内容:
$ErrorActionPreference = "SilentlyContinue"; $disk = Get-WmiObject -Class Win32_DiskDrive | Where-Object {$_.Status -eq "OK"}; if($disk){$smart = Get-WmiObject -Namespace root\wmi -Class MSStorageDriver_FailurePredictStatus -ComputerName localhost; Write-Host "磁盘预测状态:" $smart.PredictFailure}; $pagefile = Get-WmiObject -Class Win32_PageFileUsage; Write-Host "页面文件使用率:" ($pagefile.CurrentUsage / $pagefile.AllocatedBaseSize * 100).ToString("F1") "%"; $crashlog = Get-EventLog -LogName System -Source "Microsoft-Windows-WER-SystemErrorReporting" -EntryType Error -Newest 5 | Where-Object {$_.Message -match "0x00000077"}; if($crashlog){Write-Host "最近蓝屏记录:" $crashlog.TimeGenerated} else {Write-Host "未找到WER系统级0x77错误日志"}
注入驱动栈解析能力
方法一:调用WinDbg命令行工具(需提前安装Windows SDK或WDK)
在脚本末尾追加:if(Test-Path "$env:SYSTEMROOT\LiveKernelReports\*.dmp"){& "$env:PROGRAMFILES\Windows Kits\10\Debuggers\x64\kd.exe" -z "$env:SYSTEMROOT\LiveKernelReports\*.dmp" -c "!analyze -v;q" | Out-String | Select-String "MODULE_NAME|IMAGE_NAME|STACK_COMMAND" | ForEach-Object {$_.Line}}
方法二:纯PowerShell替代方案(不依赖外部调试器)
添加:$minidump = Get-ChildItem "$env:SYSTEMROOT\Minidump\*.dmp" -ErrorAction SilentlyContinue | Sort-Object LastWriteTime -Descending | Select-Object -First 1; if($minidump){$bytes = [System.IO.File]::ReadAllBytes($minidump.FullName); if($bytes[0..3] -eq 0x44,0x4D,0x50,0x32){Write-Host "确认为有效MINIDUMP格式"}} else {Write-Host "无可用内存转储文件"}
执行并定向输出结果
第一步:在PowerShell中执行 .\Check-BSOD77.ps1 > C:\BSOD77_Report.txt 2>&1
第二步:等待脚本运行结束(通常8~15秒),期间会尝试读取磁盘SMART、页面文件、事件日志及转储文件元数据。
第三步:用记事本打开C:\BSOD77_Report.txt,重点查看包含“PredictFailure”、“页面文件使用率”、“最近蓝屏记录”、“确认为有效MINIDUMP格式”的行。若出现“True”或数值超过95%,说明对应子系统存在明确异常指向。


















