thedarklord
Goto Top

Mit Linux eine Festplatte oder Partition sichern u. wiederherstellen (Image erstellen u. zurück spielen)

Benötigte Erfahrung: Anfänger bis Fortgeschritten (Grundkenntnisse Linux von Vorteil aber nicht notwendig)
Benötigte Software: Eine Linux Live-CD, z.B. von Kubuntu
Benötigte Hardware: Eine USB-Festplatte / einen USB-Stick oder eine weitere interne Festplatte, wo das Image gespeichert wird.
Ich nutze eine EXT3-Platte dafür, es sollte aber bei neuen Linux-Distributionen auch mit NTFS möglich sein.

back-to-topHallo Gemeinde

Analog zu meiner Anleitung für ein Backup mittels Clonezilla hier die Möglichkeit, mit ein paar kurzen Befehlen in Linux eine Partition oder Festplatte in ein Image zu sichern und dieses wieder zurück zu schreiben. Gedacht für Leute, die eh schon eine Linux Live-CD vorliegen haben und nicht extra noch Clonezilla herunterladen möchten.

Ich gehe nachfolgend von Kubuntu aus, wird z.B. SuSE benutzt, muss das "sudo" weggelassen werden.
Bei allen Befehlen natürlich auch die umschließenden Anführungszeichen weglassen!
In meiner Anleitung behandele ich eine Partition. Eine ganze Platte mit mehreren Partitionen habe ich nicht getestet, SOLLTE aber analog funktionieren, indem man die Zahl bei dem Device weglässt, man also z.B. anstatt der Partition 1 "/dev/sda1" die gesamte Platte "/dev/sda" benutzt. Dieser Fall aber OHNE GEWÄHR!


back-to-topAllgemeine Vorbereitung
  1. Wenn noch nicht vorhanden, eine Live-CD, z.B. von Kubuntu herunterladen und auf eine CD brennen. Das natürlich von der CD gebootet wird, brauch ich ja hoffentlich nicht extra erwähnenface-wink
  2. Nicht nötig aber empfehlenswert: Den freien Platz auf der Systempartition "ausnullen" - Nullen lassen sich besser packen als ein Zeichendurcheinander -> das Image wird kleiner! In Windows kann man dazu ne kleine Batch erstellen, diese ausführen und warten, bis sich das CMD-Fenster wieder geschlossen hat.
@echo off
color 70
echo.
echo Festplatte wird mit Nullen beschrieben, bitte warten...
echo 0 > c:\nulldatei
:loop
type c:\nulldatei >> c:\nulldatei
if errorlevel 1 goto stop
goto loop
:stop
cls
exit



back-to-topSicherung
  1. Wenn das Linux von der Live-CD gestartet ist, die USB-Festplatte oder den USB-Stick anschließen. Ist eine weitere interne Festplatte vorhanden, diesen Schritt ignorieren.
  2. Die Konsole öffnen, bei Kubuntu geht man dazu auf das Menü unten Links und wählt im Abschnitt Systemprogramme das Terminalprogramm Konsole aus. Alternativ kann man auch Strg+F2 drücken, um von der grafischen Oberfläche in eine Textkonsole zu wechseln. Bei den meisten Distributionen loggt man sich einfach nur mit "root" ein.
  3. Den Befehl "sudo fdisk -l" eingeben und mit Enter bestätigen.
  4. Nun überprüft man, welches Device die zu sichernde Platte ist und welches Device die Backup-Platte, wo das Image drauf soll. In meinem Beispiel ist die Windows Parition /dev/sda1 und die externe Festplatte /dev/sdc1
  5. Mit "sudo mount /dev/sdc1 /mnt" bindet man die Backup-Festplatte in den Ordner "/mnt" ein.
  6. Nun starten wir das schreiben des Images, mit dem Befehlszeichen | gleich nach gzip geleitet, um es zu packen: "dd if=/dev/sda1 bs=32k | gzip -9 > /mnt/image.gz" wobei die Option -9 sagt, dass es maximal gepackt werden soll.
  7. Irgendwann ist DiskDump fertig und in der Ausgabe sollte die Zahl bei "in" genau die gleiche sein wie bei "out" - ansonsten ist etwas schief gegangen! Man hat nun ein gepacktes GZ-Archiv, in dem Bit für Bit das Abbild der Festplatte liegt.


back-to-topWiederherstellung
  1. Wenn das Linux von der Live-CD gestartet ist, die USB-Festplatte oder den USB-Stick anschließen. Ist eine weitere interne Festplatte vorhanden, diesen Schritt ignorieren.
  2. Die Konsole öffnen, bei Kubuntu geht man dazu auf das Menü unten Links und wählt im Abschnitt Systemprogramme das Terminalprogramm Konsole aus. Alternativ kann man auch Strg+F2 drücken, um von der grafischen Oberfläche in eine Textkonsole zu wechseln. Bei den meisten Distributionen loggt man sich einfach nur mit "root" ein.
  3. Mit "sudo mount /dev/sdc1 /mnt" bindet man die Backup-Festplatte in den Ordner "/mnt" ein.
  4. Nun starten wir das entpacken und gleichzeitige zurückschreiben des Images auf die gewünschte Partition mit: "cat /mnt/image.gz | gunzip -d -c | dd of =/dev/sda1 bs=32k", wobei cat das Image nach gunzip leitet, welches es entpackt und dann weiter nach dd schickt, um es wieder auf die Platte zu schreiben.
  5. Analog zum sichern erscheint nach erfolgreicher Arbeit wieder die Ausgabe mit "in" und "out", wo wieder beide Zahlen absolut gleich sein müssen.



