ISOイメージファイルはそれ自体がファイルシステムですか?


45

私は、xxx.isoファイルとブロックデバイスの他の側面(パーティションやファイルシステムなど)との関係を理解し​​ようとしています。

人々は.iso、「ISOのマウント」としてアクセス可能または使用可能にすることを説明するのが一般的です。

別の言い方をすれば、私またはソフトウェアxxx.isoがUSBデバイスにファイルを「マウント」したい場合、ファイルシステム(FAT xまたはext Xなど)を備えた既存のパーティションが必要です。または、.isoファイルが「マウントされた」状態になると、ファイルシステム(またはパーティション)と同じ/同様の役割を実行する下位レベルの構成要素になりますか?


15
単なる注釈:ほとんどの場合、「ISOファイル」という用語は、光ディスクメディアのISO 9660標準のファイルシステムを含むファイルを意味します。ddたとえば、を使用してCDまたはDVD-ROMをコピーすることにより、ISOファイルを取得できます。
ドゥブ

4
USBにマウントしますか?ISOの内容をUSBスティックのマウントポイントの下のVFSツリーの一部として表示するということですか?どういう意味mount /dev/my_usb_stick /media/usb_stick && mount -o loop,ro foo.iso /media/usb_stick/some_dir?(Linuxのmountコマンドは、loop.isoのようなFSイメージをマウントすることが一般的であるため、ループブロックデバイスをセットアップするためのマウントオプションをサポートしています。)
Peter Cordes

ISOをマウントするときに、ファイルをブロックデバイスとして使用しています。

回答:


64

ISOファイルファイルシステムではありません。これは、含まれているファイルシステムを。使用の観点からは、ハードディスク、USBデバイス、またはDVDと同じように機能します。マウントポイント、つまりコンテンツを取得するためにマウントできるファイルシステム内の場所が必要です。


1
おかげで、isoは-一度マウントされた状態で-ブロックデバイスまたはその場合のパーティトンに似ていますか?-または、isoはまったく異なるものであるため、直接的な類似性を引き出すことはできませんか?
-the_velour_fog

@the_velour_fogそれは非常に良いアナロジーです!
ジェニーD

19
書き込みできない理由は、デバイス特殊ファイルではなく、マウントされた通常のファイルではなく、ファイルシステムドライバーがサポートしていないためです。イメージにISO9660の代わりにFAT32やEXT2などの別のファイルシステムが含まれていた場合、読み取りと書き込みが可能になります。
-rexkogitans

4
@rexkogitans:...またはUDF(別名ISO 13346)。これは、書き換え可能なCD-Rで使用されるファイル形式です。
–MSalters

1
@hobbs:USBスティック、HDDなどにもパーティションは必要ありません。パーティションのないブロックデバイスは、「スーパーフロッピー」と呼ばれることもあります。パーティションを1つだけ配置する場合、パーティションを作成する必要はありません。一部のオペレーティングシステムは、パーティションテーブルが存在することを単に期待しているだけであり、ブロックデバイス上のファイルシステムを直接認識しません。たとえば、point&shootデジタルカメラの組み込みOSは、SDカードをSuperFloppy形式でマウントすることを拒否することがよくあります。
ヨルグWミットタグ

42

ここには3つの個別の概念があります。

  • ブロックデバイス等しいサイズのデータブロックの系列を表す物理または仮想デバイスです。HDDはブロックデバイスです。データCDも同様です。
  • ファイルシステムのファイルおよびディレクトリと他のファイルシステム情報の系列を表すブロックデバイスにデータを格納する方法を定義し、。ext3は、ISO9660と同様にファイルシステムです。
  • 画像ファイルは、(別のファイルシステム上の)ファイルの形式で、ブロック・デバイス上のデータのコピーです。画像ファイルには任意の拡張子を付けることができます。.img一般的です。

.isoファイルは、通常イメージファイルブロックデバイスを含むISO9660ファイルシステムを。CDに保存されているデータの正確な表現が含まれています。同様に、ext3ファイルシステムを含むブロックデバイスのイメージファイルである.imgファイル(必要に.ext3応じて呼び出す)を作成できます。これは、起動可能なUSBまたはフロッピーイメージを配布する一般的な方法です。名前は任意であり、ISO9660ファイルシステム(または、より現代的なUDFファイルシステム)を含むイメージファイルと呼んでいます。.iso

