ISO-Images per Loopdevice mounten: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Links)
K (Stand '01:41, 7. Jul. 2007‎ Yehudi' wiederhergestellt)
 
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]]
 

Aktuelle Version vom 23. Februar 2015, 13:27 Uhr

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