Wie kann ich eine Festplatte in ein Image klonen, das ich später öffnen kann?

14

Ich muss ein (vorzugsweise) bereitstellbares Image einer 80-GB-Festplatte erstellen und auf einer anderen Festplatte speichern. Gibt es eine Möglichkeit, dies zu tun, ohne Daten zu verlieren?

Vielen Dank für die Antworten, die ich bisher erhalten habe. Das betreffende System kann derzeit aufgrund eines Problems mit dem Netzschalter nicht verwendet werden :( [ugh!], Aber die Informationen sind wirklich nützlich =)! Vielen Dank an alle, die bisher geantwortet haben. Wenn mir noch jemand ein paar Tipps geben möchte, lasse ich dies ein wenig offen, da ich das Laufwerk noch nicht klonen konnte.

RolandiXor
quelle
Um den fehlerhaften Ein- / Ausschalter außer Kraft zu setzen, schließen Sie einfach die Stifte, die die beiden Drähte des Ein- / Ausschalters verbinden, mit einem Schraubendreher oder etwas anderem kurz. Nur diese beiden berühren nicht mehr als diese beiden gleichzeitig!
Marc-Andre Benoit

Antworten:

8

Verwenden Sie dd(ersetzen Sie sda1 durch die Partition, die Sie speichern möchten):

sudo dd if=/dev/sda1 of=/home/user/backup.img

Dadurch wird ein bereitstellbares Image einer Partition erstellt. Beachten Sie jedoch, dass dies eine Weile dauern kann und das Image die Größe der Partition und nicht die Dateien darauf hat. In Ihrem Fall wären dies 80 GB. Wenn Sie das Bild komprimieren, sollte es ungefähr so ​​groß sein wie der belegte Speicherplatz Ihrer Festplatte.

Weitere Informationen finden Sie unter DriveImaging: Erstellen von Disc-Images mit dd .

sBlatt
quelle
Dies klont die Partition / dev / sda1 und nicht die Festplatte / dev / sda. Für Rettungs- und Bergungszwecke könnte es besser sein , die gesamte Festplatte zu kopieren, nicht nur die Partition
fabricator4
3

Meine bevorzugte Methode ist die Verwendung einer CloneZilla-Live-CD. Laden Sie die ISO-Datei herunter, brennen Sie sie mit Brasero auf die Festplatte, legen Sie sie in den Computer, auf dem Sie ein Image erstellen möchten, starten Sie den Computer neu, schließen Sie das Ziellaufwerk an und befolgen Sie die Anweisungen. Seien Sie vorsichtig bei der Verwendung von dd, es ist ein sehr einfaches Tool und Fehler können leicht Daten zerstören. Wenn Sie eine byteweise Kopie eines Images erstellen möchten, wählen Sie die Option Partition zu Partition in CloneZilla.

Nick Pascucci
quelle
+1. Clonezilla ist ein gutes Werkzeug für diesen Zweck. Sie können die Clonezilla-ISO-Datei auch auf ein USB-Laufwerk klonen und von USB booten. Siehe auch diesen Link für weitere Details.
Sudodus
3

Remastersys ist ein Programm, mit dem Sie Backups Ihrer gesamten Festplatte erstellen und diese beispielsweise auf einer Live-CD speichern können. Sie können damit auch eine benutzerdefinierte Ubuntu-Distribution erstellen. Es hat eine CLI und eine GUI, also treffen Sie Ihre Wahl. Wählen Sie in der GUI die erste Option, Sichern .

Remastersys

Um es zu installieren, öffnen Sie das Software-Center. Klicken Sie dann auf Bearbeiten -> Softwarequellen -> Andere Software (Registerkarte) und klicken Sie auf Hinzufügen und Einfügen

deb http://www.geekconnection.org/remastersys/repository karmic/

Schließen Sie nun das Fenster mit den Softwarequellen und warten Sie, bis die Repos aktualisiert sind. Installieren Sie dann remastersys.

Lyrositor
quelle
Ups .. Es scheint, dass die Reopsität "karmisch" sein muss
Peter.O
Hallo Lyrositor. Können Sie dies aktualisieren, um relinux anstelle von remastersys zu verwenden?
RolandiXor
3

Imaging über LAN

auf dem Backup-Rechner laufen:

nc -l -p 12345 | dd of=mybackup.img

Auf dem Quellcomputer ausgeführt:

dd if=/dev/sda | nc server2 12345
Jet
quelle
ziemlich interessante Art und Weise, es zu tun ^^! Ich versuche gerade, das System wieder einzuschalten lol (dummer Netzschalter) !!!!!!!!!
RolandiXor
0

