Wie erstellt man virtuelle Blockgeräte aus einer Datei?

3248
sharpener
  • Lassen Sie uns ein unbekanntes unkomprimiertes unkomprimiertes Festplatten-Image (z. B. von dd if=/dev/sda of=image) in einer einzelnen Datei erstellen.
  • Wenn wir das Festplattenlayout kennen, können wir bestimmte Partitionen aus der Datei als Loop-Geräte einhängen, indem einige Offsets übersprungen werden.
  • Nehmen wir an, wir kennen das Layout nicht. Können wir das gesamte Festplattenlaufwerk irgendwie "mounten" image, welcher Prozess virtuelle Blockgeräte entsprechend dem Festplattenlayout erstellen würde? Beispielsweise mit 2 - Partitionen in denen imagebei der Schaffung von 3 - Geräten (resultieren würden /dev/sdx, /dev/sdx1, /dev/sdx2). Wir könnten dann solche Geräte wie gewohnt montieren.
1
Was Sie suchen, ist das Loop-Gerät. Sie können alles an ein Loop-Gerät anschließen und dann mit kpartx Partitionen ausführen, um Partitionen zu ermitteln, die dann gemountet werden können. Sami Laine vor 8 Jahren 0
@Deltik: Danke, ich habe bereits ähnliche Beiträge gefunden und eine Antwort formuliert. sharpener vor 8 Jahren 0
Wenn es sich um ein Bild einer einzelnen Partition handelt, können Sie es nicht direkt "montieren". Nur wenn das Image mehr als eine Partition oder ein Dateisystem enthält, benötigen Sie ein Programm, um die Eingabe zu parsen und mehrere Volumes zu emulieren. jiggunjer vor 8 Jahren 0

1 Antwort auf die Frage

1
sharpener

Nach einigen weiteren Untersuchungen habe ich mindestens zwei Methoden getestet:

  1. Laut diesem Beitrag kpartxist das Werkzeug anwendbar.
    • Leider funktionierte es bei Arch Linux nicht für mich
    • Es ist von AUR:, yaourt multipath-tools-gitscheint nicht gut unterstützt / abgeschlossen zu sein und endete mit Fehlern wie:

      Geräte-Mapper: Neuladen von Ioctl auf Loop0p1 fehlgeschlagen: Kein solches Gerät

    • Kann zumindest zum Auflisten der eingebetteten Partitionen verwendet werden: kpartx -l image
    • BEARBEITEN: Nach diesem Beitrag scheint es veraltet zu sein und die bevorzugte Methode ist die folgende.
  2. Nach diesem Beitrag losetupkann verwendet werden.
    • Erstens hat es nicht funktioniert: losetup /dev/loop0 image(fehlen die Geräte für bestimmte Partitionen).
    • Der Versuch, wieder zusätzliche Verwendung von -POption, die Arbeit haben: losetup -d /dev/loop0, losetup -P /dev/loop0 imageund /dev/loop0pXGeräte erstellt wurden.
    • Diese Geräte können dann wie erwartet montiert werden mount /dev/loop0p3 /mnt/x -t ntfs
Ich frage mich, ob ohne die MBR / GPT-Informationen funktionieren würde. Was ist, wenn Sie die ersten paar Sektoren zugeschnitten haben, damit das Image bei der ersten Partition beginnt? Und sind diese `/ dev / loop0px'-Volumes schreibbar, da die Änderungen in der ursprünglichen Bilddatei gespeichert werden? jiggunjer vor 8 Jahren 0