Files
StrixScripts/HDD/repair-hdd.md
T

3.7 KiB

repair-hdd.sh

Презаписва избран диск, за да задейства remap на проблемни сектори, след което изпълнява SMART extended self-test и показва финален отчет.

Какво прави

Скриптът записва целия block device с нули или псевдослучайни данни. След това стартира продължителен SMART self-test и изчаква очакваното му време, преди да покаже резултата и SMART атрибутите. Изходът се записва в /var/log/hdd-repair/.

Операцията унищожава всички данни на избрания диск. Преди запис скриптът проверява дали дискът участва в root filesystem, проверява за монтирани дъщерни устройства и активен swap, и изисква изрично потвърждение YES. Ако дъщерно устройство не може да се демонтира, скриптът прекратява операцията.

В началото скриптът показва наличните block devices, размер, тип, файлов тип и mount points; подаденият диск е оцветен в червено в терминал. След това предупреждава, че работата може да продължи часове, и изисква отговор 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

Употреба

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 не възстановява данни и не гарантира, че дискът ще стане надежден; запази резервно копие и подмени диск с повтарящи се грешки.