Skip to content

About

现代可视化硬盘健康诊断与基准测速工具。解决部分软件(如 CrystalDiskInfo / HD Tune 等)无法识别部分USB移动硬盘盒及冷门桥接芯片硬盘信息的痛点,支持多芯片智能透传回退、企业级充氦状态监测及对齐 ATTO 标准的 Direct I/O 基准测速。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

硬盘 S.M.A.R.T. 智能读取与健康诊断分析系统 (SMART Doctor)

一款支持各类机械硬盘 (HDD)、固态硬盘 (SSD / NVMe)、大容量企业级氦气盘及各类 USB 移动硬盘盒的通用 S.M.A.R.T. 深度健康诊断分析与基准测速可视化软件。

内置原生免安装便携版 smartctl 7.5,开箱即用;支持纯净最小化一键打包为独立便携单文件 EXE,无需安装任何外部运行库。


📸 软件界面截图

🖥️ 主界面:S.M.A.R.T. 深度健康评分与关键指标监控

综合健康评分、通电寿命、实时温度监测、坏道/氦气密封等级,以及全属性列表(支持搜索筛选与中英文指标说明):

S.M.A.R.T. 健康诊断与属性监控

⚡ 测速引擎:类似 ATTO 的 Direct I/O + Overlapped 基准测速

硬件直通无缓存、QD=4 深度异步并发、4KB 随机与多阶梯块读写双向柱状图实时动态绘制:

磁盘基准与测速引擎


🌟 核心特色与技术亮点

1. 通用物理磁盘穿透与主流全品牌兼容

  • 全介质覆盖:深度适配机械硬盘 (HDD)、SATA SSD、NVMe 固态硬盘、企业级充氦盘。
  • 主流品牌全兼容:希捷 (Seagate)、西部数据 (WD)、东芝 (Toshiba)、三星 (Samsung)、英特尔 (Intel/Solidigm)、致态 (Zhitai)、铠侠 (Kioxia)、海力士等。
  • 硬件属性解析:精准提取产品型号、固件版本 (Firmware)、全球唯一标识 (WWN)、物理/逻辑扇区大小、主轴转速 (RPM) 及接口协议速率。

2. 突破 USB 移动硬盘盒底层透传壁垒 (SCSI / SAT Passthrough)

  • 主流桥接芯片全覆盖:支持标准 SATA 透传 (-d sat)、NVMe 桥接 (-d nvme)、JMicron 智微 (-d usbjmicron / sntjmicron)、ASMedia 祥硕 (-d usbasmedia)、Realtek 瑞昱 (-d sntrealtek)、SCSI 直通等多芯片透传指令。
  • 智能自适应协议回退:勾选「智能透传回退重试」后,若指定透传协议遇阻,系统将在后台自动尝试多种候选桥接协议,大幅提升冷门及杂牌硬盘盒的识别成功率。

3. Windows UAC 管理员提权与后台纯静默执行

  • 平滑提权体验:访问物理驱动器 (\\.\PhysicalDriveX) 需管理员权限。系统实时检测权限状态,普通用户权限下一键点击 「🚀 一键管理员重启」 即可唤起 UAC 授权重启。
  • 彻底告别黑窗口:所有底层子进程调用(smartctl 与 PowerShell)均绑定 SW_HIDE、CREATE_NO_WINDOW 与 stdin=DEVNULL,命令执行全程后台静默,无任何 CMD 控制台黑窗口弹出或闪烁。

4. 企业级盘与关键健康指标智能评级算法

  • 综合健康分 (0 ~ 100) 与四级健康评级(EXCELLENT / GOOD / WARNING / CRITICAL)。
  • 关键坏道双重监控:重点侦测 ID 05 重新分配扇区 (Reallocated Sectors) 与 ID C5 当前待处理扇区 (Pending Sectors)。
  • 充氦密封等级 (ID 16 / 0x10):企业级大容量氦气盘专属,实时监控气密状态(正常为 100%)。
  • 接口与线缆诊断 (ID 199 C7 CRC Error):智能研判是盘体故障还是 USB 硬盘盒接触不良/线损过长。
  • 通电寿命友好换算:将原始通电时长自动转换为“X 年 X 天 X 小时”。
  • NVMe 固态专属指标:总读取/总写入量 (TBW)、可用备用空间百分比、健康寿命百分比及介质错误计数。

5. 类似 ATTO 的「⚡ 磁盘基准与测速」引擎

  • Win32 Direct I/O 硬件直通:使用 FILE_FLAG_NO_BUFFERING 绕过系统 RAM 缓存,直击真实硬件读写吞吐。
  • Overlapped 异步重叠管道:深度引入 Win32 异步重叠 I/O 机制,支持队列深度 (QD=1 / 2 / 4 / 8) 自定义调节;默认采用与 ATTO 4.00 相同的 QD=4,让 NVMe 固态硬盘多通道并发性能完全释放,实测读写曲线与 ATTO 达到一致水准。
  • 多阶梯块大小测试:支持从 512B 到 64MB 全尺寸读写阶梯测试,支持双向柱状图实时动态绘制。
  • 安全防抖自适应 UI:采用固定比例约束与状态文本自动换行机制,测试过程中界面平稳无晃动。

