|
|
Zeile 1: |
Zeile 1: |
− | Wenn man unter Linux eine ISO-Datei oder eine per [[dd]] erzeugte Image-Datei als Verzeichnis einbinden möchte (das entspricht dem virtuellen Laufwerk anderer Betriebssysteme), geht man wie folgt vor: | + | [[Category:Multimedia]] [[Category:HowTo]] |
| + | Wenn man unter Linux eine ISO-Datei als Verzeichnis einbinden möchte (das entspricht dem virtuellen Laufwerk anderer Betriebssysteme), geht man wie folgt vor: |
| | | |
| Man erstellt das Verzeichnis, in dem später der Inhalt der ISO-Datei erscheinen soll, bspw. | | Man erstellt das Verzeichnis, in dem später der Inhalt der ISO-Datei erscheinen soll, bspw. |
Zeile 11: |
Zeile 12: |
| --[[Benutzer:Freecoffee|Freecoffee]] 11:50, 29. Aug 2006 (CEST) | | --[[Benutzer:Freecoffee|Freecoffee]] 11:50, 29. Aug 2006 (CEST) |
| | | |
− | =Partitionierte Datenträger=
| + | ---- |
− | ==Gezielte Adressierung mittels 'offset'==
| + | [[Multimedia | Zurück zu Multimedia]] |
− | Das oben beschriebene Vorgehen funktioniert auch für den direkten Zugriff auf Partitionen innerhalb eines Images. Das folgende Beispiel zeigt, wie die erste Partition eines SD-Card-Images gezielt adressiert und gemountet wird.
| |
− | | |
− | Das Image wurde von einer SD-Card gezogen. Darin befindet sich eine primäre Partition:
| |
− | <pre>
| |
− | j3:~ # fdisk -l sd-card.img
| |
− | | |
− | Disk sd-card.img: 29.5 GiB, 31674335232 bytes, 61863936 sectors
| |
− | Units: sectors of 1 * 512 = 512 bytes
| |
− | Sector size (logical/physical): 512 bytes / 512 bytes
| |
− | I/O size (minimum/optimal): 512 bytes / 512 bytes
| |
− | Disklabel type: dos
| |
− | Disk identifier: 0x00000000
| |
− | | |
− | Device Boot Start End Sectors Size Id Type
| |
− | sd-card.img1 8192 61863935 61855744 29.5G c W95 FAT32 (LBA)
| |
− | </pre>
| |
− | Die erste und einzige Partition 'sd-card.img1' beginnt bei Sektor 8192 (Spalte ''Start''). Daraus kann der Offset als Produkt mit der Größe der Sektoren (512 bytes) errechnet und direkt adressiert werden:
| |
− | <pre>
| |
− | j3:~ $ sudo mount -t vfat -o loop,ro,offset=$((8192 * 512)) sd-card.img /mnt
| |
− | </pre>
| |
− | | |
− | ==kpartx==
| |
− | Als Alternative bietet sich das Tool 'kpartx' an. Es erstellt für alle Partitionen Einträge für den [[DeviceMapper]], welche dann nach Bedarf gemountet werden können:
| |
− | <pre>
| |
− | # modprobe loop
| |
− | # kpartx -va sd-card.img
| |
− | add map loop0p1 (253:7): 0 8192 linear /dev/loop0 4224
| |
− | add map loop0p2 (253:8): 0 1849216 linear /dev/loop0 12416
| |
− | add map loop0p3 (253:9): 0 6002688 linear /dev/loop0 1861632
| |
− | </pre>
| |
− | Um beispielsweise auf die Daten in der 3. Partition (aus Sicherheitsgründen nur) lesend zugreifen zu können, wird diese mit der Option 'ro' gemounted:
| |
− | <pre>
| |
− | # mount -o loop,ro /dev/mapper/loop0p3 /mnt
| |
− | </pre>
| |
− | Nach Verwendung sollten die Ressourcen wieder sauber freigegeben werden:
| |
− | <pre>
| |
− | # umount /mnt
| |
− | # kpartx -d sd-card.img
| |
− | loop deleted : /dev/loop0
| |
− | </pre>
| |
− | | |
− | =Links=
| |
− | *[http://heider.io/blog/2013/10/20/mounting-whole-disk-images-with-kpartx/ Mounting Whole Disk Images with kpartx]{{englisch}}
| |
− | | |
− | [[Category:HowTo]] [[Category:Partitionen]]
| |
Wenn man unter Linux eine ISO-Datei als Verzeichnis einbinden möchte (das entspricht dem virtuellen Laufwerk anderer Betriebssysteme), geht man wie folgt vor:
Man erstellt das Verzeichnis, in dem später der Inhalt der ISO-Datei erscheinen soll, bspw.
mkdir /tmp/cd
Nun teilen wir dem System mit, dass es dorthin doch bitte den Inhalt der ISO-Datei einzubinden habe:
sudo mount -o loop /pfad/zur/ISO-Datei /tmp/cd
Dabei nicht vergessen, die Pfade entsprechend anzupassen.
Die Einbindung löst man wieder mit
sudo umount /tmp/cd
--Freecoffee 11:50, 29. Aug 2006 (CEST)
Zurück zu Multimedia