Hoe beheer je een harde schijf of ssd in Linux. Aandacht voor veilig verwijderend data, opnieuw partioneren en versleutelen van partities.
01 Veilig verwijderen data
harde schijf
Zorg vooraf dat er geen partities gemount zijn! Bij een harde schijf kun je het best gebruik maken van de shred utility. Standaard overschrijft het programma de data van gekozen partitie of schijf met random data, die daarna nog eens 4 keer overschreven wordt met nullen. Een partitie kun je zo veilig overschrijven:
shred -vfzn 1 /dev/sdb4
Een hele schijf wissen inclusief de partitiontable gaat als volgt:
shred -vfzn 3 /dev/sdb
Let op! Bij de partitie wordt de data 2 keer overschreven 1 keer met random data en 1 keer met nullen (n 1) bij de schijf gaan we voor 3 keer met nullen. (n 3)
SSD en NVME
Het veilig wissen van dit soort schijven vraagt om een heel andere aanpak. Dat komt omdat de opslag techniek heel anders werkt dan bij harde schijven. daarom verwijs ik naar de arch wiki voor meer informatie:
Solid state drive/Memory cell clearing
02 partitioneren
Voor het formateren van harde schijven gebruik ik meestal fdisk, hieronder een paar aantekeningen die je als naslag kunt gebruiken.
fdisk /dev/sdb
- letter p:
- overzicht van huidige partitie tabel
gpt partitie tabel
Sterk aan te bevelen bij een UEFI BIOS en windows. UEFI is al heel lang de standaard.
- letter g:
- om een nieuwe GPT partitie tabel te maken.
DOS partitie tabel
Voor oude machines, is dit de standaard als ze nog geen UEFI Bios hebben. Wil je alleen linux installeren dan is dit ook een optie bij nieuwere systemen. Maar nogmaals niet aan te bevelen.
- letter o:
- om een nieuwe DOS partitie tabel te maken
type partites
- Letter l:
- opsomming van alle mogelijke partitie types
Meest gebruikte type partities:
type | omschrijving | uitleg |
---|---|---|
1 | EFI System | nodig voor de bootloader om een UEFI systeem te starten |
19 | SWAP | gebruik je voor SWAP partition (minimaal 1 x geheugen, max 1,5 geheugen) ook gebruikt bij hybernation |
20 | Linux filesysteem | HOME en ROOT partition |
30 | Linux LVM | Gebruiken als je werkt met Logical Volume Management (handig voor snapshots |
- Letter n:
- nieuwe partitie toevoegen
De beginsector kun je meestal overnemen. De eindsector kun je aangeven als vogt:
- +20G partitie wordt 20 Gig groot
- +250M partitie wordt 250 mb
- -50G partitie groeit maar houd 50G vrije ruimte over aan het eind van de schijf
03 versleutelen
Envrypt je partitie met luks
tools
In debian hebben we de volgende tools nodig om een partitie te encrypten en om te booten van deze partitie:
sudo apt install cryptsetup cryptsetup-initramfs
versleutel partitie en open
Versleutel je partitie met:
cryptsetup -y -v luksFormat /dev/sdb3
Open de versleutelde partitie als bijvoorbeeld “cryptbtrfs”
sudo cryptsetup open /dev/sdb3 cryptbtrfs
Je partitie schema kan er bijvoorbeeld zo uitzien:
sdb 8:16 0 465.8G 0 disk
├─sdb1 8:17 0 1024M 0 part
├─sdb2 8:18 0 114.7G 0 part
└─sdb3 8:19 0 350G 0 part
└─cryptbtrfs 254:1 0 350G 0 crypt
Het versleutelde block device heeft nu de volgende naam:
/dev/mapper/cryptbtrfs
Formateer dit met elk gewenst filesysteem, al ligt het voor de hand dat we hier kiezen voor btrfs.
04 formateren partities
Mijn favorite filsysteem is btrfs, ondanks dat het nog volop in ontwikkeling is heb ik nog nooit problemen gehad. Je kunt ook snapshots maken en werken met pools, die je kunt uitbreiden met meerdere schijven /partities. Subvolumes kun je gebruiken als partities waarop je bijvoorbeeld een distro kunt installeren.
filesysteem | commando | beschijving |
---|---|---|
btrfs | mkfs -L CRYPTBTRFS /dev/mapper/cryptbtrfs | formateer als BRTFS met als label: CRYPTBTRFS |
fat 32 /vfat | mkfs.vfat -n ESP /dev/sdb1 | formateer /dev/sdb1 met label ESP voor bijvoorbeeld een Uefi partitie |
ext4 | mkfs.ext4 -L BACKUP /dev/sdb2 | Formateer als ext4 met label: BACKUP |
De btrfs partitie kun je mounten en daarna subvolumes aanmaken met
sudo mount -o /dev/mapper/btrfs /mnt
sudo btrfs subvolume create @
05 boot van versleutelde partitie
Bepaal eerst de UUID van /dev/sdb3, de partitie die het versleutelde block device bevat.
sudo blkid -s UUID -o value /dev/sdb3
De output is bijvoorbeeld:
b2bd8f53-53b8-4264-a547-717cb1fca84f
geef dan het bestand /etc/crypttab de volgende inhoud:
# <target name> <source device> <key file> <options>
cryptbtrfs UUID=b2bd8f53-53b8-4264-a547-717cb1fca84f none luks
Bij het booten van het systeem zal nu het wachtwoord gevraagd worden en daarna kun je /dev/mapper/cryptbtrfs opnemen in fstab als een normale partitie. De UUID kun je achterhalen door:
sudo blkid -s UUID -o value /dev/mapper/cryptbtrfs
in dit geval krijg je dan bijvoorbeeld:
2fa0012a-7885-44de-9265-4d4c5581c348
je fstab ziet er vervolgens uit als:
# <file system> <mount point> <type> <options> <dump> <pass>
# /dev/mapper/cryptbtrfs LABEL=BTRFS
UUID=2fa0012a-7885-44de-9265-4d4c5581c348 / btrfs rw,noatime,compress=zstd:3,ssd,space_cache,subvolid=434,subvol=/@,subvol=@ 0 0
In dit geval booten we van een subvolume @, dat moet je na het formateren natuurlijk eerst aanmaken. Ook @home kan gemount worden als homepartitie. We kiezen deze namen om gebruik te kunnen maken van Timeshift.
06 systemd-boot
mount efi
Mount eerst je efi partitie onder /boot/efi
# /dev/sdb1 LABEL=ESP
UUID=8442-0FFA /boot/efi vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2
installeer systemd-boot
Daarna kun je systemd-boot installeren met
apt install systemd-boot
Vanaf bookworm wordt nu vanzef je esp gevuld met de benodigde entries en bootbestanden:
title Debian GNU/Linux 12 (bookworm)
version 6.1.0-10-amd64
machine-id eda48f1b144f40bb851790fd4f7e0c5b
sort-key debian
options root=UUID=2fa0012a-7885-44de-9265-4d4c5581c348 rw quit loglevel=3 udev.log_level=3 splash rootflags=subvol=@ systemd.machine_id=eda48f1b144f40bb851790fd4f7e0c5b
linux /eda48f1b144f40bb851790fd4f7e0c5b/6.1.0-10-amd64/linux
initrd /eda48f1b144f40bb851790fd4f7e0c5b/6.1.0-10-amd64/initrd.img-6.1.0-10-amd64