6. 双模现代化 UI 设计与极致视觉对比度

  • 深色 (Dark) / 浅色 (Light) 一键即时切换:告别浅色模式下刺眼的亮青发虚文字,采用经过 WCAG AAA 高对比度规范调色的沉稳深炭灰(#0f172a)参数展示。
  • 无瑕疵圆角渲染:彻底修复 CustomTkinter 选项卡内透明背景导致的圆角与底边黑线漏色瑕疵,各卡片过渡平滑自然。

7. 专业多格式诊断报告一键导出

  • HTML 专业科技感报告:独立现代化排版与状态徽章,支持打印与归档。
  • TXT 纯文本排版报告:规整对齐,方便论坛求助或售后质保凭据。
  • JSON 原始数据留存 & 一键复制至系统剪贴板。

🚀 启动与使用指南

方式一:运行便携单文件 EXE(最简便)

无需 Python 环境,直接双击运行:

dist\SMARTDoctor.exe

方式二:无黑窗口静默脚本启动(源码环境)

直接双击根目录下的 run_silent.vbs。

方式三:终端或命令行运行

python main.py

📦 打包命令

直接双击运行根目录下的 build.bat,或在命令行执行:

python -m PyInstaller --clean -y SMARTDoctor.spec

构建完成后,产物将生成在 dist\SMARTDoctor.exe。


📁 目录架构说明

phoneclaw/
├── tools/                         # 内置便携底层工具包
│   └── smartctl/
│       ├── smartctl.exe           # smartctl 7.5 (64位原生可执行程序)
│       └── drivedb.h              # 硬盘厂商与硬件属性数据库
├── src/
│   ├── backend/                   # 核心后端逻辑
│   │   ├── system_utils.py        # 管理员提权、盘符探测与进程安全控制
│   │   ├── smart_runner.py        # smartctl 调度与芯片透传回退
│   │   ├── disk_parser.py         # SMART 数据解析与健康状态评分引擎
│   │   ├── benchmark_runner.py    # Direct I/O + Overlapped (QD4) 基准测速引擎
│   │   └── mock_data.py           # 东芝 16TB (MG08ACA16TE) 离线测试样板
│   └── ui/                        # 现代化图形界面
│       ├── app.py                 # CustomTkinter 响应式 UI 主窗口与事件交互
│       └── report_exporter.py     # HTML / TXT / JSON 诊断报告生成器
├── tests/
│   └── test_backend.py            # 单元测试与自动化验证套件
├── dist/
│   └── SMARTDoctor.exe            # 打包生成的免安装便携单文件 EXE
├── SMARTDoctor.spec               # PyInstaller 纯净最小化打包规范文件
├── build.bat                      # Windows 一键快速编译打包脚本
├── run_silent.vbs                 # 无控制台黑窗口纯静默启动器
├── start.bat                      # 命令行便捷启动脚本
├── requirements.txt               # 运行所需第三方依赖
├── .gitignore                     # Git 忽略配置
├── image1.png                     # 软件主界面 S.M.A.R.T. 诊断截图
├── image2.png                     # 类似 ATTO 磁盘基准测速引擎截图
└── README.md                      # 系统说明文档

💡 硬盘盒使用常见排错建议

  1. 读取时提示 Error=5 或 Access Denied:
    • Windows 操作系统限制非管理员访问物理设备。点击窗口顶部的 「🚀 一键管理员重启」 允许 UAC 提权即可。
  2. 提示无法打开设备或透传失败:
    • 在「目标磁盘」下拉列表中确认已选中目标移动盘符(通常为 /dev/sdd、/dev/sde 等);
    • 将「硬盘盒芯片模式 (-d)」尝试手动切换为 sat、auto 或 usbjmicron;
    • 确保勾选了「智能透传回退重试」。
  3. 部分 USB 扩展坞/转接线导致 CRC 报错 (ID 199 / C7):
    • 若发现 UDMA CRC 错误计数持续递增,通常因 USB 数据线屏蔽不足、线缆过长或接口供电不稳定引起,建议将硬盘盒直插电脑主板后置原生 USB 接口并更换优质线缆。

About

现代可视化硬盘健康诊断与基准测速工具。解决部分软件(如 CrystalDiskInfo / HD Tune 等)无法识别部分USB移动硬盘盒及冷门桥接芯片硬盘信息的痛点,支持多芯片智能透传回退、企业级充氦状态监测及对齐 ATTO 标准的 Direct I/O 基准测速。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages