Files
StrixScripts/HDD/erase-storage.md
T

3.8 KiB
Raw Blame History

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, поддържан от устройството.