freeX: Tips & Tricks
|
Backup vom Boot-Sektor und der Partitionstabelle
Wenn die Partitionstabelle hinüber ist, kann man nur noch schwer auf die Daten auf der jeweiligen Festplatte zugreifen. Ein Backup dieser bietet sich daher unbedingt an. Während man auf anderen Systemen, dessen Namen hier nicht genannt werden, spezielle Werkzuge zum Backup benötigt, funktioniert das auf Unix-artigen Systemen mit Bordmitteln.
Die Partitionstabelle liegt in den letzten 64 Bytes des Master Boot Records (MBR). Der MBR ist der erste logische Sektor einer Festplatte (bzw. auch einer Diskette) und ist 512 Byte groß. Für ein Backup wird daher lediglich der erste Sektor jeder Festplatte benötigt.
Eine Liste der zur Zeit verwendeten Festplatten erhält man mit folgendem Befehl. Dabei werden nicht nur die Datenpartitionen untersucht, sondern genauso auch die Festplatten, die lediglich für Swap verwendet werden.
(mount; cat /proc/swaps) | grep '^/dev/[sh]d'|cut -c 1-8|sort|uniq
Der erste Sektor einer Festplatte wird auf Unix-artigen Systemen mit dem Programm »dd« direkt von der Gerätedatei gelesen. Der MBR von /dev/hda, also der primären Festplatte am ersten IDE-Adapter, wird somit durch folgenden Befehl auf die Festplatte kopiert.
dd if=/dev/hda of=mbr_dev_hda bs=512 count=1
Zusammengesetzt erhält man aus den beiden Befehlen das folgende Programm, das "mal eben" die Master Boot Records aller aktiven Festplatten im aktuellen Verzeichnis sichert.
(mount; cat /proc/swaps) | grep '^/dev/[sh]d'|cut -c 1-8|sort|uniq | while read dev; do
dd if=$dev of=mbr${dev//\//_} bs=512 count=1
done
Wenn der MBR wieder zurückgeschrieben werden muß, weil die Partitionstabelle kaputt gegangen ist, wird werden die »if«- und »of«-Argumente von »dd« einfach umgedreht:
dd of=/dev/hda if=mbr_dev_hda bs=512 count=1