Die einfachste Methode ist die Verwendung von dd. Die häufigste Beschwerde ist jedoch, dass dd beim Kopieren einer großen Festplatte keine Fortschrittsanzeige anzeigt. Sie können den Pipe Viewer (pv) in Verbindung mit dd verwenden, um einen Fortschrittsbalken und die vollständige ETA anzuzeigen. Installiere pv mit

sudo apt-get install pv

Das Laufwerk, das Sie kopieren, muss nicht bereitgestellt werden. Wenn Sie Daten von einem beschädigten Laufwerk wiederherstellen, empfiehlt es sich, das Laufwerk nicht im Lese- / Schreibmodus bereitzustellen. Alles, was Sie mit dem Laufwerk tun, kann gelöschte Daten überschreiben oder das Dateisystem weiter beschädigen. An dieser Stelle sollten Sie eine Bitkopie erstellen, um die Wiederherstellung zu ermöglichen, ohne die Daten einem weiteren Risiko auszusetzen.

Zwei Dinge, die Sie wissen müssen, bevor Sie fortfahren, sind der Gerätename des zu kopierenden Laufwerks und seine tatsächliche Größe. Beide können durch Ausgeben des Befehls gefunden werden

sudo fdisk -l

Daraufhin werden die an das System angeschlossenen Laufwerke und ihre Größe in MB angezeigt.

Im einfachsten Fall lautet der Befehl zum Kopieren der Festplatte in die Datei rescue.dd im aktuellen Verzeichnis:

sudo dd if=/dev/sdx of=rescue.dd

Dabei muss / dev / sdx in den tatsächlichen Gerätenamen geändert werden, den Sie kopieren. Möglicherweise müssen Sie den Eigentümer von rescue.dd ändern, da es root gehört.

Um einen praktischen Fortschrittsbalken und die vollständige ETA zu erhalten, leiten Sie den Befehl dd durch pv:

sudo dd if=/dev/sdX | pv -s 99999m -bpae | dd of=rescue.dd 

Dabei ist / dev / sdX der Gerätename des zu kopierenden Laufwerks und 99999 die Größe des Geräts in MB (nicht MB). Ihr Benutzer besitzt die Datei rescue.dd, da der zweite Aufruf von dd, der die Ausgabedatei schreibt, Ihrem Benutzer und nicht root gehört. Die Datenanzeige umfasst die durchschnittliche Datenrate, einen Fortschrittsbalken,% abgeschlossen und die ETA bis zum Abschluss.

Hersteller4
quelle
Ich hatte Erfolg mit pv alleine, zB: sudo pv / dev / sdb | xz -9> sdcard.img
Fordi
0

Wenn Sie Fortschritte sehen möchten und auch die Befehlszeile nicht stören, ist PV Ihr Freund. Ich probiere Ubuntu MATE auf meinem Raspberry Pi 2 aus und wollte meine SD-Karte sichern und die neue schreiben, aber ich hasse es, eine große E / A zu betreiben, ohne zu wissen, was los ist. Das hat am schnellsten funktioniert:

$ sudo su
# pv /dev/sdb | xz > my-pi.img.xz
# pv ubuntu-mate-15.04-desktop-armhf-raspberry-pi-2.img.bz2 | bzip2 -d > /dev/sdb

Das Wiederherstellen war genauso einfach

# pv my-pi.img.xz | xz -d > /dev/sdb

In allen Fällen ist was los ist pv wird die Eingabedatei / das Eingabegerät als Spam an stdout gesendet und stderr ein Fortschrittsbericht übermittelt. Dann nimmt xz oder bzip2 stdin aus der Pipe (die stdout des vorherigen Befehls) und fungiert als Filter. Die Ausgabeumleitung legt die Datei auf dem Gerät oder in der Image-Datei ab.

Ich weiß nicht, dass es überhaupt mit Blöcken arbeitet, aber ich vermute, Linux puffert alles für mich und liest / schreibt Daten mit dem Block auf Hardware-Ebene.

Gibt es in diesem Sinne einen großen Vorteil bei der Verwendung von dd? Ich kann sehen, ob wir bestimmte Teile einer Festplatte lesen oder schreiben (z. B. wenn Sie eine Partition aus einem Image extrahieren möchten, nachdem Sie die Endpunkte von fdisk entfernt oder getrennt haben), aber für das Spammen einer ganzen Festplatte bevorzuge ich die einfachere Befehl.

Fordi
quelle
Ich habe gerade getestet und es funktioniert. Nur ein wenig hinzufügen, können Sie ersetzen xzmit pixz, was die Nutzung aller Kerne nehmen, um den Prozess zu beschleunigen. apt-get install pixz
Leandro N