Wie erstelle ich virtuelle Blockgeräte aus einer Datei?

Wie erstelle ich virtuelle Blockgeräte aus einer Datei?
  • 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, imagewü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:

  1. EntsprechendDasPost,kpartxist anwendbares Werkzeug.
    • Leider hat es bei mir unter Arch Linux nicht funktioniert
    • Es ist von AUR:, yaourt multipath-tools-gitscheint 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.
  2. EntsprechendDasPost,losetupkann 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 -POption hat funktioniert: losetup -d /dev/loop0und losetup -P /dev/loop0 imageGeräte /dev/loop0pXwurden erstellt.
    • Diese Geräte sind dann wie erwartet montierbar, wiemount /dev/loop0p3 /mnt/x -t ntfs

verwandte Informationen