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