挖兔品牌系列工具 · 硬盘健康守护 免安装 · 不联网 · 只读检测 · 单文件绿色版
WatuDiskSprite — a free, offline, read-only Windows disk-health guardian: SATA/NVMe SMART, six-tier color alerts, silent boot-time scan, and one-click HTML report.
在本仓库做任何事之前,先读
AGENTS.md。 里面有项目边界、发布铁律、 开发环境实测值、模块地图与踩坑清单。与本文件冲突时以AGENTS.md为准。 当前对外发布版本为 v1.2.3(功能定型后的维护性更新:确认的 bug 修复,不增加新功能)。
挖兔硬盘精灵是一款 Windows 硬盘健康检测与守护工具。在频繁读写、长时间高负载运行的时代,它像一位安静的守夜人:开机静默体检、闲时自动巡检、健康变色托盘、有温度的提醒,把「坏了才发现」变成「早有预备」。
- 单文件绿色版,双击即跑,不写注册表、不留垃圾;
- 全程离线运行,不联网、不收集任何数据;
- 只读检测,绝不向硬盘写入任何数据;
- 适配 SATA / NVMe(含国产主控固件),管理员权限下读取完整 SMART 信息。
📌 项目状态:v1.2.2 起功能定型——不再增加新功能,只持续修复问题、跟进 Windows 新版兼容性。 大家建议过的功能已全部记录在 GitHub Issues,需求增多时会重新评估。
- 智能体检:SMART 属性解析(SATA)、NVMe 健康日志直读(含国产主控固件兼容)、可靠性计数器、系统事件日志归因、卷损坏位检查
- 盘面扫描(v1.2 新增):逐块只读读盘面找坏道,20×20 热力图把「读不出来」和「读得特别慢」的区域标在盘的具体位置上
- 综合评分:六档颜色(优秀 / 良好 / 注意 / 警告 / 危险 / 紧急),所有指标异常自动变色警示,可一键忽略
- 专业指标:通电时间、通电次数、累计写入 / 读取量、剩余寿命、可用备用空间、不安全断电、媒体错误……对齐专业检测软件
- 360 式体检过程:7 步逐项打勾动效,检测中硬盘卡片即时出现,评分 0→满分数值滚动
- 托盘常驻:图标随健康档位变色,体检时绿点呼吸;悬停显示开机时长
- 自绘气泡提醒:200+ 条诗情画意文案,不受 Windows 勿扰模式影响;五种提醒方案可选
- 关机 / 重启守护:关机前毫秒级只读复查,异常下次开机郑重提醒
- 体检记录:健康痕迹本地留档(封顶 200 条自动淘汰),支持折叠与逐盘详情
顶部为软件名与版本徽章;中间是「检测到硬盘 / 健康 / 警告 + 危险」三宫格概览与逐盘卡片(点击展开专业指标网格、SMART 明细、事件摘要与建议);底部是 7 步体检进度与「开始全盘检测 / 盘面扫描 / 导出报告 / 开机自动启动 / 开机静默体检」开关,以及 GitHub 链接。
检测完成后点「导出报告」,一键生成完整本地 HTML 报告(可直接浏览器打开、留存或分享):
点「盘面扫描」→ 勾选要扫的硬盘(可多选)→ 选扫描范围 → 开始。扫描中盘面地图会「扫一块亮一块」,跑完这块盘就换成下一块。窗口可以最小化到后台继续扫,主界面那个按钮会实时显示进度。
两档可选:
- 快速抽样(约 1 分钟):盘面切成 400 个区域,每区抽 1 块读一遍。适合日常体检后顺手查一次。
- 全盘逐块(机械盘可能几小时):400 个区域全部逐块读完,格子颜色代表整段情况。怀疑盘有问题时才用。
结果会自动存到本地,导出报告时一起带上,不用为了出报告再扫一遍。
- 全程离线:无任何网络请求(源码中零网络模块导入)
- 只读检测:绝不写入硬盘数据,唯一落盘是本地记录文件(几十 KB)
- 绿色免安装:不写注册表、无残留垃圾;开机启动用「启动文件夹快捷方式」实现
- 开机启动 / 定时自检均在系统空闲时进行,不与你的工作抢资源
从下方任一渠道下载 WatuDiskSpriteV1.2.3.zip(内含 WatuDiskSprite.exe 单文件绿色版),解压后双击 WatuDiskSprite.exe 即可运行,无需安装。
| 下载源 | 说明 |
|---|---|
| GitHub Releases | 主站,全球可用 |
| Gitee 附件·国内直下 | 国内镜像,直链最快 |
| 蓝奏云 | 国内备用,免登录 |
| 百度网盘 | 提取码 1234,长期备份 |
- 读取完整 SMART 数据需要管理员权限(程序会自动请求 UAC 提权);
- 若未以管理员身份运行,部分检测项会受限,界面会明确提示。
小版本(功能定型范围内的维护性更新)。
修掉西数等 SATA 固态剩余寿命漏读(issue #20 续)
- v1.2.2 只修了「磨损数据缺失→误显 100%」(金士顿 SA400);但西数 / SanDisk 这类 SATA 固态的真实剩余寿命写在 SMART 属性(0xE7「SSD 剩余寿命」),而 Windows 自带的计数器对它们常为空白,于是软件读不到寿命、健康分停在默认满分 100,与 WD Dashboard / CrystalDiskInfo 显示的约 60% 对不上;
- v1.2.3 在 Windows 侧拿不到可靠磨损时,回退读取 SMART 0xE7(兜底 0xE9 / 0xE8)的剩余寿命,让这类盘显示真实百分比;
- 判读层 / 指标表 / 界面摘要三处共用同一解析入口,口径一致;NVMe 直读、Windows 真实 Wear、HDD 等路径不受影响。
这一版把社区反馈里遗漏的问题一次补齐,并进入功能定型:此后不再增加新功能,只修问题、跟进系统兼容性。
修掉一个会误导人的数字:寿命「假 100%」
- 金士顿 SA400 这类不上报磨损的盘,曾被显示成「寿命剩余 100%」——官方工具和 CrystalDiskInfo 都是 54%。原因是系统接口拿不到真实值时会返回 0,旧版把它当成了「零磨损」;
- 现在:拿不到可靠寿命数据时如实显示「寿命未提供」,绝不给误导性数字;健康分口径不变(这块盘确实是健康的);
- NVMe 改为优先采信健康日志直读的使用率,比系统转手的计数器更可信。
新增固件版本显示
- 硬盘详情页显示固件号——识别二手盘、翻新盘靠的就是「型号 + 固件 + 序列号」三要素,现在齐了。
补充温度口径说明
- 说明「复合温度」取的是盘内最高传感器,与只显示单颗传感器的工具(如 AIDA64)相差 10~20℃ 属正常,不是读数错误。
启动更快
- 测量发现启动体检约 35 秒里,近半花在多余的进程拉起上:修复了「脏位查询每次套一层 PowerShell」(每卷省约 2 秒)和「数据齐全时仍多查一次 WMI」(省约 4 秒)。
- 收官前又做了一轮实测驱动的深度优化:完整检测 39.9 秒 → 14.8 秒(快约 63%),从双击到出结果约 35-45 秒降到约 19 秒。三项改动全部「功能零变更」——检测结果逐字段比对一致、数据格式与存储逻辑不变、单文件 exe 形态不变:
- 枚举与可靠性计数器合并为一条命令(原先两次调用都在跑
Get-PhysicalDisk); Get-Partition在部分系统稳定返回空,失败结论当天缓存、次日自动重试(原先每次白付约 7.5 秒必然失败);- WMI 兜底通道下,分区关联与卷空间合并为一次调用(三次冷启动降为一次)。
- 枚举与可靠性计数器合并为一条命令(原先两次调用都在跑
新增:提醒记录 · 防打扰
- 温度偏高、空间紧张、健康异常这类提醒,以前弹完几秒就消失,想回头看看记录却找不到地方。现在主界面多了「健康记录」卡片,点开后切到「提醒记录」标签随时回看,每条还附上关键数字(最高温、最紧空间、几块盘要关注)和来源(定时体检 / 开机体检 / 手动体检);
- 点异常提醒的气泡,会直接打开主界面并定位到这条记录;
- 同类异常提醒 4 小时内不重复弹(危险级除外——危险永远第一时间告知),高强度使用电脑时不会再被同样的「有点热」反复打扰;
- 提醒怎么弹、弹多少,仍然可以在托盘右键「提醒设置」里自己定(安静模式只报异常)。
其它
- 使用说明弹窗的「下一版计划」改为「功能定型」声明,承诺过的邮件 / 微信提醒已移除(与「完全离线」的定位冲突)。
这一版都在收拾界面上的琐碎,让软件更好懂、更好用。
使用说明重写了:以前打开「?」是一堆答疑式的解释,现在改成按用户视角讲清楚——这是什么软件、能帮你解决什么问题、有哪些功能、为什么放心用。第一次打开的人几十秒就能看懂。
体检记录变得干净了:原来每行一个「✕」、还有个突兀的「清空」按钮;现在折叠时底部操作区完全不显示,展开只有一个垃圾桶小图标,点它才出现复选框,勾中记录后才出现「删除」。不勾就看不到,界面始终清爽。
其它改动
- 开机启动开关不再卡顿 —— 原先点一下要等约 1 秒才知道结果(写快捷方式走的是 COM 调用),现在挪到后台线程,点下去即时响应;
- 修复「首次打开时勾选了开机启动,但系统启动列表里看不到」——补齐了写入失败时的重试与回查;
- 主界面按钮更紧凑,宽胖的药丸按钮收窄了一圈;
- 修复一个版本 exe 启动即报错的问题(打包时漏了图标渲染模块)。
这一版的重点是补上一个大盲区:SMART 全绿,不代表盘没坏。有些盘在彻底坏掉之前,SMART 里根本记不上,但读起来已经明显变慢、或者某些区域直接读不出来。v1.2 之前查不出这种问题,现在补上了。
新增:盘面扫描(坏道检测)
- 逐块只读读盘面,两档:快速抽样(约 1 分钟)/ 全盘逐块(机械盘可能几小时);
- 20×20 盘面热力图,400 格扫到哪亮到哪,坏块和「读得特别慢」的区域都标在盘的具体位置上;
- 坏道在彻底读不出来之前,通常先表现为明显变慢——这个「提前量」是它最有价值的地方;
- 全部只读,不写盘、不标记坏簇、不调用
chkdsk; - 多盘可以勾选着连着扫,扫完自动接下一块;窗口能收进后台跑,主界面按钮实时显示进度。
修掉的问题
- 找了两块盘却只显示一块 —— 磁盘枚举加了双通道兜底,现在不会漏盘了;
- 早期 SSD 被误报「寿命 0%」—— 那种盘压根不上报寿命,不该按坏了算;
- 开机问候语串味 —— 下午两点说「夜深了」,时段判断精确到小时;
- 体检记录面板挡住展开的磁盘详情 —— 展开卡片时自动收起;
- 报告页脚给的反馈地址是仓库首页,等于没接住反馈,已改到 Issues 页。
其它
- 「评分说明」并入右下角「?」,底部按钮少一个;
- 健康分口径写清楚了:为什么我给 92 分、某软件给 78 分——底层读数一样,算法各家自己定,分数不完全一致是正常的;
- 体检记录现在存 200 条(以前 30 条),并把 30 天前的自动折叠起来。
v1.2.2 是挖兔硬盘精灵的收官版。核心功能已完整交付:只读 / 离线 / 单文件绿色版,SATA / NVMe 检测、六档评分、盘面扫描、HTML 报告、开机静默体检。
此后的定位:不再增加新功能;持续修复问题、跟进 Windows 新版兼容性。出现确认的 bug 会以小版本响应。
未纳入的功能构想(已记录在 GitHub Issues,需求增多时会重新评估):
- USB 移动固态 / 桥接盘 SMART 识别增强
- Linux 支持(社区建议过命令行版与 smartctl 报告导入)
- 健康分 / 温度趋势图
- 英文界面(i18n)
- Intel VMD / 服务器 RAID、SAS 企业盘
感谢每一位提建议、报误报的朋友——这个软件的很多改进都来自真实的反馈。
- 开始检测:打开软件即自动全盘体检;也可点「开始全盘检测」手动重测。
- 盘面扫描:点「盘面扫描」→ 勾选要扫的硬盘(可多选)→ 选扫描范围(快速抽样 / 全盘逐块)→ 开始扫描。扫描中可以点「隐藏」收进后台继续跑,主界面按钮会实时显示进度;扫完点按钮看结果。
- 托盘常驻:关闭主窗口会最小化到托盘(右下角图标);右键托盘可立即检测、查看提醒设置、退出。
- 开机自启:勾选「开机自动启动」;「开机静默体检」会在系统空闲后自动体检一次并记录,有问题才弹提醒。
- 导出报告:检测完成后点「导出报告」可保存为本地 HTML 报告,报告里会带上最近的盘面扫描结果。
- 忽略项:某指标异常但你知道无碍,可点该项「忽略」——只影响显示,评分始终保持真实。
运行环境
- Windows 10 / 11(x64)
- 读取完整 SMART 数据需要管理员权限
- 无需安装 Python —— 下载解压即用
开发环境(详见 AGENTS.md)
- Python 3.8.6 及以上 + PySide6 6.6.3.1(打包另需 PyInstaller 3.6)
├── src/
│ ├── main.py # 程序入口(提权 / 单实例 / 自检 / 冒烟)
│ ├── core/ # 检测与逻辑核心(零第三方依赖)
│ │ ├── disk_info.py # 磁盘枚举与可靠性计数器
│ │ ├── nvme_health.py # NVMe 健康日志直读(ctypes IOCTL)
│ │ ├── smart_parser.py # SATA SMART 属性解析
│ │ ├── surface_scan.py # 盘面扫描(只读坏道检测 + 400 格分区)
│ │ ├── event_scan.py # 系统事件日志扫描与归因
│ │ ├── volume_check.py # 卷损坏位 + 剩余空间
│ │ ├── verdict.py # 评分引擎与六档等级
│ │ ├── metrics.py # 指标阈值与四色警示
│ │ ├── tender.py # 200+ 条温度提醒文案库
│ │ ├── care_tips.py # 护盘小贴士
│ │ ├── notify_policy.py # 五种提醒方案与习惯降噪
│ │ ├── autostart.py # 开机启动(启动文件夹,绿色方式)
│ │ ├── shutdown_guard.py# 关机/重启守护
│ │ ├── sysidle.py # 系统空闲判断(定时体检只在空闲时跑)
│ │ ├── powershell_runner.py # PowerShell 子进程统一封装
│ │ ├── resource_path.py # 资源路径解析(打包态 / 源码态双兼容)
│ │ ├── report.py # HTML 报告导出
│ │ └── store.py # 有界本地存储(自动迁移)
│ ├── ui/ # PySide6 界面(主窗 / 托盘 / 自绘气泡 / 盘面扫描)
│ ├── assets/ # 图标资源
│ └── build/ # PyInstaller 打包配置
├── test/ # 自动化回归测试(30 个测试文件)
├── deploy/ # 已发布成品 exe / zip
└── AGENTS.md # ★ 开发接手者必读(AI / 新开发者看这份)
⚠️ 请先读AGENTS.md再动手。 本项目实测可用的是 Python 3.8.6 (含 PySide6 6.6.3.1 与 PyInstaller 3.6),装在C:\Program Files\python\python.exe。 代码使用新式类型注解,靠from __future__ import annotations兼容 3.8。⚠️ 托管的 Python 3.13 是空壳(未装 PySide6 / PyInstaller),不可用于本项目。
# 1. 运行源码
python src/main.py
# 2. 运行自检(改完必跑)
python src/main.py --selftest
# 3. 打包单文件 exe(在 src\ 下执行)
cd src
python -m PyInstaller --clean --noconfirm --distpath dist --workpath build/pyinstaller build/diskguard.spec-跑 exe 自检用 timeout 300(首次冷启动解压可能超 120 秒,会被误判失败)。
- 跑全量回归前请先关闭正在运行的
WatuDiskSprite.exe。
接手本项目、或用 AI 继续开发前,请先阅读 AGENTS.md。
里面写清了项目边界铁律、发布流程、开发环境实测值、模块职责地图、8 条踩坑注意事项与测试纪律 ——
能帮你避免改错方向、误删项目或误发布。
- 遇到问题、想要新功能、或发现误报?请到 Issues 留言;也欢迎在 Gitee 镜像 提,国内访问更顺。
- 这是一个自由开源(GPL-3.0)项目,欢迎 Star、Fork 与 PR;
- 软件完全离线、只读、不收集任何数据,可放心使用。
GPL-3.0(双许可)—— 本软件自由开源:可自由使用、学习、修改与分发,衍生作品同样须以 GPL-3.0 开源并保留原作者署名;如需闭源或排除 GPL 条款的商业授权,请与作者联系。
- PySide6 (Qt) 界面框架
- 每一位在 Issues 里提过问题、报过误报、留下实测数据的坛友——v1.2 这一版的 15 条改进,绝大多数是被你们逼出来的
- 所有在硬盘健康领域持续输出知识的社区与厂商文档
挖兔出品 · 挖兔下载器的兄弟产品 · 用心守护每一块硬盘


