Ist eine ISO-Image-Datei ein eigenständiges Dateisystem?


45

Ich versuche zu verstehen, welche Beziehung eine xxx.isoDatei zu anderen Aspekten eines Blockgeräts hat, z. B. zu Partitionen und einem Dateisystem.

Es ist üblich, dass Menschen das Zugreifen auf oder die .isoNutzbarmachung von ISO als "Mounten der ISO" bezeichnen.

Anders ausgedrückt: Wenn ich oder eine andere Software eine xxx.isoDatei auf ein USB-Gerät "mounten" wollte, muss eine Partition mit Dateisystem vorhanden sein (z. B. FAT x oder ext X ). oder ist die .isodatei - einmal im "gemounteten" zustand - ein untergeordnetes konstrukt, das die gleiche / ähnliche rolle spielt, die ein dateisystem (oder sogar eine partition) spielt?


15
Nur eine Anmerkung: Der Begriff "ISO-Datei" bedeutet in den meisten Fällen eine Datei, die ein Dateisystem im ISO 9660-Standard für optische Datenträger enthält. Sie können eine ISO-Datei erhalten, indem Sie beispielsweise eine CD- oder DVD-ROM kopieren dd.
Dubu

4
Auf USB mounten? Sie möchten den ISO-Inhalt als Teil des VFS-Baums unter dem Einhängepunkt des USB-Sticks anzeigen lassen? Du meinst wie mount /dev/my_usb_stick /media/usb_stick && mount -o loop,ro foo.iso /media/usb_stick/some_dir? (Der Linux- mountBefehl unterstützt die loopOption mount, um ein Loop-Block-Gerät einzurichten, da es üblich ist, FS-Images wie ein .iso-Image einzuhängen.)
Peter Cordes,

Sie verwenden die Datei als Blockgerät, wenn Sie eine ISO einbinden.

Antworten:


64

Eine ISO-Datei ist kein Dateisystem. Es enthält ein Dateisystem. Aus Sicht der Nutzung funktioniert es genauso wie eine Festplatte, ein USB-Gerät oder eine DVD - Sie benötigen einen Mount-Punkt, dh einen Ort in Ihrem Dateisystem, an dem Sie es mounten können, um auf den Inhalt zuzugreifen.


1
danke, wäre dann die iso - einmal in einem montierten zustand - in diesem fall analoger zu einem block-gerät oder einer partition? - oder ist es nicht möglich, eine direkte analogie zu ziehen, da eine iso wieder eine ganz andere sache ist?
the_velour_fog

@the_velour_fog Das ist eine sehr gute Analogie!
Jenny D

19
Der Grund, warum Sie nicht darauf schreiben können, liegt nicht darin, dass es sich um eine gemountete reguläre Datei anstelle einer speziellen Gerätedatei handelt, sondern darin, dass der Dateisystemtreiber dies nicht unterstützt. Wenn das Image ein anderes Dateisystem wie FAT32 oder EXT2 anstelle von ISO9660 enthalten würde, könnten Sie Lese- und Schreibzugriffe ausführen.
Rexkogitans

4
@rexkogitans: ... oder UDF , auch bekannt als ISO 13346. Dies ist das Dateiformat, das von wiederbeschreibbaren CD-Rs verwendet wird.
MSalters

1
@hobbs: USB-Sticks, Festplatten usw. müssen ebenfalls keine Partitionen haben. Partitionslose Blockgeräte werden manchmal als "SuperFloppy" bezeichnet. Es ist nicht erforderlich, etwas zu partitionieren, wenn Sie nur eine Partition darauf platzieren. Einige Betriebssysteme erwarten lediglich, dass eine Partitionstabelle vorhanden ist, und erkennen kein Dateisystem direkt auf dem Blockgerät. Beispielsweise weigern sich eingebettete Betriebssysteme in Digitalkameras häufig, SD-Karten im SuperFloppy-Format zu mounten.
Jörg W Mittag

42

Hier gibt es drei verschiedene Konzepte:

  • Ein Blockgerät , bei dem es sich um ein physisches oder virtuelles Gerät handelt, das eine Reihe von Datenblöcken gleicher Größe darstellt. Festplatten sind Blockgeräte. Daten-CDs auch.
  • Ein Dateisystem , das eine Methode zum Speichern von Daten in einem Blockgerät definiert, das eine Reihe von Dateien und Verzeichnissen sowie andere Dateisysteminformationen darstellt. ext3 ist wie ISO9660 ein Dateisystem.
  • Eine Image-Datei ist eine Kopie der Daten auf einem Blockgerät in Form einer Datei (auf einem anderen Dateisystem). Bilddateien können eine beliebige Erweiterung haben. .imgist üblich.

Eine .isoDatei ist normalerweise eine Image-Datei eines Blockgeräts, das ein ISO9660-Dateisystem enthält . Es enthält eine genaue Darstellung der auf einer CD gespeicherten Daten. Analog könnten Sie eine .imgDatei haben (nennen Sie sie, .ext3wenn Sie es vorziehen), die eine Image-Datei eines Blockgeräts ist, das ein ext3-Dateisystem enthält . Dies ist eine übliche Methode zum Verteilen von bootfähigen USB- oder Floppy-Images. Der Name ist willkürlich. .isoDies ist genau das, was wir Bilddateien nennen, die ein ISO9660-Dateisystem enthalten (oder manchmal ein UDF-Dateisystem, das moderner ist).

