
Helper-windows硬件诊断
1. Skill 定位
windows-hardware-doctor 是一个面向 Windows 电脑的硬件诊断与安全处置 Skill。它让 Agent 按照“先取证、后判断、再变更”的方式处理以下问题:
- 硬件清单与快速健康检查;
- 异常设备、黄色感叹号、驱动问题;
- CPU、内存、显卡、崩溃、卡死和黑屏;
- HDD、SSD、NVMe、SMART、磁盘事件与数据风险;
- 磁盘空间分析、备份规划和清理候选项整理;
- USB、外设、接口、供电和物理连接问题;
- 在完成软件取证后,提供谨慎的物理检修建议。
它不是“一键修复工具”。其核心价值是帮助 Agent 收集可复核证据、判断风险等级、区分事实与推测,并在任何可能改变系统或数据的操作前等待用户明确批准。
2. Agent 能力总览
| 能力域 | Agent 能做什么 | 主要证据/工具 | 默认是否修改系统 |
|---|---|---|---|
| 硬件清单 | 识别 CPU、内存条、GPU、磁盘、分区、电池和 Windows 版本 | CIM/WMI、Get-PhysicalDisk、Get-Volume |
否 |
| 快速健康检查 | 汇总异常设备、低磁盘空间、磁盘健康和部分关键事件 | Get-HardwareAudit.ps1 |
否 |
| 设备与驱动诊断 | 找到异常设备、PnP 问题代码、驱动提供方、版本、日期和签名状态 | PnP、CIM、pnputil |
否;修复前需批准 |
| CPU/内存/GPU 诊断 | 分析资源压力、WHEA、内存错误、显示驱动事件、线材和供电因素 | 系统事件、资源数据、厂商工具 | 否;压力测试/重启需批准 |
| 崩溃与卡死分析 | 关联 Kernel-Power、BugCheck、WHEA、存储和显示事件 | Windows 系统日志 | 否 |
| 存储健康 | 关联 SMART/可靠性计数器、控制器重置、NTFS 和 I/O 错误 | Windows 存储命令与事件日志 | 否 |
| 大文件发现 | 在用户明确指定的目录中递归列出大文件 | Get-LargeFiles.ps1 |
否 |
| 备份设计 | 设计 3-2-1 备份、容量、保留、加密和恢复验证方案 | 参考工作流 | 规划阶段否;执行前需批准 |
| 安全清理 | 分类候选项、估算释放空间、标明可恢复性 | 大文件结果和 Windows 存储信息 | 默认不删除 |
| 物理检修指导 | 在完成软件取证后给出断电、防静电和型号相关建议 | 官方维修手册 | 拆机前需批准 |
3. 核心工作方式
Agent 应遵循以下闭环:
- 询问症状、开始时间、发生频率、近期软硬件变化以及数据是否处于风险中。
- 使用原生只读手段建立硬件与事件基线。
- 按问题类型加载对应诊断资料,不把所有信息一次性塞入上下文。
- 同时检查设备状态、驱动、资源、存储可靠性和关键系统事件。
- 将结论分为“已确认、较可能、可能、尚未测试”。
- 推荐最小、可逆的下一步;破坏性或不可逆操作放在最后。
- 获得批准并执行变更后,重新检查并报告前后差异。
这套流程能降低单一信号误判。例如:
- 高 CPU 使用率只说明当前负载高,不自动等于 CPU 损坏;
- Event 41 只证明发生过非正常关机,不证明根因是电源;
- SMART 显示
Healthy不能单独排除磁盘问题; - 温度字段为空表示 Windows 没有暴露传感器,不代表温度正常;
- 驱动日期较旧不能单独证明驱动需要更新。
4. 内置工具及实际输出
4.1 Get-HardwareAudit.ps1
该脚本生成 JSON 硬件审计结果,主要字段包括:
Meta:采集时间、Windows 版本、是否管理员运行、事件时间窗;Verdict:快速判定;Attention:需要关注的信号;MissingSections:因权限或接口不可用而缺失的模块;CPU、MemorySummary、MemoryModules、GPU;DiskDrives、PhysicalDisks、Volumes;ProblemDevices、UnsignedOrIncompleteDrivers;Battery、RelevantSystemEvents、Limitations。
默认会隐藏内存条序列号/料号、GPU 和磁盘 PnP ID、磁盘序列号。只有在精确匹配设备确有必要时,才应使用 -IncludeIdentifiers。
脚本当前可能返回:
HEALTHY_NO_OBVIOUS_FAULTS:快照未发现明显故障;ATTENTION:检测到需要关注的信号;INCOMPLETE:部分数据源不可用,不能据此得出完整健康结论。
ATTENTION 的自动规则目前覆盖:PnP 异常、物理磁盘非健康状态、卷剩余空间低于 10%,以及 WHEA/磁盘/部分存储控制器事件。
4.2 Get-LargeFiles.ps1
该脚本只在用户明确指定的现有目录内递归查找文件,支持:
- 最小文件大小,默认 500 MB;
- 返回数量,默认前 50 个、最大 1000 个;
- 输出文件大小、最后修改时间和完整路径;
- 只列出候选文件,不删除、不移动、不压缩。
5. 示例输入与输出
以下输出是符合当前 Skill 设计的示意结果,用于展示 Agent 应如何表达;具体数据会因电脑而异。
示例一:随机卡死,先做只读检查
示例输入
我的 Windows 11 台式机最近随机卡死。请快速检查 CPU、内存、显卡、磁盘和异常设备,先不要修改任何设置。
示例输出
【Windows 主机硬件检查】ATTENTION
- 已确认:过去 7 天出现 3 次非正常关机事件;未发现 PnP 异常设备;C 盘剩余 8.4%。
- 较可能:系统盘空间不足可能加剧卡顿,但 Event 41 本身不能证明它是卡死根因。
- 可能:显卡驱动重置、内存不稳定或存储超时,当前证据不足。
- 影响:存在系统不稳定和更新失败风险;暂未发现可直接确认的数据损坏。
- 立即行动:先保存重要工作,并避免同时运行多个压力测试。
- 下一诊断:检查卡死前后 10 分钟的 Display、WHEA、disk/stornvme 和 BugCheck 事件。
- 已执行写操作:无。
示例二:设备管理器黄色感叹号
示例输入
设备管理器里有一个黄色感叹号,帮我找到设备并把驱动修好。
示例输出
已定位到异常设备:USB 控制器,PnP 问题代码 28,表示当前没有安装可用驱动。
当前证据:
- 设备状态:Error
- 问题代码:28
- 当前驱动:未发现有效版本
- 精确硬件 ID:已在本机采集,默认不在消息中公开
建议从整机/OEM 官方支持页面按准确型号、Windows 版本和硬件 ID 匹配签名驱动。
安装驱动会改变系统。执行前我会展示来源、版本、签名、回滚方案和可能的 USB 中断风险,并等待你批准这一台设备的具体操作。
示例三:D 盘快满,先备份再清理
示例输入
D 盘快满了,帮我找大文件、设计备份后清理,但不要直接删除。
示例输出
已完成 D:\ 的只读空间分析,没有删除任何文件。
主要候选项:
1. D:\VMs\dev-machine.vhdx — 82.4 GB — 需确认虚拟机是否仍使用
2. D:\Downloads\archive.iso — 6.1 GB — 可在核对来源后移至备份盘
3. D:\BuildCache\old-cache.bin — 3.7 GB — 建议通过对应应用清理
备份建议:先把不可替代资料复制到独立健康磁盘,并核对文件数量、总大小、代表性哈希及关键文件可打开性。随后我可以生成精确清理清单、预计释放空间和恢复方式,再等待你的逐项批准。
示例四:怀疑 SSD 要坏了
示例输入
电脑读文件时会卡死,SSD 偶尔消失。能不能先跑 chkdsk /f 修一下?
示例输出
不建议先运行 chkdsk /f。磁盘消失和 I/O 卡死可能表示介质或控制器故障,修复写入会增加风险。
建议顺序:
1. 停止清理、基准测试、碎片整理和全盘扫描。
2. 只读确认物理磁盘、相关卷、SMART/可靠性计数器和存储事件。
3. 优先把不可替代数据复制到另一块健康设备并验证备份。
4. 数据安全后,再对克隆/镜像执行修复或运行厂商诊断。
目前未执行任何写操作。
示例五:权限受限导致结果不完整
示例输入
为什么硬件审计显示 INCOMPLETE?是不是电脑坏了?
示例输出
不是。INCOMPLETE 表示一个或多个 Windows 数据提供程序在当前会话中不可用,例如权限受限、事件日志不可访问或存储接口未暴露数据。
它既不等于健康,也不等于硬件损坏。先查看 MissingSections;如确有必要,我会说明提升权限能补充哪些数据,并在获得批准后重新运行。传感器或 SMART 字段为空时,也只能标记为“不可用”。
6. 推荐使用场景
- 新电脑、二手电脑或维修前的只读硬件盘点;
- Windows 随机卡死、重启、蓝屏、黑屏或性能突然下降;
- 设备管理器出现未知设备、黄色感叹号或 Code 10/28/43/45;
- 外接硬盘、USB、显卡或其他设备无法识别;
- SSD/HDD 变慢、掉盘、出现 I/O 错误或异常声音;
- 系统盘或数据盘空间不足,需要先定位再清理;
- 驱动更新、回滚、卸载前的风险和回滚评估;
- 内存容量识别异常、疑似内存错误或资源压力;
- 需要制定备份、迁移、换盘或恢复验证方案;
- 拆机、更换部件前,先排除软件、线材、端口和驱动因素。
7. 不适合或不能单独完成的事项
- 不能仅靠一次快照证明硬件百分之百健康;
- Windows 原生接口通常不能完整读取 PSU 电压、风扇转速、DIMM 温度或所有 GPU/NVMe 传感器;
- 不能仅凭驱动日期判断是否过期;
- 不能仅凭 Kernel-Power Event 41 判断电源损坏;
- 不能替代厂商离线诊断、启动盘内存测试、示波器或实体维修;
- 不应自动执行 BIOS/固件升级、驱动变更、磁盘修复、格式化、分区、删除、重启或拆机;
- 不负责 macOS 或 Linux 硬件诊断。
8. 安全与隐私边界
以下操作必须在展示具体目标、影响、回滚方式和备份状态后,获得明确批准:
- 安装、更新、回滚或卸载驱动;
- 启用/禁用设备,修改服务或注册表;
- BIOS/固件升级;
chkdsk /f、chkdsk /r;- 分区、格式化、克隆覆盖、安全擦除、BitLocker 变更;
- 删除清理项、覆盖备份;
- 重启、关机、持续压力测试或物理拆机。
驱动只能优先来自 Windows Update、整机/OEM 官网或设备制造商官网。不得使用第三方驱动聚合站和“全自动更新所有驱动”工具。
默认脚本虽然隐藏了多类硬件标识,但 JSON 中仍可能包含电脑名、卷标、设备/型号名称以及事件消息片段;大文件结果会包含完整本地路径。将报告发送到外部系统前仍需二次脱敏。
9. 常见问题
Q1:HEALTHY_NO_OBVIOUS_FAULTS 是否表示硬件完全正常?
不是。它只表示本次可用数据中没有发现明显故障。间歇性问题、未暴露的传感器、负载下故障和物理问题仍可能存在。
Q2:为什么温度、磨损度或 SMART 字段为空?
常见原因是 Windows 驱动或硬件没有向原生接口暴露该数据。正确结论是“数据不可用”,不能写成“正常”。
Q3:是否必须用管理员权限?
基础清单可能不需要,但部分事件日志、存储可靠性计数器和系统接口需要更高权限。Skill 要求先说明提升权限的目的和影响,再征得批准。
Q4:能否直接自动更新所有驱动?
不能。应先确定准确设备和问题代码,记录当前驱动,再从官方来源匹配具体包,并为单个设备建立回滚路径。
Q5:Code 43 是否一定是硬件损坏?
不一定。它表示设备报告了故障,还需检查供电、接口、固件、驱动、冷启动、另一端口或另一台电脑的测试结果。
Q6:磁盘 SMART 显示 Healthy,为什么仍需检查?
SMART 状态可能不包含所有厂商属性,也可能没有暴露可靠性计数器。还需关联掉盘、卡死、I/O 错误、控制器重置、NTFS 事件和厂商诊断。
Q7:大文件扫描会自动删除文件吗?
不会。脚本只列出文件。Agent 应分类候选项、估算空间、说明恢复方式,并对精确清单再次征求批准。
Q8:为什么大文件扫描没有输出?
当前脚本在没有达到阈值的文件时可能返回空输出,而不是 []。这通常表示未找到符合条件的文件,也可能需要检查路径、阈值和访问权限。
Q9:能否直接运行 robocopy /MIR 做备份?
不能直接运行。/MIR 可能同步删除目标端文件,必须先展示源、目标、删除语义和演练结果,并获得明确批准。
Q10:硬件出现异常声音或冒烟时还要继续诊断吗?
不应继续常规测试。应立即以人身和数据安全为先,停止使用并安全断电;不要打开电源、显示器高压区域或鼓包电池。
10. 当前版本的实际效果与评审结果
已验证表现
- 两个 PowerShell 脚本均通过语法解析,解析错误为 0。
- 硬件审计脚本能在权限不足时返回
INCOMPLETE,并提供MissingSections,避免把采集失败误判为健康。 - 默认
IdentifiersIncluded=false,主要序列号和 PnP ID 被隐藏。 - 大文件脚本严格要求显式路径且仅执行读取和排序,不包含删除逻辑。
- 三个内置评测用例覆盖了只读全机检查、驱动修复前审批、备份后清理三条核心路径。
受控实测中,当前沙盒会话无法访问多个 Windows 硬件数据提供程序,脚本返回 INCOMPLETE,而不是虚构硬件结论。这验证了其“缺失数据显式化”的设计,但也说明实际诊断效果依赖正常 Windows 会话和相应权限。
设计优点
- 安全边界清晰:只读优先,对驱动、磁盘、重启和拆机设置明确审批门槛。
- 证据意识强:多信号关联,反复提醒不要把相关性当根因。
- 存储处置正确:疑似坏盘时优先保护数据,明确反对先跑修复写入。
- 渐进式加载合理:主流程简洁,组件、驱动和存储细节拆分到独立参考文件。
- 隐私默认值较好:敏感硬件标识默认隐藏,仅在精确匹配时按需启用。
- 输出适合自动处理:审计结果采用结构化 JSON,便于 Agent 汇总、比较和留档。
11. 总结
windows-hardware-doctor 的强项不是“自动修电脑”,而是将 Windows 硬件诊断变成一套安全、可解释、可复核的 Agent 工作流。它尤其适合卡死、驱动异常、存储风险和低磁盘空间场景,能够有效阻止常见的高风险误操作,例如盲目更新驱动、对疑似坏盘先运行 chkdsk /f、直接删除大文件或仅凭 Event 41 判断电源故障。


