Enkelte ganger ønsker man å slette absolutt alle spor etter filene som er på en disk. Det er mange årsaker til dette. En vanlig grunn er at man ønsker å selge en SSD eller en HDD.
Når man sletter en fil fra en disk så er det slik at den i realiteten ikke blir fjernet fra disken. Det som skjer er at raden i filsystem tabellen som kobler sammen fil og fysisk plassering av dataen i filen på disk blir slettet. Så med rett verktøy er det dermed mulig å gjenopprette filer på en disk, selv etter at disken har blir reformatert og alle filer tilsynelatende har blitt slettet.
For å gjøre det enormt mye mer vanskelig å gjenopprette slettede filer fra en disk kan man overskrive absolutt hele disken med tilfeldige data.
Til denne jobben er Linux perfekt.
Forberedelser
Fjern alle partisjoner på disken og opprette en ny som dekker hele
Start med å finne ut hva disken heter i filsystemet ditt. Det gjøres lettest med kommandoen lsblk før og etter at du kobler til disken
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 39,5G 0 part /
...
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 39,5G 0 part /
sdb 8:16 0 10G 0 disk
├─sdb1 8:17 0 500M 0 part
├─sdb2 8:18 0 500M 0 part
└─sdb3 8:19 0 1G 0 part
...
Ved å sammenligne resultat fra lsblk kan vi se at disken vi skal gjøre noe med heter sdb. Om det ikke var en ekstern eller ny disk vi koblet til kan vi se at partisjonene på disken ikke er mountet noe sted i filsystemet vårt. Dermed er det er bare å sette i gang.
Vi kan nå bruke programmet fdisk til å slette alle partisjoner på disken, og opprette en ny partisjon som fyller hele disken.
sudo fdisk /dev/sdb
Fdisk er ett interaktivt terminal program, som vil gi deg muligheten til å endre på partisjons tabellen disken. Start med skrive inn kommandoen "d" for å slette en partisjon. Siden vi skal slette alt på diksen trykker vi <enter> for å slette den partisjonen som programmet foreslår. Gjenta dette til alle partisjoner på disken er slettet.
Nå må det opprettes en partisjon som dekker hele disken. Dette gjøres med å skrive inn kommandoen "n". Trykk <enter> for å godta alle forslagene som programmet foreslår. Hvis du får ett spørsmål om du vil fjerne en signatur er det vare å trykke "y" for å godta det også.
Til slutt lagrer vi endringene i partisjons tabellen til disken ved å trykke "w". Dette vil ta deg ut av fdisk og tilbake til terminalen.
For å kontrollere at disken ble som ønsket kan vi teste det med lsblk
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 39,5G 0 part /
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 10G 0 part
...
Som vi kan se over har disken sdb kun en partisjon. Denne partisjonen dekker hele disken.
Overskriving av hele disken
Før vi kan overskrive disken, må vi først vite hvor stor hver sektor på disken er.
sudo fdisk -l /dev/sdb
Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x447b5cb2
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 20971519 20969472 10G 83 Linux
Som vi kan se over er det 512 bytes i hver disk sektor. Når vi vet dette er det klart for å overskrive hele disken med tilfeldige bytes. Til dette brukes kommandoen "dd", som kan ta data fra datastrømmen med tilfeldig data i /dev/urandom og lagrer det i partisjonen på disken.
sudo dd if=/dev/urandom of=/dev/sdb1 bs=512 status=progress
130515456 bytes (131 MB, 124 MiB) copied, 4 s, 48,6 MB/s
Dette vil kjøre helt til hele disken fylt opp med tilfeldig data, da vil den stoppe av seg selv.
Hvor lang tid det vil ta å gjennomføre denne jobben vil avhenge av skrive hastigheten til disken. Typisk vil en HDD ha skrivehastighet på 60MB/s. Det vil si at en HDD på 4TB vil ta 18.5 timer å overskrive.
Helt til slutt kan det være fint å slette partisjonen som vi opprettet, slik at disken kan overleveres som tilsynelatende fabrikkny.