Das vor kurzem von mir erworbene Samsung N150 Netbook enthält eine Starter-Version von Windows 7. Nunja, mittlerweile vom MacOS X verwöhnt kann ich nach den ersten Gehversuchen nur sagen: Gesehen, gelacht, (wird) gelöscht. Das Problem an der Idee ist nur: Wie kann ich Windows 7 im Falle des Falles doch wieder zurückspielen? Eine CD/DVD wird nicht mitgeliefert, stattdessen ist die interne Platte auf krudeste Art und Weise mit Partitionen vollgestopft: Vier Stück an der Zahl, zwei davon versteckt, zwei sichtbar. Versteckt wurden offenbar die Bootpartition sowie eine weitere, von der ich vermute, daß es sich um die glorreiche Einrichtung namens “Wiederherstellungspartition” handelt. Letztere ist sogar als “inaktiv” gekennzeichnet, so daß man mit Windows-Bordmitteln nicht mal an die Daten kommt.
Jetzt kann man natürlich mit den unterschiedlichsten Programmen Sicherungen der beiden NTFS-Partitionen machen. Hilft aber im vorliegenden Fall nicht viel, da die versteckten Partitionen nicht gesichert werden und zudem das Partitionsschema verloren gehen würde, wer weiß, wofür das noch notwendig sein kann.
Aber als Hobbyadministrator mit gefährlichem Halbwissen ist mir spontan dd eingefallen: Damit kann man praktisch alles praktisch überall hinkopieren, warum also nicht eine ganze Festplatte von vorn bis hinten in Form eines Images sichern?
Vorbereitungen
Da man einen Datenträger nur kopieren sollte, wenn er nicht verwendet wird und zudem dd nur von Unix- bzw. Linux-Systemen mitgeliefert wird, bietet es sich an, das Netbook mit einem Betriebssystem von einem externen Datenträger zu starten. Hier kommen idealerweise USB-Sticks oder Live-CDs in Frage. Das N150 hat im BIOS ein externes CD-Laufwerk als erstes Bootziel festgelegt, also habe ich mir ein Knoppix-Image heruntergeladen, auf CD gebrannt und mit Hilfe eines externen Brenners das Netbook gestartet. Das Knoppix startete relativ flott und hat auch alles mögliche an Hardware erkannt.
Weiterhin muß natürlich eine externe Festplatte als Ziel für das Backup angeschlossen und auch gemountet werden. Die Wahl fiel bei mir auf eine bereits als Backup-Medium genutzte Festplatte mit ext3-Dateiformat. Knoppix erkannte auch diese problemlos und so waren die interne Festplatte des Netbooks als /dev/sda und die externe als /dev/sdb wiederzufinden. Einzig die externe Festplatte muß jedoch gemountet werden, Knoppix hat hierzu das Verzeichnis /media für Mountpoints vorgesehen:
mount /dev/sdb1 /media/sdb1
Der Test
Bevor ich die eigentlich Sicherung durchgeführt habe, standen erst ein paar Tests an, um mich mit dd vertraut zu machen. Ich habe hierzu eine der Partitionen auf der Netbookplatte ausgewählt und genau drei Tests durchgeführt, um etwas über die Performance und die Ergebnisse von dd zu lernen.
So kann man eine 1:1-Kopie in Form eines nicht komprimierten Images anlegen, was dann genauso groß ist wie die Quelle:
dd if=/dev/sda1 of=sda1.dd.img
Der Parameter if gibt hierbei den Deviceknoten der Quellpartition an, of den Namen der Zieldatei (dieser ist im Prinzip frei wählbar, sollte aber irgendwie sprechend sein). Für die gewählte Partition von 16 GB Größe hat dieser Vorgang ca. zwölf Minuten gedauert (21 MB/s). Wichtig ist, am Ende der Operation die Statusmeldung zu prüfen: Die Werte für gelesene und geschriebene Datensätze müssen identisch sein, Abweichungen bedeuten Probleme.
Da ein Großteil der Festplatte im Auslieferungszustand leer ist, ist es ziemlich sinnlos, ein unkomprimiertes Image anzulegen; an dieser Stelle kommen GZip und BZip2 ins Spiel. Nach meinen Recherchen soll BZip2 höhere Kompressionsraten bei höherer Laufzeit erreichen. Also nur Mut und beides mal ausprobiert:
dd if=/dev/sda1 | gzip -c > sda1.img.gz dd if=/dev/sda1 | bzip2 -c > sda1.img.bz2
Der Parameter of fällt in beiden Fällen weg und wird durch einen Pipe-Operator ersetzt, der die dd-Ausgabe direkt an gzip/bzip2 weitergibt. Der Parameter -c gibt schließlich an, daß die Daten nach stdout geschrieben werden, von wo sie dann per “>” in eine Datei umgeleitet werden.
Mit GZip hat die Operation ca. 55 Minuten (4,7 MB/s) in Anspruch genommen, mit BZip2 unfaßbare 215 Minuten (1,2 MB/s). Das Ergebnis war eine Reduzierung der Imagegröße um ca. 50%, dabei unterschieden sich die Archivgrößen von GZip und BZip2 allerdings nur um knapp zwei Prozent. Es lohnt also den extra Zeitaufwand für BZip2 nicht wirklich.
Durchführung der Sicherung
Wie bereits geschrieben habe ich mich aufgrund des Partitionsschemas der Notebook-Festplatte für ein vollständiges Backup selbiger entschieden. Hierbei werden auch der Master Boot Record sowie die Partitionstabelle gesichert. Wichtig ist in dem Zusammenhang, daß das Zurückspielen eines kompletten Festplatten-Images immer nur auf die gleiche Festplatte oder eine mit identischer Geometrie erfolgen sollte. Daher ist es hilfreich, die Informationen über die Partitionstabelle zu sichern. Man kann damit zudem eine Menge Dinge anstellen…
knoppix@knoppix> fdisk -l /dev/sda Disk /dev/sda: 250.1 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xecf7ff98 Device Boot Start End Blocks Id System /dev/sda1 1 1959 15728640 27 Unknown /dev/sda2 * 1959 1972 102400 7 HPFS/NTFS /dev/sda3 1972 9620 61440000 7 HPFS/NTFS /dev/sda4 9620 30402 166924288 7 HPFS/NTFS
Am besten speichert man sich diese Ausgabe in einer Textdatei und legt sie zu dem späteren Image dazu.
Der dd-Befehl lautet nun wie folgt:
dd if=/dev/sda | gzip -c > sda.img.gz
Die Arbeit von dd kann über das Senden eines Signals an den Prozeß überwacht werden. Hierzu ermittelt man zunächst die PID des Prozesses und gibt ihn dann in folgender Befehlszeile an:
kill -USR1 pid
Nach 250 Minuten war dann im vorliegenden Fall der Inhalt der gesamten Festplatte als 16 GB großes Image gesichert (16 MB/s) und die Platte kann nun beliebig neu partitioniert werden. In meinem Falle habe ich mich für das aktuelle Ubuntu 10.04 entschieden, da ja Snow Leopard leider nicht auf der vorliegenden Hardware läuft.
Links
Notes on backing up entire hard disks or partitions
Shell/dd › Wiki › ubuntuusers.de
[LeapList] Re: Backing up entire disk
Kommentare
Kommentar hinterlassen Trackback