3.0 KiB
repair-hdd.sh
Презаписва избран диск, за да задейства remap на проблемни сектори, след което изпълнява SMART extended self-test и показва финален отчет.
Какво прави
Скриптът записва целия block device с нули или псевдослучайни данни. След
това стартира продължителен SMART self-test и изчаква очакваното му време,
преди да покаже резултата и SMART атрибутите. Изходът се записва в
/var/log/hdd-repair/.
Операцията унищожава всички данни на избрания диск. Преди запис скриптът
проверява дали дискът участва в root filesystem, проверява за монтирани
дъщерни устройства и активен swap, и изисква изрично потвърждение YES.
Ако дъщерно устройство не може да се демонтира, скриптът прекратява
операцията.
Използвай само с правилно идентифициран диск, който можеш безопасно да
изтриеш. Изисква пряка SATA връзка; smartctl не използва -d sat, затова
USB адаптер може да изисква ръчна промяна на извикванията в скрипта.
Изисквания
- Linux и Bash
- Root права (
sudo) smartctlот пакета smartmontoolsfindmnt,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 не възстановява данни и не гарантира, че дискът ще стане надежден; запази резервно копие и подмени диск с повтарящи се грешки.