Gefällt dir dieser Artikel?

dd Festplattenimage mounten

erschienen in der Kategorie Software, am 22.04.2013
Schnatterente
In diesem Artikel hatte ich gezeigt, wie man mit dd eine komplette Festplatte oder einzelne Partitionen sichern und wieder herstellen kann. Gerade bekam ich eine E-Mail mit der Frage, wie man auf einzelne Dateien eines solchen Festplatten Images zugreifen kann, ohne es komplett zurückzukopieren.

Der Befehl
dd if=/dev/sda of=backup.img


erzeugt ein vollständiges Backup des kompletten Datenträgers sda (inklusive der Partitionstabelle, des Bootloaders, usw.). Will man an einzelne Daten dieses Backups ran, muss man dieses nicht vollständig zurückkopieren (was man tun würde, indem man if und of vertauscht).

Man kann die im Festplatten-Image enthaltenen Partitionen mounten. Dazu muss man aber wissen, wo im Festplatten-Image die gesuchte Partition beginnt. Mit dem Konsolenprogramm parted ist dies kein Problem.

Man öffnet das Image einfach mit parted:
parted backup.img

Danach gibt man den Befehl unit ein, bestätigt die Eingabe und reagiert auf die Nachfrage "Unit? [compact]?" mit dem groß geschrieben Buchstaben B. Gibt man nun print ein, spuckt parted die Partitionstabelle des gebackuppten Laufwerks aus, aus der man das benötigte Offset ablesen kann.
# parted backup.img
GNU Parted 3.1
Verwende /root/backup.img
Willkommen zu GNU Parted! Geben Sie 'help' ein, um eine Liste der verfügbaren Kommados zu erhalten.
(parted) unit
Einheit? [compact]? B
(parted) print
Modell: (file)
Festplatte /root/backup.img: 250059350016B
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos

Disk Flags:
Nr.AnfangEndeGrößeTypDateisys.Flags
11048576B73401368575B73400320000Bprimaryntfsboot
273401368576B250056737279B176655368704Bprimary


(parted) quit

Den Beginn der Partition gibt man beim Mounten einfach als Offset an.
# mount -o loop,ro,offset=1048576 backup.img /mnt/test

In diesem Beispiel wäre die gebackuppte Partition nun also unter /mnt/test eingebunden.

Hat man keine komplette Festplatte gebackuppt, sondern nur eine Partition, kann man auf die Angabe eines Offsets verzichten. Das Programm parted wird in diesem Fall also auch nicht benötigt. Der einfache Befehl
# mount -o loop,ro partition.img /mnt/test

reicht aus, um das Partitions-Image einzuhängen.

Geschnatter

5 Kommentare, selbst mitschnattern << < Seite 1/1 > >>
Michael, am 12.10.2013 um 01:58 Uhr
Schau dir mal kpartx an, nach:
kpartx -a image.img

findet man unter /dev/mapper/ ein Blockdevice für jede enthaltene Partition.
Als Gentoo User findet man kpartx in den sys-fs/multipath-tools

Gruss,
Michael
Antwort: Echt guter Tipp, Danke!
Peter, am 12.12.2014 um 12:21 Uhr
Hey Michael,

thx für den Hinweis!
mount -o loop,ro,offset=WERT backup.img /mnt/test
hat bei mir nur IO fehler ausgeworfen..
Hans, am 05.01.2015 um 14:27 Uhr
@Michael

thx, hat mir sehr geholfen!
coco, am 09.03.2015 um 20:23 Uhr
Super Tip!
Danke
jm009, am 17.05.2015 um 14:38 Uhr
@Peter,
welche Fehlermeldungen gab es denn?