[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-71832":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},71832,"Synology_HDD_db","007revad\u002FSynology_HDD_db","007revad","Add your HDD, SSD and NVMe drives to your Synology's compatible drive database and a lot more","",null,"Shell",5538,356,82,48,0,10,28,63,30,103.96,"MIT License",false,"main",true,[27,28,29,30,31,32,33],"diskstation","dsm","rackstation","synology","synology-disk-station","synology-dsm","synology-nas","2026-06-12 04:01:01","# Synology HDD db\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002F007revad\u002FSynology_HDD_db\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002F007revad\u002FSynology_HDD_db.svg\">\u003C\u002Fa>\n![Badge](https:\u002F\u002Fhitscounter.dev\u002Fapi\u002Fhit?url=https%3A%2F%2Fgithub.com%2F007revad%2FSynology_HDD_db&label=Visitors&icon=github&color=%23198754&message=&style=flat&tz=Australia%2FSydney)\n[![Donate](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDonate-PayPal-green.svg)](https:\u002F\u002Fwww.paypal.com\u002Fpaypalme\u002F007revad)\n[![](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https:\u002F\u002Fgithub.com\u002Fsponsors\u002F007revad)\n\u003C!-- [![committers.top badge](https:\u002F\u002Fuser-badge.committers.top\u002Faustralia\u002F007revad.svg)](https:\u002F\u002Fuser-badge.committers.top\u002Faustralia\u002F007revad) -->\n\u003C!-- [![committers.top badge](https:\u002F\u002Fuser-badge.committers.top\u002Faustralia_public\u002F007revad.svg)](https:\u002F\u002Fuser-badge.committers.top\u002Faustralia_public\u002F007revad) -->\n\u003C!-- [![committers.top badge](https:\u002F\u002Fuser-badge.committers.top\u002Faustralia_private\u002F007revad.svg)](https:\u002F\u002Fuser-badge.committers.top\u002Faustralia_private\u002F007revad) -->\n\u003C!-- [![Github Releases](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002F007revad\u002Fsynology_hdd_db\u002Ftotal.svg)](https:\u002F\u002Fgithub.com\u002F007revad\u002FSynology_HDD_db\u002Freleases) -->\n\n### Description\n\nAdd your SATA or SAS HDDs and SSDs plus SATA and NVMe M.2 drives to your Synology's compatible drive databases, including your Synology M.2 PCIe card and Expansion Unit databases. \n\nThe script works in DSM 7, including DSM 7.1, 7.2 and 7.3, and DSM 6.\n\nIt also has a restore option to undo all the changes made by the script.\n\nAlso works for 2025 series or later Plus models. See [2025_plus_models.md](https:\u002F\u002Fgithub.com\u002F007revad\u002FSynology_HDD_db\u002Fblob\u002Fmain\u002F2025_plus_models.md)\n\n#### What the script does:\n\n* Gets the Synology NAS model and DSM version (so it knows which db files to edit).\n* Gets a list of the HDD, SSD, SAS and NVMe drives installed in your Synology NAS.\n* Gets each drive's model number and firmware version.\n* Backs up the database files if there is no backup already.\n* Checks if each drive is already in the Synology's compatible-drive database.\n* Adds any missing drives to the Synology's compatible-drive database.\n* Optionally prevents DSM auto updating the drive database.\n* Optionally disable DSM's \"support_disk_compatibility\".\n* Optionally disable DSM's \"support_memory_compatibility\" to prevent \u003Ca href=images\u002Fram_warning.png\u002F>non-Synology memory notifications\u003C\u002Fa>.\n* Optionally edits max supported memory to match the amount of memory installed, if installed memory is greater than the current max memory setting.\n    * DSM only uses the max memory setting when calculating the reserved RAM area size for SSD caches.\n* Optionally set write_mostly for your internal HDDs so DSM will normally read from your faster internal SSD(s).\n    * It can automatically set DSM to read from your internal SSDs.\n    * Or you can tell the script which internal drive(s) DSM should read from.\n* Optionally disables Western Digital Device Analytics (aka WDDA) to prevent DSM showing a [warning for WD drives that are 3 years old](https:\u002F\u002Farstechnica.com\u002Fgadgets\u002F2023\u002F06\u002Fclearly-predatory-western-digital-sparks-panic-anger-for-age-shaming-hdds).\n    * DSM 7.2.1 already has WDDA disabled.\n* Makes DSM allow you to enable SSD TRIM on 3rd party SSDs and NVMes. Don't use the `-f` or --force` option if you want to enable SSD TRIM.\n    * Do ***NOT*** use TRIM on SSDs in RAID 5, RAID 6 or SHR with 3 or more SSDs unless you are certain your SSDs use TRIM [Method 1 mentioned here](https:\u002F\u002Fkb.synology.com\u002Fen-global\u002FDSM\u002Ftutorial\u002FWhy_is_SSD_TRIM_available_only_for_SSDs_in_the_compatibility_list).\n    * Enabling TRIM on SSDs that use TRIM [Method 2](https:\u002F\u002Fkb.synology.com\u002Fen-global\u002FDSM\u002Ftutorial\u002FWhy_is_SSD_TRIM_available_only_for_SSDs_in_the_compatibility_list) ***can result in data loss*** in RAID 5, RAID 6 and SHR with 3 or more drives.\n* Enables M2D20, M2D18, M2D17 and E10M20-T1 if present on Synology NAS that don't officially support them.\n    * Newer NAS models may also need [Synology_enable_M2_card](https:\u002F\u002Fgithub.com\u002F007revad\u002FSynology_enable_M2_card)\n* Checks that M.2 volume support is enabled (on models that have M.2 slots or PCIe slots).\n* Enables creating M.2 storage pools and volumes from within Storage Manager in DSM 7.2 and later **(newer models only?)**.\n    * Including M.2 drives in PCIe adaptor cards like M2D20, M2D18, M2D17 and E10M20-T1 for DSM 7.2 and above **(schedule the script to run boot)**.\n* Optionally update IronWolf Health Monitor to v2.5.1 to support recent model IronWolf and IronWolf Pro drives. **(NAS with x86_64 CPUs only)**.\n    * Also installs IronWolf Health Management on '22 series and newer models that don't have IronWolf Health Management **(untested)**.\n* Makes DSM recheck disk compatibility so rebooting is not needed if you don't have M.2 drives (DSM 7 only).\n    * **If you have M.2 drives you may need to reboot.**\n    * Reminds you that you may need to reboot the Synology after running the script.\n* Checks if there is a newer version of this script and offers to download it for you.\n  * The new version available messages time out so they don't prevent the script running if it is scheduled to run unattended.\n\n### Download the script\n\n1. Download the latest version _Source code (zip)_ from https:\u002F\u002Fgithub.com\u002F007revad\u002FSynology_HDD_db\u002Freleases\n2. Save the download zip file to a folder on the Synology.\n    - Do ***NOT*** save the script to a M.2 volume. After a DSM or Storage Manager update the M.2 volume won't be available until after the script has run.\n3. Unzip the zip file.\n\nOr via SSH as your regular user:\n```\ncd $HOME\nwget https:\u002F\u002Fgithub.com\u002F007revad\u002FSynology_HDD_db\u002Farchive\u002Frefs\u002Fheads\u002Fmain.zip -O syno_hdd_db.zip\n7z x syno_hdd_db.zip\ncd Synology_HDD_db-main && ls -ali\n```\n\n### Required files\n\nThe following files from the downloaded zip file must be in the same folder:\n\n1. syno_hdd_db.sh\n2. syno_hdd_vendor_ids.txt\n3. dtc or the bin folder containing dtc (only required if you have a E10M20-T1, M2D20 or M2D18 in a NAS that does not support them).\n\n### When to run the script\n\nYou would need to re-run the script after a DSM update. If you have DSM set to auto update the best option is to run the script every time the Synology boots, and the best way to do that is to \u003Ca href=how_to_schedule.md\u002F>setup a scheduled task\u003C\u002Fa> to run the the script at boot-up.\n\n**Note:** After you first run the script you may need to reboot the Synology to see the effect of the changes.\n\n### Options when running the script \u003Ca name=\"options\">\u003C\u002Fa>\n\nThere are optional flags you can use when running the script:\n```YAML\n  -s, --showedits       Show edits made to \u003Cmodel>_host db and db.new file(s)\n  -n, --noupdate        Prevent DSM updating the compatible drive databases\n  -r, --ram             Disable memory compatibility checking (DSM 7.x only)\n                        and sets max memory to the amount of installed memory\n  -f, --force           Force DSM to not check drive compatibility\n                        Do not use this option unless absolutely needed\n  -i, --incompatible    Change incompatible drives to supported\n                        Do not use this option unless absolutely needed\n  -w, --wdda            Disable WD Device Analytics to prevent DSM showing\n                        a false warning for WD drives that are 3 years old\n                          DSM 7.2.1 and later already has WDDA disabled\n  -p, --pcie            Enable creating volumes on M2 in unknown PCIe adaptor\n  -e, --email           Disable colored text in output scheduler emails\n  -S, --ssd=DRIVE       Enable write_mostly on internal HDDs so DSM primarily \n                        reads from internal SSDs or your specified drives\n                          -S automatically sets internal SSDs as DSM preferred\n                          --ssd=DRIVE requires the fast drive(s) as argument,\n                          or restore as the argument to reset drives to default\n                          --ssd=sata1 or --ssd=sata1,sata2 or --ssd=sda etc\n                          --ssd=restore\n      --restore         Undo all changes made by the script (except -S --ssd)\n                        To restore all changes including write_mostly use\n                          --restore --ssd=restore\n      --autoupdate=AGE  Auto update script (useful when script is scheduled)\n                          AGE is how many days old a release must be before\n                          auto-updating. AGE must be a number: 0 or greater\n  -I, --ihm             Update IronWolf Health Management to 2.5.1 to support\n                        recent model IronWolf and IronWolf Pro drives.\n                        For NAS with x86_64 CPUs only.\n                        Also installs IHM on '22 series and newer models (untested)\n      --reboot          Reboot after a DSM update when build number has changed\n                        Only works if script is running from a boot-up schedule\n                        Only needed if NVMe volume or PCIe card need a 2nd \n                        reboot after DSM update\n  -h, --help            Show this help message\n  -v, --version         Show the script version\n```\n\n**Notes:** \n- The -f or --force option is only needed if for some reason your drives still show as unsupported in storage manager.\n    - Only use this option as last resort.\n    - Using this option will prevent data deduplication from being available, and prevent firmware updates on Synology brand drives.\n- If you have some Synology drives and want to update their firmware run the script **without** --noupdate or -n then do the drive database update from Storage Manager and finally run the script again with your preferred options.\n\n### Scheduling the script in Synology's Task Scheduler\n\nSee \u003Ca href=how_to_schedule.md\u002F>How to schedule a script in Synology Task Scheduler\u003C\u002Fa>\n\n### Running the script via SSH\n\n[How to enable SSH and login to DSM via SSH](https:\u002F\u002Fkb.synology.com\u002Fen-global\u002FDSM\u002Ftutorial\u002FHow_to_login_to_DSM_with_root_permission_via_SSH_Telnet)\n\nYou run the script in a shell with sudo -s or as root.\n\n```YAML\nsudo -s \u002Fpath-to-script\u002Fsyno_hdd_db.sh -nr\n```\n\n**Note:** Replace \u002Fpath-to-script\u002F with the actual path to the script on your Synology.\n\n\u003Cp align=\"left\">\u003Cimg src=\"images\u002Fsyno_hdd_db1.png\">\u003C\u002Fp>\n\nIf you run the script with the --showedits flag it will show you the changes it made to the Synology's compatible-drive database. Obviously this is only useful if you run the script in a shell.\n\n```YAML\nsudo -s \u002Fpath-to-script\u002Fsyno_hdd_db.sh -nr --showedits\n```\n\n**Note:** Replace \u002Fpath-to-script\u002F with the actual path to the script on your Synology.\n\n\u003Cp align=\"left\">\u003Cimg src=\"images\u002Fsyno_hdd_db.png\">\u003C\u002Fp>\n\n### Troubleshooting\n\n| Issue | Cause | Solution |\n|-------|-------|----------|\n| \u002Fusr\u002Fbin\u002Fenv: ‘bash\\r’: No such file or directory | File has Mac line endings! | [Download latest zip file](https:\u002F\u002Fgithub.com\u002F007revad\u002FSynology_HDD_db\u002Freleases) |\n| Cursor sits there doing nothing | File has Windows line endings! | [Download latest zip file](https:\u002F\u002Fgithub.com\u002F007revad\u002FSynology_HDD_db\u002Freleases) |\n| syntax error near unexpected token | You downloaded the webpage! | [Download latest zip file](https:\u002F\u002Fgithub.com\u002F007revad\u002FSynology_HDD_db\u002Freleases) |\n\nIf you get a \"No such file or directory\" error check the following:\n\n1. Make sure you downloaded the zip or rar file to a folder on your Synology (not on your computer).\n2. Make sure you unpacked the zip or rar file that you downloaded and are trying to run the syno_hdd_db.sh file.\n3. If the path to the script contains any spaces you need to enclose the path\u002Fscriptname in double quotes:\n   ```YAML\n   sudo -s \"\u002Fvolume1\u002Fmy scripts\u002Fsyno_hdd_db.sh -n\"\n   ```\n4. Set the script file as executable:\n   ```YAML\n   sudo chmod +x \"\u002Fvolume1\u002Fscripts\u002Fsyno_hdd_db.sh\"\n   ```\n\n\n### vendor_ids.txt\n\nYou only need to edit syno_hdd_vendor_ids.txt if the script warns you about a missing vendor id.\n\nIf DSM doesn't know the brand of your NVMe drives they will show up in Storage Manager as Unknown brand, and Unrecognised firmware version.\n\n\u003Cp align=\"left\">\u003Cimg src=\"images\u002Funknown.png\">\u003C\u002Fp>\n\nIn this case the script will show you the vendor ID and advise you to add it to the syno_hdd_vendor_ids.txt file.\n\n\u003Cp align=\"left\">\u003Cimg src=\"images\u002Fvendor_ids.png\">\u003C\u002Fp>\n\n### Ironwolf Health\n\nIronwolf Health working with the latest version of Ironwolf Health Monitor.\n\u003Cp align=\"left\">\u003Cimg src=\"images\u002Fihm.png\">\u003C\u002Fp>\n\n\u003Cbr>\n\n### Credits\n\n- The idea for this script came from a comment made by Empyrealist on the Synology subreddit.\n- Thanks for the assistance from Alex_of_Chaos on the Synology subreddit.\n- Thanks to dwabraxus and aferende for help detecting connected expansion units.\n- Thanks to bartoque on the Synology subreddit for the tip on making the script download the latest release from GitHub.\n- Thanks to nicolerenee for pointing out the easiest way to enable creating M.2 storage pools and volumes in Storage Manager.\n- Thanks to Xeroxxx for the writemostly suggestion and their writeup here: https:\u002F\u002Fwww.techspark.de\u002Fspeed-up-synology-dsm-with-hdd-ssd\u002F\n\n### Donators\n\nThank you to the PayPal and Buy Me a Coffee donators, GitHub sponsors and hardware donators\n\n|  |  |  |  | \n|--------------------|--------------------|----------------------|----------------------|\n|  |  |  | David Koch |\n| EVOX S.R.L.S | Adam | Danny Schoonderwoert | Andrew Ward |\n| nickcolea | Bruno | eColombel | LordGardenGnome |\n| Dennis Struck | matthewslack | Adrien | Florian Hinhamer |\n| Patrick Witon | Sonwoa1 | apbirch67 | Tim |\n| Robert | Moritz Bloser | Jason Huang | James Welsh |\n| robinhood1995 | Paul Fiorento | Gwystyl | Matt Hann |\n| Robert Šega | Marco Brenke | Martinus Humblet | Dirk Köhler |\n| KryoFlux GmbH | Frederic Gobry | bizIT Hirschberg | Alexander Ziemann |\n| Chris Black Media | Brent Bertram | Carsten Schmidt | Christopher Nichols |\n| Roland Thätig | Sebastian Brandt | HFB2022 | jtrouzes |\n| stove | Simon Küest | Oliver Weber | Kevin Randino |\n| Alex Tripp | Peter Kleissner | Dominic Lee | Daniel Boecker |\n| Pat A Phillips | Craikeybaby | Jason DeCorte | Salovaara Antti Sakari |\n| Jérôme MORIN | Sven Bauer | Fabien Vallet | Fabio Petgola |\n| lonestar6262 | Netchoice | Fabio Cecchinato | Jacek  |\n| Dugan Audio LLC | MikeSx  | Toregev  | M. Verhoef | \n| Philipp Ehmeier | Adrian Playle | Daniel Meda | Richard Wilhelm | \n| Mika255 | Ralf Edelwein | Martin | Alexander Habisreitinger | \n| jrn | Marcus Wojtusik | Will (war59312) | Christopher Maglio |\n| Flow | Jake Morrison | tsnyder | zhangchi198 | \n| leadadri | Gary Plumbridge | frogger1805 | ctrlaltdelete | \n| CannotTouch | Kevin Staude | Alistair Hathaway | 8347 | \n| BrattishPlaque | Chris Bunnell | dansimau | Bsih | \n| Tim Trace | Michel VIEUX-PERNON | R De Jong | Rick | \n| Klaus-Dieter Fahlbusch | Amarand Agasi | someone61986 | Alexander Machatschek | \n| Yeong​Nuno | Joe | Torben Schreiter | Anthony McMurray | \n| Abhishek | Steven Haskell | Malte Müller | Aaron Thomas | \n| DENNIS BRAZIL | kunvanimals | Arnaud Costermans | dealchecker |\n| Michael Carras | Alan | speedyyyyyy | Jordi Chavarria Fibla |\n| Qwerty.xyz | Max | Mark Rohde | Someone |\n| vaadmin | Sebastiaan Mulder | Nico Stark | Oleksandr Antonishak |\n| Marcel Siemienowski | Dave Smart | dweagle79 | lingyinsam | \n| Vojtech Filkorn | Craig Sadler | Po-Chia Chen | Jean-François Fruhauf |\n| Sven 'ctraltdelete' | Thomas Horn | Christian | Simon Azzouni |\n| Lee Booy | Bünyamin Olgun | Hartmut Heinbach | Alexander Gundermann |\n| Björn Schöninger | Nico Scherer | Patrick Hoekstra | Alex Joyce |\n| Marcus Ackermann | Lorenz Schmid | enil-kil | Xaver Zöllner |\n| Jan Bublitz | Darren O'Connor | Charles Young | J Davis | \n| Jürg Baiker | Joshua Gillispie | bizIT Hirschberg | Jordan Crawford |\n| Tyler Teal | Voluntary Commerce LLC | Ez Hosting | Alec Wilhere |\n| Reece Lyne | Enric Escudé Santana | Yunhao Zhang | Matthias Gerhardt |\n| Darryl Harper | Mikescher | Matthias Pfaff | cpharada |\n| Neil Tapp | zen1605 | Kleissner Investments | Angel Scandinavia |\n| B Collins | Peter jackson | Mir Hekmat | Andrew Tapp |\n| Peter Weißflog | Joseph Skup | Dirk Kurfuerst | Gareth Locke |\n| Rory de Ruijter | Nathan O'Farrell | Harry Bos | Mark-Philipp Wolfger |\n| Filip Kraus | John Pham | Alejandro Bribian Rix | Daniel Hofer |\n| Bogdan-Stefan Rotariu | Kevin Boatswain | anschluss-org | Yemeth |\n| Patrick Thomas | Manuel Marquez Corral | Evrard Franck | Chad Palmer |\n| 侯​永政 | CHEN​HAN-YING | Eric Wells | Massimiliano Pesce |\n| JasonEMartin | Gerrit Klussmann | Alain Aube | Robert Kraut |\n| Charles-Edouard Poisnel | Oliver Busch | anonymous donors | private sponsors |\n","该项目旨在帮助用户将硬盘、SSD和NVMe驱动器添加到Synology NAS的兼容驱动器数据库中。其核心功能包括自动检测已安装的驱动器型号及固件版本，备份数据库文件，并在必要时更新兼容性数据库。此外，该脚本还提供了多种高级选项，如阻止DSM自动更新驱动数据库、禁用内存兼容性检查以及优化内部SSD读取策略等。适用于需要扩展或自定义存储设备兼容性的Synology DiskStation和RackStation用户，支持DSM 6和7系列系统版本。",2,"2026-06-11 03:38:51","high_star"]