3.8 KiB
erase-storage.sh
Изтрива един дял с еднократен запис на нули или псевдослучайни данни, или използва поддържания от устройството ATA Secure Erase/NVMe Sanitize за цял диск.
Какво прави
При подаване на дял, скриптът записва точно размера на целия дял един път. По подразбиране
използва нули; може да се избере и /dev/urandom. Изисква root права,
проверява че устройството не е монтирано, не е активен swap и не участва в
root filesystem, след което иска потвърждение чрез въвеждане на точния път.
При подаване на цял диск скриптът проверява поддръжката преди да продължи. За NVMe избира наличния Sanitize метод в следния ред: Crypto Erase, Block Erase, Overwrite. За ATA избира Enhanced Security Erase, ако устройството го обявява, иначе стандартен Security Erase. Ако методът не може да бъде потвърден, устройството е замразено/вече е с активирана ATA защита или информацията за capability е неясна, скриптът отказва да продължи. Преди изтриването на цял диск показва отделно предупреждение и изисква две потвърждения, като второто е точното име на устройството.
Изтриването е необратимо и при режим за цял диск засяга всички дялове. Не прекъсвай захранването или връзката с диска. При прекъсване на ATA Security Erase устройството може да остане заключено с временната парола, посочена в съобщението за грешка. Secure Erase/Sanitize зависи от коректната реализация във firmware на устройството; скриптът не може да гарантира възстановимост или физическо състояние на носителя.
Изисквания
- Linux, Bash и root права (
sudo) lsblk,findmnt,swapon,ddи GNU/Linux стандартни помощни команди- За NVMe:
nvme-cliиjq - За ATA:
hdparm
Употреба
sudo ./HDD/erase-storage.sh --help
sudo ./HDD/erase-storage.sh /dev/sda1
sudo ./HDD/erase-storage.sh /dev/nvme0n1p2 random
sudo ./HDD/erase-storage.sh /dev/sda
sudo ./HDD/erase-storage.sh /dev/nvme0n1
dev/sda1 без начална наклонена черта също се приема като /dev/sda1.
| Аргумент | Описание |
|---|---|
DEVICE |
Block device — дял или цял диск |
zero |
Един проход с нули върху дял; режим по подразбиране |
random |
Един проход с псевдослучайни данни върху дял |
-h, --help |
Показва помощта и приключва |
Режимът zero/random не е Secure Erase и не гарантира изтриване на
пренасочени или недостъпни физически сектори. При SSD не използвай обикновен
запис към дял като гаранция за заличаване; използвай само успешно завършен
Sanitize/Secure Erase, поддържан от устройството.