Ich habe ein Image der gesamten Festplatte mit dd erstellt . Die Plattenstruktur folgt:
kent@cow:~$ sudo fdisk -l
Disk /dev/sda: 750.1 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000b8508
Device Boot Start End Blocks Id System
/dev/sda1 * 5 90872 729929303+ 83 Linux
/dev/sda2 90873 91201 2642692+ 5 Extended
/dev/sda5 90873 91201 2642661 82 Linux swap / Solaris
Das Bild wurde erstellt mit:
dd if=/dev/sda of=image750.img
Wie würde ich, wenn es möglich ist, / dev / sda1 vom Image aus mounten, damit ich den Inhalt lesen kann?
Es ist keine Option, die Festplatte erneut zu klonen. Ich weiß, wie das geht, wenn ich nur die einzelne Partition selbst geklont hätte. Ich hoffe es ist mit dem aktuellen Bild noch möglich.
linux
mount
disk-image
Gelöscht
quelle
quelle
Antworten:
Heutzutage gibt es eine bessere Möglichkeit, Offsets oder kpartx nicht mehr zu verwenden:
um loop0 freizugeben, benutze after umount:
quelle
kpartx
zuerst verwendet habe, wie die Partitionen gemountet werden/dev/mapper/loop3p1
, möchte ich nur darauf hinweisen, dasslosetup
die Geräte wie erstellt werden/dev/loop0p1
. In der Antwort steht das, aber ich habe es wahrscheinlich zehnmal durchgelesen. : /Ich bin heute auf dieses Problem gestoßen und wollte die Antworten aktualisieren, nur um mich daran zu erinnern. Anstatt den Versatz selbst zu berechnen, können Sie ein Tool verwenden, das bereitstellbare Geräte aus einem dd-Image bereitstellt: kpartx
http://robert.penz.name/73/kpartx-a-tool-for-mounting-partitions-within-an-image-file/
http://linux.die.net/man/8/kpartx
Im gegebenen Fall würde es sowas brauchen
Dabei steht loop1p1 für die erste Partition, loop1p2 für die zweite usw.
quelle
Sie haben den ersten Teil: fdisk -l, um den Startoffset zu finden. Nehmen Sie diese Zahl, multiplizieren Sie mit 512, und Sie erhalten die Offset-Option zum Einhängen. Also, für sda1 in deinem Fall, 5 * 512 = 2560. Dann führe den mount aus:
quelle
Loopmounting ist nur ein Teil der Antwort.
Weitere Informationen zum Festlegen der Partition finden Sie unter http://wiki.edseek.com/guide:mount_loopback#accessing_specific_partitions_in_the_image . Ich denke, mount -o loop, offset = 32256 /path/to/image750.img / mnt wird für Sie arbeiten. aber du solltest unbedingt das erwähnte Tutorial lesen.
quelle
losetup -P
AutomatisierungDie von https://superuser.com/a/684707/128124 (hinzugefügt in util-linux v2.21, hinzugefügt in Ubuntu 16.04) erwähnte Methode enthält Funktionen zur weiteren Automatisierung. Verwendung:
Quelle:
Schleifenmodul max_part config
Ordentliche Methode vor util-linux v2.21.
loop
ist ein Kernelmodul, das in Ubuntu 14.04 in den Kernel integriert ist.Wenn Sie es richtig konfigurieren, teilt Linux die Geräte automatisch für Sie auf.
gibt an, wie viele Partitionen
loop
Geräte generieren können.Unter
0
Ubuntu 14.04 ist dies standardmäßig der Fall, weshalb keine automatische Aufteilung erfolgt.Um es zu ändern, können wir entweder hinzufügen:
in eine Datei in
/etc/modprobe
oder:zu
/etc/default/grub
und dannsudo update-grub
.Informationen zum Festlegen eines Modulparameters finden Sie auch unter: https://askubuntu.com/questions/51226/how-to-add-kernel-module-parameters
Wenn Sie nach einem Neustart Folgendes tun:
Das Image wird an ein
/dev/loopX
Gerät angehängt und die Partitionen werden automatisch an/dev/loopXpY
Geräte angehängt.Dies ist die bequemste Methode, wenn Sie einen Neustart durchführen möchten.
Siehe auch
quelle
Wenn Sie ein Dateisystem im Benutzermodus wie fuse haben, dann mögen Sie Gnome in Desktop-Umgebungen und haben ein Tool wie gnome-disk-image-mounter installiert, dann ohne root durch Rechtsklick und öffnen damit.
quelle
Ich glaube, Loopmounting ist die Antwort -
Das obige sollte es unter diesem Verzeichnis einhängen.
Dies sollte es aushängen:
quelle