ArchLinux Image mit qemu reparieren


Klassische stable-release Betriebssysteme sind für die Anwender ein Rund-um-Sorglos Paket. Einmal installiert laufen sie jahrelang ohne Störungen. Bei Rolling-Release Distributionen wie ArchLinux können jedoch tiefergehende Probleme auftauchen die dazu führen, dass das System nicht mehr bootet. Als Ausweg bietet es sich an, eine Ebene oberhalb des Betriebssystems zu gehen. Dort befindet sich beispielsweise der Bootmanager grub2. In diesem kann man mehrere Betriebssysteme gleichzeitig installieren, wenn eines davon strekt hat man noch die anderen zur Auswahl.

Aber, das Partionieren einer Festplatte ist nichts für Einsteiger. Und da Linux gerne mehrere Partitionen auf einmal belegt (swap, boot und root) ist es wohl nur für Profis mögliche, 2 oder nochmehr Linux-Distributionen gleichzeitig zu installieren. Die Alternative dazu ist die Verwendung von dd in Verbindung mit qemu. Mittels dd kann man eine Festplatte klonen inkl. aller Partitionen und in eine raw-Datei schreiben. Mit qemu kann man diese Datei dann in einer virtuellen Maschine booten.

Machen wir doch einmal einen Versuch. Als erstes muss man eine externe Festplatte mounten weil man sonst das Image auf die selbe Platte schreibt, die man kopieren will. Schreibrechte auf die externe Festplatte gibt es dank „sudo chmod 0777 /drive“ und jetzt kann man auch schon den dd Befehl einsetzen, um /dev/sda zu klonen:

dd if=/dev/sda conv=sync,noerror bs=64K | gzip -c  > ./backup.img.gz

Eine Statusanzeige gibt es nicht, der Progress-Schalter der im ArchWiki https://wiki.archlinux.org/index.php/disk_cloning erwähnt wird funktioniert nicht. Aber egal, dafür kann man zusehen, wie die image-Datei rasant an Größe gewinnt. Der Flaschenhals dabei ist weniger das gzip Tool und auch nicht die Blockgröße von 64k, sondern die Datenrate der USB Schnittstelle, mit der die externe Festplatte angeschlossen ist.

Nachdem man den Befehl ausgeführt hat, ist eine Festplatte die ursprünglich 120 GB groß war auf eine 60 GB .gz Datei komprimiert worden. Auf der Festplatte befanden sich ursprünglich 40 GB an Daten, warum die .gz Datei trotzdem größer ist, bleibt unklar. Wenn man diese versucht mittels qemu zu starten, erscheint die Meldung dass die Bootdisk fehlerhaft sei. Genauer gesagt heißt die Fehlermeldung „No bootable device“.

Nachdem die Datei jedoch entpackt wurde und erneut über qemu gestartet wird,

gunzip -c backup.img.gz > backup.img
qemu-system-x86_64 -hda backup.img -m 1024 -enable-kvm

erhält man eine perfekt startende virtuelle Maschine. Also eine virtuelle Kopie des ursprünglichen Computers. Die Geschwindigkeit ist zwar niedrig, weil die 120 GB große backup.img Datei von der externen USB Festplatte gelesen wird, aber sie ist funktionsfähig. Das heißt, alle Daten und alle Programme sind exakt kopiert worden. Und wenn man in dieser .img Datei eine Datei erstellt, also schreibend zugreift, ist sie nach einem Reboot immernoch vorhanden.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s