- Lassen Sie uns ein unkomprimiertes Rohimage eines unbekannten Laufwerks (erstellt beispielsweise von
dd if=/dev/sda of=image
) in einer einzelnen Datei haben. - Wenn wir das Festplattenlayout kennen würden, könnten wir durch Überspringen einiger Offsets bestimmte Partitionen aus der Datei als Loop-Geräte mounten.
- Nehmen wir an, wir kennen das Layout nicht. Können wir das gesamte Laufwerk irgendwie „mounten“
image
, wodurch virtuelle Blockgeräte entsprechend dem Laufwerkslayout erstellt würden? Wenn wir beispielsweise 2 Partitionen haben,image
würden 3 Geräte erstellt (/dev/sdx
,/dev/sdx1
,/dev/sdx2
). Wir könnten diese Geräte dann wie üblich mounten.
Antwort1
Nach einigen weiteren Recherchen bin ich zu dem Schluss gekommen, dass es mindestens zwei Testmethoden gibt:
- EntsprechendDasPost,
kpartx
ist anwendbares Werkzeug.- Leider hat es bei mir unter Arch Linux nicht funktioniert
- Es ist von AUR:,
yaourt multipath-tools-git
scheint nicht gut unterstützt/fertig zu sein und endete mit Fehlern wie:Gerätemapper: Neuladen von ioctl in loop0p1 fehlgeschlagen: Kein solches Gerät
- Kann zumindest zum Auflisten der eingebetteten Partitionen verwendet werden:
kpartx -l image
- BEARBEITEN:EntsprechendDasPost, es scheint veraltet zu sein und die bevorzugte Methode ist die folgende.
- EntsprechendDasPost,
losetup
kann verwendet werden.- Zuerst hat es nicht funktioniert:
losetup /dev/loop0 image
(die Geräte für bestimmte Partitionen fehlten). - Ein erneuter Versuch mit der zusätzlichen
-P
Option hat funktioniert:losetup -d /dev/loop0
undlosetup -P /dev/loop0 image
Geräte/dev/loop0pX
wurden erstellt. - Diese Geräte sind dann wie erwartet montierbar, wie
mount /dev/loop0p3 /mnt/x -t ntfs
- Zuerst hat es nicht funktioniert: