Einleitung: Datenträgerintegrität proaktiv sichern
Unerwartete Speicherdefekte zählen zu den häufigsten Ursachen für folgenschwere Datenverluste. Mit dem Linux-Standardwerkzeug badblocks lassen sich fehlerhafte Sektoren zuverlässig aufspüren, noch bevor das gesamte Speichermedium Schaden nimmt. Dieser Praxisleitfaden demonstriert den schrittweisen Einsatz des Dienstprogramms anhand einer isolierten virtuellen Testumgebung – von reinen Leseoperationen über detaillierte Fortschrittsberichte bis hin zu zerstörungsfreien Schreibtests und der Protokollauswertung.
1. Virtuelles Testmedium erstellen und schreibgeschützte Prüfung (-v)
Um das Analysewerkzeug bereitzustellen, bringen wir das Basispaket e2fsprogs, zu dessen Bestandteil badblocks gehört, über die Paketverwaltung auf den aktuellen Stand: sudo apt-get update -qq && sudo apt-get install -y e2fsprogs.

Um produktive Datenträger keinem Risiko auszusetzen, generieren wir ein 50 MB großes Speicherabbild als sicheres Übungsobjekt mittels dd if=/dev/zero of=/tmp/disk_test.img bs=1M count=50 status=none.

Damit das Betriebssystem dieses Abbild wie ein reales Blockgerät anspricht, registrieren wir die Datei an der nächsten freien Loop-Schnittstelle via sudo losetup -f /tmp/disk_test.img.

Den zugewiesenen Schnittstellenpfad speichern wir zur weiteren Verwendung in einer Variablen und prüfen die Zuordnung mit LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && echo "테스트 디바이스: $LOOP_DEV".

Das Diagnoseprogramm badblocks tastet Datenträger Sektor für Sektor ab, um physisch beschädigte Speicherblöcke zu lokalisieren.
Im voreingestellten, vollkommen risikofreien Lesemodus kombinieren wir den Aufruf mit dem Schalter -v, um detaillierte Statusmeldungen auf der Konsole zu erhalten.
Werden nach dem Scandurchlauf keine Blocknummern ausgegeben, signalisiert dies ein fehlerfreies Speichermedium.
⚙️ [Zentrale Parameter im Überblick]
-v : Aktiviert ausführliche Status- und Abschlussmeldungen während der Prüfung.-w : Startet ein destruktives Prüfverfahren mit gezielten Schreibmustern (löscht vorhandene Daten auf dem Datenträger unwiderruflich).-n : Führt einen zerstörungsfreien Lese-Schreib-Test durch, indem vorhandene Nutzdaten vor dem Schreibtest gesichert und direkt wiederhergestellt werden.-s : Blendet den aktuellen Fortschritt anhand bearbeiteter Blöcke und Prozentwerte in Echtzeit ein.-b : Bestimmt die Sektorgröße für den Prüfvorgang in Byte (Standardeinstellung: 1024 Byte).-o : Leitet ermittelte defekte Blocknummern zur späteren Weiterverarbeitung in eine Textdatei um.-p : Wiederholt den gesamten Testablauf mehrmals, um auch sporadische Lesefehler aufzudecken.

2. Echtzeit-Fortschrittskontrolle während des Scans (-s, -v)
Bei größeren Speichervolumina ist eine kontinuierliche Verlaufsanzeige unverzichtbar; hierfür starten wir die Diagnose mit den Flags -s und -v über sudo badblocks -s -v $LOOP_DEV.
Die Option -s aktualisiert laufend die prozentuale Fertigstellung und die Anzahl bearbeiteter Blöcke, während -v den Gesamtverlauf informativ begleitet.
Dadurch lässt sich der Arbeitsfortschritt jederzeit transparent nachvollziehen. Ein Durchlauf ohne gelistete Blockindizes belegt die fehlerfreie Lesbarkeit des Speichers.

3. Blockgröße anpassen und Fehlerberichte exportieren (-b, -o)
Um die Prüfung an moderne Dateisystemstrukturen mit 4096-Byte-Clustern anzupassen und erkannte Fehler direkt zu archivieren, rufen wir LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && sudo badblocks -b 4096 -v -o /tmp/badblocks_report.txt $LOOP_DEV auf.
Durch das Flag -b 4096 überschreiben wir die 1024-Byte-Standardeinstellung und gewährleisten ein präzises Abtasten im Einklang mit der Dateisystemkonfiguration.
Mithilfe von -o wird die Liste schadhafter Sektoren direkt in einer Protokolldatei abgelegt, was spätere Reparaturroutinen oder das gezielte Ausblenden defekter Blöcke erleichtert.

Das erstellte Diagnoseprotokoll untersuchen wir anschließend mit cat /tmp/badblocks_report.txt.
Da das Testmedium keine Beschädigungen aufweist, bleibt die Protokolldatei erwartungsgemäß leer.

4. Zerstörungsfreier Lese-Schreib-Test und Bereinigung (-n)
Reine Lesezugriffe decken nicht jeden schleichenden Hardwaredefekt auf. Um Schreiboperationen unter absolutem Schutz vorhandener Daten zu überprüfen, initiieren wir den nicht-destruktiven Schreib-Lese-Modus per LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && sudo badblocks -n -v $LOOP_DEV.
Der Schalter -n puffert bestehende Sektorinhalte temporär, schreibt Testbitmuster zur Verifikation und stellt den Ursprungszustand unmittelbar danach wieder her.
Erscheinen auch hier keine Fehlerindizes in der Konsolenausgabe, hat das Laufwerk die anspruchsvolle Belastungsprobe bestanden.

Zum Abschluss heben wir die Loop-Verknüpfung wieder auf und entfernen die temporäre Imagedatei sowie das Protokoll über LOOP_DEV=$(losetup -j /tmp/disk_test.img | cut -d: -f1) && sudo losetup -d $LOOP_DEV && rm -f /tmp/disk_test.img /tmp/badblocks_report.txt.

Mit diesen Kernoptionen von badblocks steht Linux-Administratoren ein mächtiges Instrumentarium zur Verfügung, um Datenträger auf Herz und Nieren zu prüfen und Systemausfällen vorausschauend vorzubeugen.