イメージファイルはブロックデバイスではなく、ブロックデバイス内のデータのコピーにすぎないため、イメージファイルを直接マウントすることはできません。ただし、Linuxおよびその他のOSには、ループデバイスと呼ばれる機能があり、ブロックデバイスとしてイメージファイルにアクセスできます。ISOファイルをマウントするには、最初にISOファイルと同じ内容の仮想ブロックデバイスを表すループデバイスを作成します。次に、物理CDのように、またはext3ファイルシステムを含むUSBドライブなどのようにマウントできます。mountコマンドは、自動的にあなたのためにこれを行うことができますが、ボンネットの下に、彼らは別の手順です。

パーティションは、ブロックデバイスを複数のより小さな論理ブロックデバイスに分割する方法です。パーティションはオプションです。この点で、CDはパーティション化されていないUSBドライブまたはフロッピーディスクに似ており、ファイルシステムがパーティションテーブルなしでデバイス全体に保存されます。したがって、ISOファイルにはパーティションテーブルが含まれていません。ただし、たとえば、HDDパーティションにISO9660ファイルシステムを作成することを妨げるものはありません。あなたはときに行うのパーティションを持って、イメージファイルは、単一のパーティションのか、パーティションテーブルを含む全体の物理デバイスであってもよいが、区別はISOイメージには無関係であるので、CDは、パーティション化されていません。

含まれているファイルにアクセスするために、デバイスまたはイメージファイルをマウントする必要はありません。一部のアプリケーションとライブラリには、オペレーティングシステムを使用せずにデータに直接アクセスする機能があります。彼らは単にファイルシステムを直接理解し、OSがファイルシステム内のファイルにアクセスするときの動作を模倣するコードを持っています。これが、OSを介して実際にマウントせずにISOファイルの内容を表示できるツールが存在する理由です。マウントはオペレーティングシステムの概念ですが、ブロックデバイス上のデータにアクセスする唯一の方法ではありません。一部の人々は、ある意味でこの「マウント」を行うという単なる行動を検討するかもしれません。

デバイス(またはループバックデバイスを介したISOファイル)をマウントするものは無関係です。これは、パス階層のどこでOSにデバイスのコンテンツを表示するかを尋ねる場所です。Linuxでは、通常、すでにマウントされているファイルシステム上のディレクトリを選択します。しかし、たとえば、CDから起動して、カーネルにルートファイルシステムとしてマウントするように要求することを妨げるものはありません。もちろん、ISOファイルはファイルなので、最初は何らかのファイルシステム上に存在する可能性があります。ISOにアクセスするには、どこかにマウントする必要があります。


11

いいえ、ISOイメージファイルはそれ自体がファイルシステムではありません。パーティションにファイルシステムを含めることができる、ファイルシステムではないように、ISOイメージファイルにはファイルシステムが含まれますが、ファイルシステムではありません。

ただし、次の2つのことのためにファイルシステムが必要です。

  • .isoファイルを保存する場所(光沢のあるシルバーのディスクとして提供されていない場合を想定)
  • マウントするディレクトリ /mnt/isotmp

その後、パスがの下/mnt/isotmpにあるものに解決される場合、ISOイメージファイルシステムのコードが解決、オープンなどを行います。


素敵な、あなたが説明した配置は、ハードディスクがマウントされる方法に似ています。つまり、にblock device/partition/filesystem/マウントされてい/some/directoryます。だから私はISOが基本的にファイルシステムの機能を実行すると仮定するのは正しいですか?
the_velour_fog

そんなことはしません。ISOファイルにはファイルシステムが含まれています。パーティションがファイルシステムを含むように。パーティションファイルシステムだとは言わないでしょう(願っています)
-Anthon

これは、「PNGファイルには画像が含まれていますが、画像ではない」、つまりばかげた役に立たない区別とはどう違うのですか?
ニックマッテオ

@the_velour_fog:isoが基本的にブロックデバイスの機能を実行すると言うより正確です。
TMN
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.