Synology HDD db 教程:3步把第三方硬盘加入群晖兼容数据库
【免费下载链接】Synology_HDD_dbAdd your HDD, SSD and NVMe drives to your Synology's compatible drive database and a lot more项目地址: https://gitcode.com/GitHub_Trending/sy/Synology_HDD_db
Synology HDD db 是一个把第三方硬盘、SSD 与 NVMe 盘写入群晖 NAS 兼容驱动数据库的 Shell 脚本,适合在存储管理器中看到"不兼容"或"未识别固件"提示的群晖用户。
机制说明:DSM 如何判定硬盘兼容性
DSM 依据随系统分发的本地 JSON 数据库文件判断硬盘兼容性:硬盘的型号与固件版本能在其中匹配,即被视为兼容;匹配不上,存储管理器会将其标记为不兼容,并限制缓存、SSD TRIM(一种让固态硬盘回收已删除区块空间、维持性能的指令)等功能。该数据库会被 DSM 的自动更新定期下载并覆盖,所以只把硬盘写进去还不够,必须同时关闭数据库的自动更新,否则修改很快会被还原。Synology HDD db 做的就是这两件事:读取所有已装硬盘的型号与固件,把缺失条目写入本机型号对应的数据库文件(含扩展柜与 M.2 卡),并用-n参数阻止系统再覆盖数据库。
开始之前:确认适用环境与备份策略
- 适用环境:DSM 6 与 DSM 7 系列(含 7.4),包括 2025 系列 Plus 机型,该系列机型的具体限制可参考 2025_plus_models.md。
- 权限:需在 DSM 中开启 SSH,以 root 登录并通过
sudo -s执行。 - 文件位置:脚本放在普通数据卷上即可,不要放在 M.2 卷。
- ⚠️ 风险点:
-f/--force会禁用全部兼容性检查,导致数据去重与群晖品牌硬盘固件更新不可用,且不适用于 DSM 7.4,只在常规手段无效时使用;RAID 5、RAID 6 或 3 块以上 SSD 的 SHR 阵列(RAID 指把多块硬盘组合成一个存储空间的方式)中不要对第三方 SSD 启用 TRIM。 - 备份:脚本首次编辑数据库前会自动备份数据库文件;求稳可先做一次系统快照。
最小可行方案:3步让脚本生效
获取与放置
📥 从源仓库的 Release 页面下载最新 Source code (zip) 解压到 NAS,或用 SSH 克隆:
cd /volume1 git clone https://gitcode.com/GitHub_Trending/sy/Synology_HDD_db解压后确认目录内同级别存在syno_hdd_db.sh与syno_hdd_vendor_ids.txt;若使用 E10M20-T1、M2D20 或 M2D18 这类 M.2 卡,还需要dtc或bin文件夹。
一条命令生效
以 root 身份执行,-n关闭驱动数据库自动更新,-r关闭第三方内存兼容性提示(DSM 7.x):
sudo -s /volume1/Synology_HDD_db/syno_hdd_db.sh -nr脚本会先列出检测到的硬盘、M.2 盘与扩展柜,再把缺失条目写入对应数据库文件,最后提示 DSM 重新检查兼容性;涉及 M.2 盘时执行后可能需要重启一次。
验证结果
✅ 追加--showedits再跑一次,可看到每个型号被写入了哪个数据库文件:
sudo -s /volume1/Synology_HDD_db/syno_hdd_db.sh -nr --showedits输出中出现各硬盘"already exists in …"字样即表示条目已入库。随后打开存储管理器,硬盘不再显示"不兼容"或"未识别固件版本"。
分场景进阶:用参数处理常见情形
补充未知品牌的供应商 ID
现象:M.2 NVMe 盘在存储管理器中品牌显示为 Unknown brand、固件未识别。脚本运行时会在屏幕上打印该盘缺失的 vendor ID,把它追加到同目录的 syno_hdd_vendor_ids.txt 中保存,再运行一次-nr。验证:存储管理器中品牌与固件版本均正常显示。
关闭 WD 盘三年期误报
现象:WD 硬盘运行满三年后弹出寿命预警,实际由 WDDA(西数设备分析)触发,DSM 7.2.1 之后已默认禁用。处理:在原有命令后追加-w参数运行。验证:存储管理器不再出现新的该预警。
启用 M.2 卡与存储池
现象:第三方 M.2 SSD 或 M.2 卡(M2D20、M2D18、E10M20-T1 等)被识别,但无法创建存储池。处理:命令追加-p以启用未知 PCIe 适配卡上的 M.2 卷;DSM 7.2 及以上机型还应把脚本设为任务计划中"开机时"触发的任务,保证每次启动都重新生效。验证:存储管理器中出现 M.2 存储池与缓存的创建入口。
更新 IronWolf 健康监测
现象:新款 IronWolf 与 IronWolf Pro 硬盘无法运行健康监测(仅 x86_64 机型支持)。处理:
sudo -s /volume1/Synology_HDD_db/syno_hdd_db.sh -I验证:存储管理器"硬盘/SSD > 健康信息"的 IronWolf Health 页签下能看到 Normal 测试结果。
出问题时:错误现象速查表
| 现象 | 可能原因 | 处理方法 |
|---|---|---|
/usr/bin/env: 'bash\r': No such file or directory | 文件是 Mac 换行符 | 重新从 Release 页下载最新源码 zip 并解压 |
光标不动,或syntax error near unexpected token | 文件为 Windows 换行符,或下载到的是网页 | 重新下载源码 zip,确认已解压出syno_hdd_db.sh |
No such file or directory | 运行的是压缩包,或路径含空格 | 运行解压后的.sh文件;含空格的整段路径加双引号 |
| 硬盘仍显示"不兼容" | 硬盘在不兼容列表,或数据库被系统更新覆盖 | 追加-i重跑;最后手段才加-f(DSM 7.4 不可用) |
| M.2 盘仍显示 Unverified | 脚本版本过旧导致改错数据库文件 | 按 CHANGES.txt 更新到最新脚本后重跑 |
维护清单:定期任务与回滚方法
- 每次新增或更换硬盘后,运行一次
-nr同步数据库。 - DSM 升级后数据库会被重置,建议在 DSM 任务计划中创建"开机时"触发的用户定义脚本任务,让
syno_hdd_db.sh -nr每次启动自动执行。 - 需要更新群晖品牌硬盘固件时:先不带
-n运行一次,再到存储管理器高级设置中点击"Update Now"更新驱动数据库,最后带-nr重跑脚本。
- 回滚全部修改只需一条命令(如用过
-S读取源设置,需同时追加--ssd=restore):
sudo -s /volume1/Synology_HDD_db/syno_hdd_db.sh --restore它只改动驱动数据库与相关开关,能让第三方硬盘被 DSM 识别,但数据安全仍取决于硬盘本身与你的 RAID 配置。
【免费下载链接】Synology_HDD_dbAdd your HDD, SSD and NVMe drives to your Synology's compatible drive database and a lot more项目地址: https://gitcode.com/GitHub_Trending/sy/Synology_HDD_db
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考