back-to-topAnmerkungen
Diese Variante nutze ich schon seit Jahren und hatte noch nie eine Fehlerhafte Rück-Sicherung. Wenn man nicht gerade eine Linux Live-CD von vor 10 Jahren nimmt, ist natürlich sowohl SATA bereits implementiert und unterstützt als auch ein NTFS-Treiber integriert, welcher ein Backup auf eine externe NTFS-Platte möglich machen sollte.
Ich nutze meine Backup-Platte ausschliesslich für HDD-Images, deshalb habe ich sie im Linux-Format EXT3 formatiert.
Wer über Netzwerk sichern/wiederherstellen möchte, kann das zwar auch über Linux machen, darauf gehe ich aber nicht weiter ein und verweise statt dessen an meine Anleitung für Clonezilla.


Gruß Dark

Content-Key: 134636

Url: https://administrator.de/contentid/134636

Ausgedruckt am: 29.03.2024 um 02:03 Uhr

Mitglied: 70866
70866 29.01.2010 um 00:02:10 Uhr
Goto Top
was ich mir für so ne Aktion wünschen tät wär eine gzip Erweiterung, die Fehlertolerant wäre nach dem Raid Prinzip. Sprich, man schreibt das Image nicht in eine große Datei sondern in viele kleine Dateien.

Es könnten bis zu 20% der Dateien defekt sein wenn in 5 Dateien der Inhalt von vieren drin ist. (oder in 4 der Inhalt von 3) so wie man auch Raid 5 Arrays aufbaut wo eine Platte zusätzlich da ist.

Ich hatte das schon mal daß eine Platte nen paar kaputte Sektoren hatte und die Imagedatei als Ganzes kaput war. Das gzip hat bis zur defekten STelle gelesen, aber das hat leider nicht gereicht.
Mitglied: TheDarkLord
TheDarkLord 29.01.2010 um 11:01:27 Uhr
Goto Top
Das Image in viele kleine Dateien schreiben ist kein Problem mit tar. Wie sich das dann allerdings mit der Fehlertoleranz beim wieder zusammenführen verhält, wenn eine oder mehrere von den kleinen Dateien beschädigt sind, kann ich nicht sagen face-smile

Gruß Dark
Mitglied: genghis
genghis 16.12.2011 um 15:27:06 Uhr
Goto Top
Hallo!

Ich sichere z.B. übers Netz auf eine Windows-Freigabe mit aufgeteilten kleineren Dateien.

grml oder knoppix live CD (oder Kubuntu, oder ...)

Terminal aufrufen. Wir haben root zu sein.

Gerätenamen der zu sichernden Festplatte feststellen (z.B. /dev/sda).

mkdir netz

mount -t smbfs -o username=BenutzerkontoDesBackuprechners,password=geheim //BackupRechnername/Freigabename netz

dd if=/dev/sda bs=64k | gzip -c | split -b 2G - netz/dateiname.dd.gz. 

Man achte auf den Punkt am Ende der Zeile. Das Programm split hängt den aufsteigenden Suffix dahinter.

Ob bs=64k oder wie bei TheDarkLord 32k sein sollte, weiß ich nicht. mit 64k habe ich gute Erfahrungen bei der Geschwindigkeit gemacht.

Die Platte wird in ein Image geschrieben, welches gezippt in Teilen von bis zu 2 GiB gespeichert wird.


Wiederherstellung/Zurückschreiben:

cat netz/dateiname.dd.gz.* | gzip -dc | dd of=/dev/sda


Wenn ich nicht aufteile und die Backupdatei dateiname.dd an einem Stück vorliegt, kontrolliere ich die Prüfsummen von Platte und Sicherung:

md5sum -b /dev/sda netz/dateiname.dd


Sichern und Prüfen in einem Rutsch mit Fortschrittsanzeige:

dd if=/dev/sda bs=64k | pv | gzip -c | split -b 4G - netz/dateiname.dd.gz. ; cat /dev/sda | pv | md5sum > netz/pruefsumme-sda.txt ; cat netz/dateiname.dd.gz.* | pv | gzip -dc | md5sum > netz/pruefsumme-image.txt
(Das ist eine Befehlszeile.)

Eine Windowsplatte würde ich vor der Spiegelung nicht nur mit Nullen beschreiben sondern auch defragmentieren und deren Dateisystem checken.

(Im Ausgangs-Artikel wird eine Partition gesichert, in meinem Kommentar die ganze Platte inklusive MBR und Partitionstabelle. Wenn man nur eine Partition sichern will, kann man partimage nehmen und erspart sich das Beschreiben mit Nullen, weil partimage keine bitweise Partition erstellt sondern nur die ungelöschten Daten sichert.)

Gruß

Genghis