Wissen is niet
hetzelfde als formatteren.
Op /wat-mag-erop staat de regel: data eraf, altijd, en zet in je advertentie hoe je het gedaan hebt. Deze pagina is de "hoe". Vier stappen, en per schijftype een andere methode, want wat op een harde schijf werkt doet op een SSD niets.
Lees dit eerst
- Deze commando's vernietigen alles op de genoemde schijf. Er is geen prullenbak en geen ongedaan maken.
- /dev/sdX en /dev/sda zijn voorbeelden, geen adres van jouw schijf. Controleer het serienummer voordat je iets uitvoert, en controleer of je niet op je eigen systeemschijf zit.
- Dit is een homelab-handleiding van 1 onbetaalde beheerder, geen gecertificeerde procedure. Wij geven geen enkele garantie dat dit compleet of juist is voor jouw hardware, firmware of situatie. Je voert het uit op eigen risico; Cloudmarktplaats en de beheerder aanvaarden geen aansprakelijkheid voor dataverlies of schade.
- Stond er data van klanten, medewerkers of patiënten op? Dan is dit niet genoeg. Onder de AVG blijf jij verwerkingsverantwoordelijke, ook nadat de schijf verkocht is, en een schijf die de deur uit gaat zonder aantoonbare sanering is een datalek dat bij jou ligt. Gebruik een verwerker die je een certificaat levert.
- Twijfel je? Verkoop de schijf dan niet. Een schijf is 20 euro waard en een datalek een veelvoud daarvan.
Vier stappen, in deze volgorde
-
01
Stel vast welke schijf het is
/dev/sdX bestaat niet. Letters verschuiven tussen herstarts, dus controleer het serienummer tegen de sticker op de schijf zelf.
lsblk -o NAME,SIZE,MODEL,SERIAL -
02
Lees de schijf uit voordat je hem wist
Draaiuren en herverdeelde sectoren horen in je advertentie. Na het wissen kun je ze nog steeds lezen, maar dan weet je niet meer welke schijf het was.
sudo smartctl -a /dev/sda | grep -E 'Power_On_Hours|Reallocated_Sector|Current_Pending' -
03
Wis, met de methode die bij het type schijf hoort
Een HDD en een SSD vragen om iets anders. Zie hieronder welke bij jouw schijf hoort. Dit is de stap zonder weg terug.
-
04
Controleer dat er nullen staan
Geen bewijs, wel de goedkoopste manier om te merken dat je de verkeerde schijf te pakken had of dat er niets gebeurd is.
sudo dd if=/dev/sda bs=1M count=100 status=none | hexdump -C | head
En dan geeft smartctl niets terug
Dat ligt bijna nooit aan de schijf. Er zit iets tussen dat de opdracht niet doorgeeft, en dan is de vraag welke omweg je neemt.
- Een USB-behuizing ertussen
- De brug in het dockingstation geeft SMART-opdrachten vaak niet door. Met -d sat stuur je ze er alsnog doorheen. Weet je het type niet: smartctl --scan noemt het.
sudo smartctl -a -d sat /dev/sdb- Achter een RAID-controller
- Een PERC of LSI laat het besturingssysteem de array zien en niet de schijven. Het nummer achter megaraid is de fysieke slot, dus tel omhoog tot je hem hebt. Een HP Smart Array gebruikt cciss in plaats van megaraid.
sudo smartctl -a -d megaraid,0 /dev/sda- NVMe
- NVMe kent de ATA-attributen niet. Het getal heet hier gewoon power_on_hours.
sudo nvme smart-log /dev/nvme0- SAS in plaats van SATA
- Een SAS-schijf heeft geen attribuut 9. Het staat er als "Accumulated power on time, hours:minutes", verderop in dezelfde uitvoer.
sudo smartctl -a /dev/sdb | grep -i "power on time"
Komt er dan nog niets uit, zet dan "draaiuren onbekend" in je advertentie. Dat is een geldig antwoord. Een koper kan een schatting namelijk niet controleren, en een getal dat je erbij verzint kost je precies het vertrouwen waarvoor hij hier komt.
Stap 3, per type schijf
HDD (magnetisch)
1 pass met nullen. NIST SP 800-88 Rev. 1 noemt dat voldoende voor elke schijf van na 2001. Bereikt geen herverdeelde sectoren; wil je die ook, gebruik dan Secure Erase.
sudo shred -n 0 -z -v /dev/sda
SSD en HDD via SATA (Secure Erase)
De firmware wist zichzelf, inclusief reservesectoren. Eerst een wachtwoord zetten, anders weigert de schijf. Duurt seconden tot minuten.
sudo hdparm --user-master u --security-set-pass p /dev/sda
sudo hdparm --user-master u --security-erase p /dev/sda
NVMe
Crypto erase (-s 2) gooit de interne sleutel weg en is klaar voor je koffie koud is. Ondersteunt je schijf dat niet, gebruik dan -s 1.
sudo nvme id-ctrl /dev/nvme0 -H | grep -i 'crypto erase'
sudo nvme format /dev/nvme0n1 -s 2
NAS (Synology, QNAP)
De data zit in de schijven, niet in het kastje. Een fabrieksreset van de NAS laat de schijven vol staan, en de configuratiepartitie staat op álle schijven tegelijk. Haal ze eruit en behandel ze los.
Versleuteld vanaf dag 1
LUKS of BitLocker vanaf het begin is de goedkoopste variant van dit hele verhaal: de sleutel weggooien maakt de rest onleesbaar. Achteraf versleutelen doet dat niet, want de oude blokken staan er dan nog.
sudo cryptsetup luksErase /dev/sda
En dan zegt hdparm "frozen"
Dat doet je BIOS, om te voorkomen dat software zomaar een schijf wist. Slaapstand in en er weer uit haalt de vergrendeling eraf, en dat is veiliger dan het alternatief dat je overal leest (de SATA-kabel eruit trekken en er weer in duwen terwijl de machine aan staat).
sudo hdparm -I /dev/sda | grep -i frozen
sudo systemctl suspend
Wat niet werkt
- NEE Snel formatteren of de partitie verwijderen Dat wist de inhoudsopgave, niet de data. Een herstelprogramma van 20 euro haalt het terug.
- NEE 7 of 35 keer overschrijven DoD 5220.22-M en Gutmann komen uit het MFM/RLL-tijdperk. Op moderne schijven kost het een dag en levert het niets op boven 1 pass.
- NEE Een SSD overschrijven Door wear leveling en over-provisioning schrijf je niet naar de blokken waar je data staat. Gebruik Secure Erase of crypto erase.
- NEE Een SSD degaussen Er is niets magnetisch aan. De schijf blijft leesbaar.
- NEE Een schijf met kapotte elektronica "even" wissen Reageert hij nergens op, dan kun je hem ook niet wissen. Verkoop hem als defect zonder de schijf zelf, of laat hem vernietigen.
Wat je in je advertentie zet
Vier regels zijn genoeg: hoe je gewist hebt, hoeveel draaiuren erop staan, hoeveel herverdeelde sectoren er zijn, en wat SMART als eindoordeel geeft. Wie hier een tweedehands schijf koopt, koopt vooral zekerheid over wat hij krijgt. Die zekerheid is meer waard dan de tien euro die je van de prijs afhaalt.