
Ich verwende ein Notebook mit Mint Linux und werde für ein paar Tage Windows verwenden. Daher möchte ich mein Betriebssystem „speichern“ und es später wieder auf das gleiche Laufwerk übertragen.
Es verwendet eine vollständige Festplattenverschlüsselung (die standardmäßig bei der Mint-Installation enthalten ist).
Booten Sie eine Live-CD mit Linux und erstellen Sie anschließend eine Kopie mit etwas wie:
dd if=/dev/sda of=/media/externalhd/mint.img
[Hier formatiere ich und füge Windows hinzu] und wenn ich fertig bin, boote ich erneut mit einer Live-CD und mache:
dd if=/media/externalhd/mint.img of=/dev/sda
Sollte doch funktionieren, oder?
Antwort1
Ihre Befehle sind in Ordnung und wie bereits erwähnt, wird dadurch auch der gesamte leere Speicherplatz auf Ihrem Laufwerk gespeichert. Wenn Sie jedoch bei der Installation des Systems die Option „Sicheres Löschen“ gewählt haben, ist der leere Speicherplatz des Laufwerks voller zufälliger Störungen, sodass Ihnen das Komprimieren der Ausgabe nur wenig bringt.
Sie sollten für die Kopie eine größere Blockgröße verwenden und eine Belastung des Puffercaches des Systems vermeiden, um das Lesen der Rohdaten zu beschleunigen.
- Die DD-Optionen iflag=direct oder oflag=direct lesen oder umgehen dabei die Caching-Schicht von Linux direkt vom Gerät.
- Die DDD-Option bs (Blockgröße) teilt DDD mit, wie viele Daten auf einmal gelesen oder geschrieben werden sollen. Moderne Festplatten arbeiten mit größeren Datenmengen viel schneller.
Komprimierung ist CPU-intensiv und gzip nutzt nur einen einzigen Kern, was bedeutet, dass dies wahrscheinlich der limitierende Faktor hinsichtlich der Geschwindigkeit für das Kopieren sein wird. Die Verwendung von Pigz, das alle CPU-Kerne nutzt, macht es schneller, ist aber wahrscheinlich immer noch CPU-belastet.
Als grobe Schätzung würde ich bei einer modernen CPU die Komprimierung verwenden, wenn Speicherplatz ein Problem wäre oder Sie über ein langsameres Gerät als USB 2 verbunden sind. USB 3, SATA oder 100 Mbit+-Netzwerke sind mit ziemlicher Sicherheit schneller als gzip, gewinnen also nicht an Geschwindigkeit, sparen aber möglicherweise etwas Speicherplatz.
Die Befehle, die ich bei einer langsamen Verbindung zum Speicher (z. B. 10 Mbit Ethernet oder USB 1/2) oder bei Platzmangel verwenden würde, sind:
dd if=/dev/sda bs=1M iflag=direct | pigz -c > /media/external/image.sda.gz
Wenn Sie über eine schnelle Verbindung zum Speicher verfügen und der verwendete Speicherplatz kein Problem darstellt, würde ich den folgenden Befehl verwenden:
dd if=/dev/sda of=/media/external/image.sda.raw oflag=direct iflag=direct bs=1M
Antwort2
Es funktioniert, ist aber nicht die beste Methode. Das Bild wird aufgrund der Nullen in den Rohdaten sehr groß. Wenn Sie dieses Verhalten vermeiden möchten, können Sie Folgendes tun:
dd if=/dev/sda | gzip > /media/externalhd/backup.img.gz
Gzip weiß, dass Nullen im Bild nicht berücksichtigt, sondern nur gezählt werden müssen, sodass das Bild kleiner wird, insbesondere wenn Sie etwas freien Speicherplatz auf der Festplatte haben. Zusammen mit der Gzip-Komprimierung ist es also um ein Vielfaches besser.