# repair-hdd.sh Презаписва избран диск, за да задейства remap на проблемни сектори, след което изпълнява SMART extended self-test и показва финален отчет. ## Какво прави Скриптът записва целия block device с нули или псевдослучайни данни. След това стартира продължителен SMART self-test и изчаква очакваното му време, преди да покаже резултата и SMART атрибутите. Изходът се записва в `/var/log/hdd-repair/`. **Операцията унищожава всички данни на избрания диск.** Преди запис скриптът проверява дали дискът участва в root filesystem, проверява за монтирани дъщерни устройства и активен swap, и изисква изрично потвърждение `YES`. Ако дъщерно устройство не може да се демонтира, скриптът прекратява операцията. В началото скриптът предупреждава, че работата може да продължи часове, и изисква отговор `yes` за продължаване или `no` за прекратяване. По време на целия процес не изключвай компютъра, не го рестартирай/приспивай и не прекъсвай захранването или връзката с диска. Преди самия запис има отделно потвърждение с `YES`. Използвай само с правилно идентифициран диск, който можеш безопасно да изтриеш. Изисква пряка SATA връзка; `smartctl` не използва `-d sat`, затова USB адаптер може да изисква ръчна промяна на извикванията в скрипта. ## Изисквания - Linux и Bash - Root права (`sudo`) - `smartctl` от пакета smartmontools - `findmnt`, `lsblk`, `readlink`, `swapon`, `umount` и стандартните GNU/Linux помощни команди, използвани от скрипта - OpenSSL е незадължителен; при липса режимът `random` използва `/dev/urandom` ## Употреба ```bash sudo ./HDD/repair-hdd.sh --help sudo ./HDD/repair-hdd.sh /dev/sdX sudo ./HDD/repair-hdd.sh /dev/sdX zero sudo ./HDD/repair-hdd.sh /dev/sdX null sudo ./HDD/repair-hdd.sh /dev/sdX random ``` | Аргумент | Описание | |----------|----------| | `DEVICE` | Целият диск, например `/dev/sdX`, не дял от него | | `zero` | Записва нули; режим по подразбиране | | `null` | Синоним на `zero` | | `random` | Записва псевдослучайни данни | | `-h`, `--help` | Показва помощта и приключва | Изпълнението може да продължи часове. Не прекъсвай захранването или връзката с диска по време на записа или SMART теста. SMART remap не възстановява данни и не гарантира, че дискът ще стане надежден; запази резервно копие и подмени диск с повтарящи се грешки.