Allgemeines

Ich versuche in den folgenden Beschreibungen möglichst konsequent zu sein bei der Angeba von Festplatten (sdX) oder Partitionen (sdXx). Dabei repräsentiert das große X jeweils einen Laufwerksbuchstaben, also bspw. sda oder sdb und das kleine x dann die Partition, also sda1 oder sdb3.

SMART

Installation der smart Tools bei Bedarf

sudo apt-get install smartmontools

Prüfung SMART auf Platte verfügbar

sudo smartctl --info /dev/sdX

Aktivierung SMART auf Festplatte

Falls im Test zuvor die Platte zwar SMART unterstützt, dieses aber nicht aktiviert ist:

sudo smartctl --smart=on /dev/sdX

Voraussichtliche Testdauer ermitteln:

sudo smartctl -c /dev/sdX

Starten kurzer Test:

sudo smartctl -t short /dev/sdX

Starten ausführlicher Test:

sudo smartctl -t long /dev/sdX

Ergebnis anzeigen

sudo smartctl -H /dev/sdX

Informationsbeschaffung zu Platten und Dateisystemen (also IST ermitteln)

Übersicht zu angeschlossenen Festplatten

lshw -class disk -short

Rootberechtigung (bzw. sudo) erforderlich. Liefert tatsächlich eine Auflistung der physikalisch angeschlossenen Platten, CD Laufwerke etc.

Das ganze kann man auch auf Partitionen herunter brechen

sudo lsblk

Damit bekommt man eine ansehnliche Auflistung, welche Platte was für Partiotionen enthält und wenn diese ins Dateisystem eingebunden sind, sieht man auch gleich wo.

cat /proc/partitions

Zeigt die Partitionen an

sudo fdisk -l

liefert einen Überblick über die Partitionen inkl. Dateisystem

sudo pvs

zeigt vorhandene physical volumes an, wenn über lvm (logical volume manager) welche angelegt wurden – sonst leere Ausgabe

sudo pvdisplay

ist etwas detaillierter

sudo vgs und sudo vgdisplay
sind ähnliche Befehle für das Abfragen von Volume-groups

sudo lvs bzw. sudo lvdisplay
liefert details zu logischen volumes oder Partitionen

In eine ähnliche Richtung geht auch

blkid -o list

Da hat man dann zusätzlich noch die UUID Information mit am Start für die einzelnen Partitonen.

Größe und Belegung der Dateisysteme

df -h

diskfree liefert eine Auflistung der eingebundenen Laufwerke, deren Größe und Belegung. Hier gibt es auch wieder diverse Schalter, die in den manpages erklärt werden. -hl beschränkt sich bspw. auf lokale Dateisysteme.

Dateisystem Datenverteilung ermitteln (disk usage)

du

Hier bekommt man Informationen zur tatsächlichen Nutzung. Diverse Schalter sind über die manpages beschrieben und helfen bei der Eingrenzung. Konkretes Beispiel für den belegten Speicher des aktuellen Verzeichnisses:

du -sh ./

Reparatur und Analyse von Festplatten

Filesystemcheck auf ext2 / 3 und 4

e2fsck -f /dev/sdX

Intensivprüfung (und mit Glück Reparatur) – badblocks

Parameter:

  • v – verbose mode, also Details
  • n – non-destructive read/write mode – Daten werden also (wenn aufgrund defekter Sektroen nicht ohnehin beschädigt) trotz intensiver Prüfung nicht zerstört (nicht kominierbar mit w)
  • w – write-test mode. Hier werden verschiedene Bitmuster je Seltor geschrieben und dann wieder gelesen. ACHTUNG! Destruktiv! (daher nicht kominierbar mit )
  • s – show progress

Prüfung einer Platte, bei der die Daten erhalten bleiben sollen:

sudo badblocks -vsn /dev/sdX

Prüfung einer Platte, bei der die Daten verniuchtet werden können (sollen):

sudo badblocks -vsw /dev/sdX

Festplatte richtig löschen

Allgemeines löschen:

dc3dd wipe=/dev/sdX verb=on

Löschen mit bestimmten Bitmustern:

dc3dd wipe=/dev/sdX pat=0x55 verb=on
dc3dd wipe=/dev/sdX pat=0xAA verb=on

Hierbei wird der Befehl mit unterschiedlichen Bitmustern wiederholt, um eine Wiederherstellung quasi unmöglich zu machen. Je mehr Wiederholungen mit unterschiedlichen Mustern umso sicherer!

Spezialthema SSD

Normale Mechanismen wie hier beschrieben verlaufen da oftmals im Sand. SSD und Bios Abhängigkeiten erschweren eine allgemeine Empfehlung. Bei Bedarf eine Internetrecherche anstellen. Für USB Sticks (was ja auch Flashspeicher sind) habe ich aber folgendes gefunden:

sudo dd if=/dev/zero of=/dev/sdX

besser soll sein:

dd_rescue if=/dev/zero of=/dev/sdX

sdX muss durch korrekte Laufwerksangabe ersetzt werden. Das ist aber noch einmal „forensisch“ zu verifizieren!

Swap Datei

Zum Anzeigen, ob eine Swap Datei angelegt ist und welche Größe diese hat:

swapon --show

Das Anlegen von Swap Partition und deren Nutzung kann man gut über gparted erledigen.

Dateioperationen

Dateien suchen

Mit find kann man das Dateisystem durchsuchen. Grundsätzlicher Befehlsaufbau:

find <Basisverzeichnis> <Suchparameter>

Beipiel einer Suche nach einem Dateinamen:

find / -name "*matze*"

Im Ergebnis erhält man eine Auflistung aller kompletten Dateipfade in denen metze vorkommt. Es gibt weitere Optionen wie nur Verzeichnisse oder nur Dateien ausgeben. Dies muss also noch weiter beschrieben werden.

Festplatte klonen

Dat is unter Linux ganz easy, wie ich heute feststellen durfte…

Das Universaltool für Partitionen und ganze disks: dd

Hier mal ein Beispiel für einen kompletten Disk-Clone:

dd status=progress if=/dev/sda of=/dev/sdb conv=noerror,sync

status=progress sorgt für eine Fortschrittsanzeige

if und of geben Quelle und Ziel an, also die Devicebezeichnungen des jeweiligen Systems. Im Beispiel hier ist sda die Quellfestplatte und sdb die Zielfestplatte. Denkbar ist auch Angabe einer Partition, also bspw. sda1

conv=noerrer,sync ist sinnvoll, um in jedem Falls, also auch bei Fehler einzelner Sektoren, ein Abbild zu erzeugen. Der Sync erzeugt dabei Nullen an den Fehlerstellen, so dass das Abild zwar vollständig in Bezug auf Aufbau und Länge ist, aber eben an einigen (fehlerhaften) Stellen sind dann fälschlicherweise Nullen.

Image auf eine DVD brennen

sudo dd if=isoname of=/dev/srX

srX muss mit dem Gerätenamen des DVD Brenners ersetzt werden.

Image eines USB Sticks als File ablegen

sudo dd if=/dev/sde of=USBImages/Win10.img bs=1M status=progress && sync

sde ist hier der Beispielstick. Die Ablage erfolgte im Homeverzeichnis im dafür geschaffenen Ordner USBImages