an die Linux-Experten unter Euch: Ich habe ein Festplatte von einem
Ubuntu (ext4), da ist eine kleine boot-Partition drauf (sda1) und eine
von System(14GB). Die Platte insgesamt ist 120GB groß, der Rest von ca.
100GB ist also frei.
Jetzt geht es ums sichern eines images:
wenn ich mit einer live-CD/Usb-Stick starte und angebe:
dd if=/dev/sda of=./gemountet/mein.img bs=4096 status=progress
dann wird die image-datei 120GB groß. obwohlich ja nur knapp 16GB
Nutzdaten habe. Der Vorteil ist aber, ich kann die Festplatte so mit dd
"andersherum" einfach wieder herstellen, und der MBR und alles ist
richtig drauf und sie bootet.
wenn ich jetzt die Partitionen einzeln sichere, damit das Image nicht so
groß wird, oder genauer die 2 - wie erhalte ich dann wieder ein
lauffähiges System / wie muss ich wiederherstellen?
dd if=/dev/sda1 of=./gemountet/mein_sda1.img bs=4096 status=progress
dd if=/dev/sda2 of=./gemountet/mein_sda2.img bs=4096 status=progress
Ich hoffe, Ihr versteht, was ich meine.. :-)
Sichere dir noch den ersten Block von /dev/sda mit (count=1), dann hast
du die Partitiontabelle und den Bootcode.
Das geht aber nur, wenn du MBR als Partitionierungsschema hast. Bei GPT
ist der entsprechende Bereich größer und wird außerdem noch einmal in
den letzten Blöcken des Mediums repliziert.
In jedem Falle solltest du auf der sicheren Seite liegen, wenn du 1 MiB
vom Anfang von /dev/sda sicherst. Das ist der Bereich, der üblicherweise
(bei Linuxen) vor der ersten Partition frei gehalten wird (also bs=1024k
count=1).
Wenn du anstelle vom kompletten /dev/sda die einzelnen Partitionen
sicherst dann musst du schon mal den Zieldatenträger händisch
partionieren, z.B. mit parted.
Das kann, je nachdem etwas fummelig, es gibt auf jeden Fall Potential
dass das Endergebnis nicht so aussieht wie du es haben möchtest und das
System dann nicht läuft.
Ich würde entweder:
- die komplette sda sichern und rückspielen, auch wenns etwas länger
dauert. Diese Methode funktioniert m.M.n. am einfachsten.
oder
- beide Partitionen mittels rsync/tar/gz sichern.
Du hast dann ein Backup auf Dateiebene anstelle eines richtigen Images.
Auch in diesem Fall musst zu beim Zurückspielen den Zieldatenträger
händisch partionieren (und sogar noch formatieren).
In diesem Fall müsstest du die Partitionstabelle sicher entweder über
den ersten Block wie Jörg W. oden schrieb oder manuell per Abschreiben
aus fdisk bzw. cfdisk.
Bei Wiederherstellen würdest du dann deine Images direkt in die neuen
Partitionen schreiben.
Ich habe nachgesehen: Typbezeichnung ist "gtp" und die 1. Partition
fängt geht von 2048 bis 4095 und heißt "Bios boot", Größe 1M.
D.h. wenn ich alles davor sicher mit
dd if=/dev/sda of=./gemountet/mein_festplattenanfang bs=2048 count=1
sollte ich alles haben, oder?
beim Rücksichern müsste ich dann sicherstellen, dass ich sda1 wieder ab
2014 hintue und gleiche Größe wie jetzt - Clonezilla hat schon seine
Berechtigung! :-)
Ach nee, hoppla, das sind ja Sektoren, nicht Bytes also:
dd if=/dev/sda of=./gemountet/mein_festplattenanfang.img bs=512
count=2048
Kann denn Clonezilla, gestartet als live-CD, images nur mit Nutzdaten
erzeugen? also in meinem Fall 16GB siehe oben?
Fred schrieb:> bs=2048 count=1
Nö.
Ich schrob doch oben: bs=1024k count=1.
bs=2048 wären 2048 Byte, nicht 2048 512-byte-Blöcke.
Was auch geht ist count=2048, der default ist bs=512.
Wenn das eine GPT ist, müsstest du anschließend nach dem Rücksichern
noch mit [g]parted die zweite Replik der Tabelle am Ende des Mediums
wiederherstellen lassen.
Fred schrieb:> beim Rücksichern müsste ich dann sicherstellen, dass ich sda1 wieder ab> 2014 hintue und gleiche Größe wie jetzt - Clonezilla hat schon seine> Berechtigung! :-)
Nachdem du den ersten Block (mit der Partitionstabelle)
wiederhergestellt hast und ggf. einmal gebootet hast sollten die Devices
/dev/sda1 und /dev/sda2 wieder auftauchen. Danach kannst du die Images
direkt in diese Devices ausgeben.
Einfach mit "sfdisk" die Parttabelle sichern und auch wiederherstellen,
dann einfach die Partitionen zurueck spielen.
Bei GPT bleibt sogar dann die ID erhalten, kann man aber auch aendern.
dave4 schrieb:> Nachdem du den ersten Block (mit der Partitionstabelle)> wiederhergestellt hast und ggf. einmal gebootet hast
Wenn ich die man page von partx richtig interpretiere, müsste man sich
den Reboot sparen können mit
partx -a /dev/sda
Fred schrieb:> dd if=/dev/sda of=./gemountet/mein.img bs=4096 status=progress>> dann wird die image-datei 120GB groß. obwohlich ja nur knapp 16GB> Nutzdaten habe.
gib dem "dd" noch ein "conv=sparse" mit, dann wird die Image-Datei zwar
auch 120GB groß, belegt aber nur für die Nicht-0x00-Blöcke Platz.
(d.H. "du -h ./gemountet/mein.img" sagt was anderes als "ls")
Allerdings wird das trotzdem mehr als 16GB sein, wenn der Stick mal
zwischendurch mehr Daten gesehen hat, und die nach dem logischem Löschen
nicht raus-genullt/getrimmt worden sind.
Fred schrieb:> Kann denn Clonezilla, gestartet als live-CD, images nur mit Nutzdaten> erzeugen?
Ja. Gerade deshalb nimmt man ja Clonezilla statt ein einfaches dd. Es
sichert dir den MBR und den genutzten Anteil der Partitionen, sofern es
das Filesystem kennt, was bei ext4 natürlich der Fall ist.
Rolf M. schrieb:> Es sichert dir den MBR und den genutzten Anteil der Partitionen, sofern> es das Filesystem kennt, was bei ext4 natürlich der Fall ist.
Wobei alles außer blödem FAT-FS die Daten bestmöglich über die
Partitiion verstreut. Rührt noch aus der Zeit der rotierenden Spindeln,
da man auf diese Weise die Daten so organisieren konnte, dass kurze
Kopfwege entstehen für zusammengehörige Daten (einer Datei).
Kann man dann natürlich wieder dateiweise sichern (tar, dump, …), wenn
sichergestellt ist, dass auch wirklich alle Metadaten dabei erfasst und
restauriert werden.
Ein simples dd hat den Vorteil, dass es kleinster gemeinsamer Nenner ist
und man den Kram eigentlich immer irgendwie irgendwo wieder extrahiert
bekommt.