|
|
| 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