Metadaten des Dateisystems e2image wiederherstellen

2267
mkingston

Ich versuche, Dateisystem-Metadaten auf einer virtuellen Festplatte neu zu erstellen. Ich kann diese Metadaten mit e2image speichern, und auf der e2image-Manpage kann ich e2image -Idas Dateisystem wiederherstellen. Leider enthält die Manpage keine Informationen zur Verwendung dieses Arguments. Ich habe folgendes versucht (Befehlsergebnisse sind zur besseren Lesbarkeit eingerückt):

msk $ e2image /dev/nbd1 -I test.qcow2 e2image 1.42.5 (29-Jul-2012) e2image: Wrong magic number for Ext2 Image Header while trying to open test.qcow2 msk $ sudo e2image /dev/nbd1 -I test.qcow2 e2image 1.42.5 (29-Jul-2012) e2image: Wrong magic number for Ext2 Image Header while trying to open test.qcow2 msk $ sudo e2image test.qcow2 -I /dev/nbd1 e2image 1.42.5 (29-Jul-2012) e2image: Wrong magic number for Ext2 Image Header while trying to open /dev/nbd1 

Mein Dateisystem ist zwar ext4, die Manpage sagt jedoch Folgendes:

The e2image program will save critical ext2, ext3, or ext4 

Ich habe den folgenden Befehl verwendet, um das Image zu erstellen:

sudo e2image -Q /dev/mapper/nbd0p1 test.qcow2 
2

2 Antworten auf die Frage

2
Eric Sandeen

e2image unterstützt drei verschiedene Formate. Standardmäßig wird ein "normales" benutzerdefiniertes e2image-Dateiformat erstellt. Mit -r wird eine große spärliche Datei mit Metadaten an den richtigen Offsets erstellt, und mit -Q wird eine Datei im Qcow2-Format erstellt. (Die Option -Q wurde kürzlich hinzugefügt, um große Images des Dateisystems tragbarer zu machen).

Obwohl aus der Manpage nicht eindeutig hervorgeht, ist die Option -I nur für ein "normales" e2image-Dateiformat gültig, dh für ein Bild, das ohne -r oder -Q erstellt wurde.

Da Sie ein qcow2-Image haben, können Sie es mit qemu-img wieder auf ein Blockgerät schreiben:

# qemu-img convert -O raw test.qcow2 /dev/nbd1 

Allerdings sollte manbewusst seindass Ihr e2image generierte Bild enthält nur Metadaten, dh keine Dateidaten überhaupt. Sie schreiben Metadaten aus, die auf verschiedene Blöcke in / dev / nbd1 für Dateidaten zeigen. Dateien enthalten daher alle Daten, die zuvor in diesen Blöcken in / dev / nbd1 enthalten waren.

Ich habe Ihnen gesagt, wie es geht, aber stellen Sie sicher, dass es tatsächlich das ist, was Sie tun möchten!

Hallo, vielen Dank für deine Antwort. Zu dieser Schlussfolgerung bezüglich Metadaten kam ich, nachdem ich etwas über Dateisysteme gelesen hatte. Und danke für die Klarstellung: Befehlszeilenschalter. mkingston vor 11 Jahren 0
Tatsächlich möchte ich für die Aufzeichnung Datei-Metadaten nicht wirklich behalten, da ich meine Dateien in der Partition ersetzen möchte, ohne dabei deren Adresse auf dem Gerät zu berücksichtigen. Abschließend ist e2image nicht wirklich das Werkzeug, das ich verwenden möchte. Nochmals vielen Dank für eine klare Antwort. mkingston vor 11 Jahren 0
2
Greg

Es ist möglich, ein qcow2 Bild wiederherzustellen erstellt e2image -Qmit e2image -r. Zum Beispiel:

# e2image -Q /dev/sdb1 image.qcow2 # e2image -r image.qcow2 /dev/sdb2 

Beachten Sie, dass ich dies mit der Version 1.42.12von e2fsprogs getestet habe.

Ab >= 1.42.9, e2imageunterstützt auch die -aFlagge, die Sie Dateisystemdaten zusätzlich zu Metadaten enthalten können:

# e2image -Qa /dev/sdb1 image-full.qcow2 # e2image -r image-full.qcow2 /dev/sdb2 

Ich habe bestätigt, dass in diesem Fall e2image -rnur die zugewiesenen Blöcke wieder in das Ziel geschrieben werden, während qemu-img convertdas gesamte logische Dateisystem scheinbar geschrieben wird. Dies kann eine Menge E / A für teilweise genutzte Dateisysteme sparen.