Loop device

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Unter unixoiden Systemen ist ein loop device (oder auch englisch loop back device) ein virtuelles Blockgerät, das keinem physischen Gerät entspricht, sondern als zugrundeliegenden Speicher eine Datei nutzt. Da der Betriebssystemkernel nur Dateisysteme einhängen (mounten) kann, die sich auf Blockgeräten befinden, werden Loop-Geräte in der Regel genutzt, um als Dateien vorliegende Dateisystem-Abbilder einzubinden.

Nützlich ist dieses Verfahren überall dort, wo echte Datenträger simuliert werden sollen, z. B. weil die Benutzung physischer Geräte zu teuer, zu umständlich, zu langsam oder aus anderen Gründen nicht erwünscht ist.

Mithilfe von Loop Devices und spezieller Treiber können auch Dateisysteme auch transparent verschlüsselt oder komprimiert werden, z. B. mit cloop oder dm-crypt.

Beispiele[Bearbeiten]

Das Einhängen eines Festplattenabbilds in den Dateibaum erfordert im Prinzip zwei Schritte:

  1. Die Datei, die das Festplattenabbild enthält, wird mit einem Geräteknoten (device node) im Spezialverzeichnis /dev verknüpft (Kommando losetup).
  2. Dieses spezielle Gerät (loop device) wird unterhalb eines Verzeichnisses in den Dateibaum eingehängt (Kommando mount).

Diese beiden Schritte können entweder getrennt erfolgen oder durch Angabe entsprechender Optionen mit einem einzigen Aufruf des Dienstprogrammes mount gemeinsam durchgeführt werden. Der erste Schritt kann mit dem Kommando losetup[1] unter Linux oder lofiadm[2] unter SunOS ausgeführt werden. Wenn beispiel.img eine normale Datei ist, die ein Abbild mit einem Dateisystem enthält, und /mnt/verzeichnis ein Verzeichnis auf einem Linux-Computer ist, kann der Systemverwalter (Super user) folgende Kommandos ausführen:

losetup /dev/loop0 beispiel.img
mount /dev/loop0 /mnt/verzeichnis

Das erste Kommando verknüpft den Loop-Geräteknoten /dev/loop0 mit der normalen Datei beispiel.img. Das zweite Kommando hängt dieses Pseudogerät an der Stelle /mnt/verzeichnis in den Dateibaum ein, so als wäre /dev/loop0 eine ganz normale Festplatte oder ein Festplattenabschnitt (Partition).

Das Dienstprogramm mount ist in der Lage, die gesamte Prozedur in einem einzigen Schritt ausführen:

mount -o loop beispiel.img /mnt/verzeichnis

Ausgehängt werden kann das Gerät in beiden Fällen über den Befehl

umount /mnt/verzeichnis
Siehe auch: Device Mapper

Microsoft Windows[Bearbeiten]

Für Windows existiert das Open-Source-Tool WinCDEmu oder die proprietäre Freeware Daemon Tools. Diese emulieren ausschließlich CD- bzw. DVD-Laufwerke. Es werden keine beliebigen Massenspeicher, wie Festplatten oder USB-Sticks, emuliert. Die Daten können allerdings in verschiedenen Image-Formaten vorliegen, etwa wie sie von verschiedenen Windows-Brennprogrammen erzeugt werden.

Ab Windows 7 können Festplattenabbilder im Virtual-Hard-Disk-Format über die Datenträgerverwaltung eingebunden werden, ohne dass zusätzliche Hilfsprogramme benötigt würden. Mittels des Hilfsprogramms VHD tool[3] können Rohdatenabbilder in das VHD-Format konvertiert werden.

Weblinks[Bearbeiten]

Referenzen[Bearbeiten]

  1. losetup manual page
  2. lofiadm, Sun System Administration Command manual
  3. http://code.msdn.microsoft.com/vhdtool