Wiederherstellen

Wiederherstellen

Ich mache regelmäßig vollständige Backups meiner Festplatte (mit allen Partitionen) mit dddem Tool as backup.imgfile. Ich habe mehrere solcher Dateien.

Meine alte Festplatte ist kaputt. Wie kann ich backup.imgDateien zum Schreiben auf eine neue Festplatte verwenden, sodass alle Partitionen und Dateien wie im Image intakt bleiben?

Ist es auch möglich, einen Teil der Daten (einige Dateien/Ordner) aus einer solchen Datei zu extrahieren backup.img?

Antwort1

Wiederherstellen

Sie können das Image mit etwa folgendem Befehl auf Ihrer Ersatzfestplatte wiederherstellen:

# dd if=backup.img of=/dev/sd?

Sie erhalten einen Klon Ihrer Originalfestplatte mit allen Partitionen und Daten.

Der Nachteil hierbei besteht darin, dass die Größe der Partitionen nicht geändert wird ddund Ihre Ersatzfestplatte daher die gleiche oder eine größere Kapazität als das Original haben muss.

Wenn Sie damit zufrieden sind, können Sie ein bootfähiges Image verwenden, das Folgendes enthält gpartedoder Ähnliches (z. B. Parted Magic) und die Größe der Partitionen so anpassen, dass sie auf die neue Festplatte passen.

Montage

Zum Mounten des Images müssen Sie verwenden losetup.

Ältere Methode

Die ältere Methode hierfür besteht darin, den Offset zum Beginn der Partition wie folgt zu berechnen:

Führen Sie es aus fdiskund suchen Sie nach der Sektorgröße:

# fdisk -l backup.img
Disk backup.img: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x91999386

Device      Boot   Start      End  Sectors  Size Id Type
backup.img1 *       2048  1026047  1024000  500M 83 Linux
backup.img2      1026048 16777215 15751168  7.5G 8e Linux LVM

Um Ihren Offset zu berechnen, lesen Sie dieStartSpalte für die Partition, an der Sie interessiert sind, und multiplizieren Sie diesen Wert mit Ihrer Sektorgröße. Um beispielsweise den backup.img1obigen Wert zu lesen, multiplizieren Sie 2048 x 512 = 1048576.

Verwenden Sie diesen Wert als Offset für losetupFolgendes:

# losetup -o 1048576 /dev/loop0 backup.img

Mounten Sie dann das Loopback-Gerät:

# mount -t ext4 /dev/loop0 /mnt

Spätere Methode

Neuere Versionen von losetupscannen /dev/loopalle Partitionen im Image und erstellen automatisch Einträge für diese, und zwar wie folgt:

# losetup -Pf backup.img
# ls /dev/loop0*
/dev/loop0  /dev/loop0p1  /dev/loop0p2
# mount -t ext4 /dev/loop0p1 /mnt

LVM-Partitionen

In meinem obigen Beispiel wird die zweite Partition als LVM angezeigt. Um Dateien daraus zu extrahieren, lassen Sie LVM einfach seine Magie auf dem Loopback-Gerät wirken. Erster Scan:

# pvs
  PV           VG            Fmt  Attr PSize PFree 
  /dev/loop0p2 fedora-server lvm2 a--  7.51g 40.00m

Aktivieren Sie dann die VG (beachten Sie den VG-Namen aus dem obigen Befehl, Ihrer wird wahrscheinlich anders sein als meiner):

# vgchange -a y fedora-server
  2 logical volume(s) in volume group "fedora-server" now active

Überprüfen Sie, welche Partitionen Sie haben:

# ls /dev/fedora-server/
root  swap

und montieren Sie einen davon:

# mount -t ext4 /dev/fedora-server/root /mnt

Ausfahrt

Nachdem Sie die Dateien extrahiert haben:

# umount /mnt
# losetup -d /dev/loop0

oder für LVM-Mounts:

# umount /mnt
# vgchange -a n fedora-server
  0 logical volume(s) in volume group "fedora-server" now active
# losetup -d /dev/loop0

verwandte Informationen