Strom sparender Computereinsatz hilft nicht zuletzt auch Kosten zu senken. ADMIN 02/2011 geht der Frage nach, was Administratoren tun können, damit ihre ... (mehr)

Testdisk

Ein häufiger Fehlerfall ist eine fehlende oder kaputte Partitionstabelle. Dann kann beispielsweise das BIOS keine Partition zum Booten finden oder Linux findet beim Start die einzubindenden Partitionen nicht. Das kann das Werk eines Windows-Virus sein, der sich im Master Boot Record einnistet oder eine versteckte Partition anlegt. Natürlich kann so ein Fehler auch durch fehlgeschlagene Versuche entstehen, die Platte zu partitionieren, oder einfach durch einen Festplattenfehler in den ersten 512 Bytes. Mindestens im letzten Fall ist das Umkopieren der kompletten Festplatte in eine Image-Datei ein Muss.

Beim herkömmlichen PC-Partitionsschema sind die ersten vier Partitionen direkt in den ersten 512 Bytes der Platte definiert und heißen primäre Partitionen. Die Definition der sogenannten erweiterten (extended) Partitionen befindet sich in weiteren Sektoren.

Ein Backup der primären Partitionstabelle lässt sich leicht mit Unix-Standard-Tools anlegen:

dd if=/dev/sda of=sda.mbr bs=512 count=1

Um ein solches Backup wiederherzustellen, ohne den vorhandenen Boot Record zu überschreiben, verwenden Sie das folgende Kommando:

dd if=sda.mbr of=/dev/sda bs=1 count=64skip=446 seek=446

Ist die Partitionstabelle futsch, ist dennoch nicht alles verloren. Die beiden Tools »testdisk« und »gpart« versuchen Anfang und Ende vorhandener Partitionen zu finden. Testdisk ist für den interaktiven Gebrauch gedacht, Gpart lässt sich mit Kommandozeilenoptionen steuern. Testdisk zeigt in seinem Benutzer-Interface auch Dateien und Verzeichnisse auf gefundenen Partitionen an, womit Sie überprüfen können, ob das Tool richtig geraten hat. Leider ist dieses Feature nicht sehr stabil und kann zum Absturz von Testdisk führen, wenn die Daten einer Partition fehlerhaft sind.

Wer statt mit den Originaldaten lieber mit einer Kopie arbeiten möchte, kann »losetup« zusammen mit einem der Loopback-Geräte »/dev/loop*« verwenden, wie es dieser Artikel weiter unten genauer beschreibt. Es empfiehlt sich, die von Testdisk oder Gpart gefundenen Werte zu notieren und die Festplatte mit »sfdisk« oder »fdisk« zu partitionieren, nachdem man die Blocks der Partitionstabelle gesichert hat.

Fdisk

Das kleine Programm sfdisk kommt häufig in Shell-Skripts zum Einsatz, um eine Festplatte automatich zu überprüfen und neu zu partitionieren. Es lässt sich aber auch gut dafür verwenden, lesbare Backups von primären und erweiterten Partitionen anzulegen. Der Aufruf

sfdisk -uS -d /dev/sda > sda.sfdisk

gibt eine Text-Datei aus, wie sie in Listing 4 zu sehen ist. Die Tabelle zeigt die Partitionsgrenzen in Sektoren an. Genauso leicht ist es, aus der Textdatei eine Partitionstabelle wiederherzustellen:

Listing 4

Ausgabe von sfdisk

 

sfdisk < sda.sfdisk

Der Befehl »fdisk« war lange Zeit das Standardprogramm, um auf der Kommandozeile interaktiv Partitionen anzulegen. Seine Ausgabe ist leichter lesbar als diejenige von »sfdisk« , wie Listing 5 zeigt. Im interaktiven Modus präsentiert es dem Anwender ein Menü, über das er Partitionen anlegen, löschen, Disk-Parameter und anderes ändern kann. Mit »w« schreibt der Anwender die Änderungen auf die Festplatte. Verlässt er das Programm mit »q« , gehen sie verloren, und die Platte bleibt unangetastet. Es empfiehlt sich also, vor dem Schreiben noch einmal mit »p« das Partitionsschema genau anzusehen.

Listing 5

Ausgabe von fdisk

 

Beide Programme können auch mit Image-Dateien umgehen, allerdings müssen Sie »fdisk« dabei die "Disk-Geometrie" mitteilen, die es bei einer echten Festplatte automatisch ermittelt.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2020