Sie können Image-Dateien nicht direkt bereitstellen, da es sich nicht um Blockgeräte handelt, sondern lediglich um eine Kopie der Daten in einem Blockgerät. Linux und andere Betriebssysteme verfügen jedoch über eine Funktion, die als Loop-Geräte bezeichnet wird und den Zugriff auf eine Image-Datei als Block-Gerät ermöglicht. Um eine ISO-Datei einzuhängen, erstellen Sie zunächst ein Loop-Gerät, das ein virtuelles Blockgerät mit demselben Inhalt wie die ISO-Datei darstellt. Dann können Sie es wie eine physische CD oder wie ein USB-Laufwerk mit einem ext3-Dateisystem oder etwas anderem mounten. Der mountBefehl erledigt dies möglicherweise automatisch für Sie, aber unter der Haube handelt es sich um separate Schritte.

Partitionen sind eine Möglichkeit, ein Blockgerät in mehrere kleinere logische Blockgeräte aufzuteilen. Partitionen sind optional. Eine CD entspricht in dieser Hinsicht einem nicht partitionierten USB-Laufwerk oder einer Diskette, bei der das Dateisystem auf dem gesamten Gerät ohne Partitionstabelle gespeichert ist. ISO-Dateien enthalten daher keine Partitionstabelle. Nichts hindert Sie jedoch daran, beispielsweise ein ISO9660-Dateisystem auf einer Festplattenpartition zu erstellen. Wenn Sie tun Partitionen haben, eine Bilddatei von einer einzigen Partition sein kann oder dem gesamten physischen Geräts einschließlich der Partitionstabelle, aber CDs aufgeteilt sind nicht, so dass die Unterscheidung für ISO - Images irrelevant ist.

Sie müssen nicht haben , um ein Gerät zu montieren - oder eine Bilddatei - um den Zugriff auf die darin enthaltenen Dateien. Einige Anwendungen und Bibliotheken können direkt auf die Daten zugreifen, ohne das Betriebssystem einzubeziehen. Sie verstehen das Dateisystem einfach direkt und haben Code, der die Aktionen des Betriebssystems beim Zugriff auf Dateien in einem Dateisystem nachahmt. Aus diesem Grund gibt es Tools, mit denen Sie den Inhalt einer ISO-Datei anzeigen können, ohne sie tatsächlich über das Betriebssystem einzuhängen. Das Mounten ist ein Betriebssystemkonzept, aber nicht die einzige Möglichkeit, auf Daten auf einem Blockgerät zuzugreifen. Einige Leute könnten die bloße Handlung in Betracht ziehen, diese "Montage" auf eine Art und Weise durchzuführen.

Worauf Sie ein Gerät (oder eine ISO-Datei über ein Loopback-Gerät) mounten, spielt keine Rolle. Hier in der Pfadhierarchie fordern Sie das Betriebssystem auf, den Inhalt eines Geräts anzuzeigen. Unter Linux wählen Sie normalerweise ein Verzeichnis auf einem bereits gemounteten Dateisystem aus. Aber nichts hindert Sie daran, beispielsweise von einer CD zu booten und den Kernel zu bitten, ihn als Root-Dateisystem zu mounten. Da es sich bei einer ISO-Datei natürlich um eine Datei handelt, existiert sie wahrscheinlich zunächst in einem Dateisystem, das Sie irgendwo gemountet haben müssen, um überhaupt auf die ISO zugreifen zu können.


11

Nein, die ISO-Image-Datei ist kein eigenständiges Dateisystem. Genau wie eine Partition kann enthält ein Dateisystem, aber kein Dateisystem, funktioniert eine ISO - Image - Datei ein Dateisystem enthalten, aber es ist kein Dateisystem.

Sie benötigen jedoch ein Dateisystem für zwei Dinge:

  • einen Ort zum Speichern der .iso-Datei (vorausgesetzt, es handelt sich nicht um eine glänzende silberne Scheibe)
  • ein Verzeichnis, in das gemountet werden soll, z /mnt/isotmp

Wenn danach ein Pfad zu etwas unter aufgelöst wird /mnt/isotmp, übernimmt der Code für das ISO-Image-Dateisystem das Auflösen, Öffnen usw.


Schön, die Anordnung, die Sie beschrieben haben, ähnelt der Art und Weise, wie eine Festplatte eingebunden wird, dh mit einer block device/partition/filesystem/eingebundenen Festplatte /some/directory. also habe ich recht anzunehmen, dass die iso im grunde die funktion eines dateisystems erfüllt?
the_velour_fog

Ich würde es nicht so ausdrücken. Die ISO-Datei enthält ein Dateisystem. Genau wie eine Partition ein Dateisystem enthält. Sie würden nicht sagen , dass eine Partition ist ein Dateisystem entweder (hoffe ich)
Anthon

Wie unterscheidet sich das von der Aussage "Eine PNG-Datei enthält ein Bild, aber kein Bild", dh eine alberne und nutzlose Unterscheidung?
Nick Matteo

@the_velour_fog: Genauer gesagt führt die ISO im Grunde genommen die Funktion des Blockgeräts aus.
TMN
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.