Clonezilla verwendet dd
hinter den Kulissen.
Über Festplatten und Partitionen
Eine ganze Festplatte ist wie ein Gerät /dev/sda
. Dies ist die erste Platte, die zweite Platte ist /dev/sdb
, die dritte /dev/sdc
usw. ältere Laufwerke über ein IDE - Kabel verbunden benannt sind wie hda
, hdb
... kann eine Scheibe wie mehrere Partitionen hat /dev/sda1
. Die zweite Partition auf der Festplatte /dev/sda
ist /dev/sda2
und so weiter. Ein Image (wörtliche Kopie von Bytes) kann sowohl von einer Partition als auch von einer Festplatte erstellt werden. Beachten Sie, dass die ersten 512 Bytes einer Festplatte den MBR (Master Boot Record) enthalten.
Eine Partition sollte beim Erstellen oder Wiederherstellen von Bildern nicht bereitgestellt werden. Andernfalls kann es zu Datenverlust beim Lesen (Erstellen eines Bildes) oder zu unerwartetem Verhalten und Datenbeschädigung beim Schreiben (Wiederherstellen von einem Bild) kommen.
In den folgenden Beispielen /dev/sda1
ist die Partition angegeben, aus der ein Image erstellt werden soll.
Partitionen und Festplattengeräte in können /dev
nur vom Superuser (root) und den Benutzern der disk
Gruppe beschrieben werden. Ich mag es nicht, alles als root auszuführen. Aus Sicherheitsgründen (falls Sie beispielsweise einen Tippfehler gemacht haben) ändere ich die Gruppe vorübergehend in mich selbst, damit ich sie lesen und schreiben kann:
sudo chgrp my_user_name /dev/sda1
Wenn Sie den obigen Befehl überspringen, müssen Sie den folgenden dd
Befehlen voranstellen sudo
.
Grundlagen
Der grundlegende Befehl zum Erstellen eines Images aus einer Partition lautet:
dd if=/dev/sda1 of=disk.img
if
bedeutet "Eingabedatei", of
bedeutet "Ausgabedatei". Alles unter Linux ist eine Datei, auch Geräte.
Führen Sie Folgendes aus, um ein solches Image wiederherzustellen:
dd if=disk.img of=/dev/sda1
Die Reihenfolge spielt keine Rolle, Sie hätten das auch schreiben können dd of=/dev/sda1 if=disk.img
.
Komprimierte Bilder
Da Partitionen im Allgemeinen groß sind, wird empfohlen, die Daten vor dem Schreiben in das Image zu komprimieren:
dd if=/dev/sda1 | gzip > disk.img.gz
Dies funktioniert, weil, wenn of
es weggelassen wird, die Ausgabe in die "Standardausgabe" geschrieben wird, die die Pipe zum Komprimierungsprogramm ist gzip
. Die Ausgabe davon wird in geschriebendisk.img
.
Führen Sie Folgendes aus, um ein solches komprimiertes Image wiederherzustellen:
gunzip -c disk.img.gz | dd of=/dev/sda1
Hier gunzip
ist der umgekehrte Befehl von gzip. -c
bewirkt, dass die Ausgabe in die Standardausgabe geschrieben wird, die die Pipe zum dd
Befehl ist. Da auf if
weggelassen wird dd
, wird die Eingabe von der "Standardeingabe" gelesen, die die Ausgabe von istgunzip
.
Aus einem Bild lesen, ohne es wiederherzustellen
Unkomprimierte Bilder können gemountet werden, damit Sie daraus lesen können. Wenn Sie Ihre Partitionsimages komprimiert haben, dekomprimieren Sie sie zuerst ( disk.img.gz
werden entfernt, disk.img
erstellt. Stellen Sie sicher, dass genügend Speicherplatz vorhanden ist!):
gunzip disk.img.gz
Alternativ können Sie ein Bild dekomprimieren, ohne das Bild selbst zu berühren:
gunzip -c disk.img.gz > disk.img
Erstellen Sie nun ein Verzeichnis, in das die Festplatte eingehängt werden kann, und hängen Sie das Image schreibgeschützt ein ( ro
):
sudo mkdir /mnt/wind
sudo mount -o ro disk.img /mnt/wind
Sie können jetzt Ihre Dateien in anzeigen /mnt/wind
. Wenn Sie fertig sind, heben Sie die Bereitstellung auf und entfernen Sie den veralteten Einhängepunkt:
sudo umount /mnt/wind
sudo rmdir /mnt/wind
Weniger Größe, mehr CPU-Auslastung, längere Sicherungs- und Wiederherstellungsdauer
Wenn Zeit kein Problem ist und Sie nicht viel Speicherplatz haben, können Sie das bzip2
Komprimierungsformat verwenden. Einfach gzip
durch bzip2
oben ersetzen . Es ist üblich, die .bz2
Erweiterung für bzip2-komprimierte Dateien zu verwenden.