web-dev-qa-db-ja.com

WindowsとLinuxでDVD ROMの異なるファイルが表示されるのはなぜですか?

私はDVDを持っていますROMいくつかの教育リソースが含まれています(Headway Beginnerの英語教育教師のDVD)。UbuntuマシンからDVDを見ると、1セットのファイル( setup-linuxファイルなど、機能しません)。

Windowsマシンから同じDVDを表示すると、setup-windows.exeファイルを含む、異なるファイルセットが表示されます。

どちらのマシンもすべてのファイルを認識しませんが、両方に共通するものがあります。

私の質問は:

  1. これはどのように作動しますか?
  2. Ubuntuを使用しているときにすべてのファイルを表示するにはどうすればよいですか?

編集:これは、ファイルマネージャーで表示したときにファイルが「非表示」になっているためではなく、「ls -a」などの下位レベルのものでは、不足しているファイルが表示されません。

編集2:Ubuntu 18.04 LTSを使用しています

80
spookylukey

これが正しい答えかどうかはわかりませんが、おそらくあなたに役立つ詳細を提供するでしょう。

これは、MS-WindowsとUnixがDVDで異なるファイルシステムを使用しているためである可能性があります-同じDVDでも。光メディア上のファイルは、通常 ISO 966 標準で指定されたファイルシステムプロトコルを使用して配置されます(最後の注記も参照)。

ただし、この規格では拡張機能が許可されており、Microsoftは " Joliet "と呼ばれる標準への独自の拡張機能を設計し、Microsoft Windows互換オペレーティングシステムがより多くの機能(長い名前とUnicodeのサポート)で異なるファイル名を読み取ることができるようにしています。標準のISO 9660ファイルシステムが許可するよりも。

Unixスタイルのオペレーティングシステム(Linuxなど)では、「 Rock Ridge 」と呼ばれる別の拡張機能が開発され、より長いファイル名、Unixスタイルのアクセス許可、その他いくつかのことが可能になりました。

同じ光学メディアにRock RidgeとJolietの両方の拡張機能を使用することは非常に一般的ですが、そのDVDの作成者がこれらの拡張機能を巧妙な方法で使用して、MS-Windows関連のファイルのみをJolietのJoliet部分に表示した可能性があります。システムとLinux固有のファイルのみがシステムのRock Ridge部分に表示されます。 このスタック交換の回答 で説明されているisoinfoプログラムは、より多くの情報を提供する可能性があります。

注:

コメントでの議論で述べたように、多くのメディアはまだISO 9660で作成されており、OPで説明されている種類のトリックが発生する可能性があるその拡張はISO 9660が廃止され、最新のメディアは DF(ISO 13346) これはユニバーサルディスクフォーマットであり、ファイルシステム全体の単一ビューのみを許可します。そのため、そのようなトリックはUDFで作成されたディスクではおそらく不可能です。

111
Guss

おそらく「rockridge」(unix)テーブルと「joliet」(Microsoft)テーブルは、裸のiso9660ファイル名を異なる方法でマッピングします。それらは両方とも各ディレクトリの「マッピング」を含み、基本的にどの実際のisoファイル(8 + dot + 3文字)をどの長い名前として見るべきかを示しています。したがって、各ファイルには実際には2つの名前があり、1つは8 + 3文字に制限され、もう1つはそうではありません。

Rockridgeでは、このマッピングは各ディレクトリに追加される実際のファイルであり、「TRANS.TBL」などの名前のiircです。ジョリエットでは、「ディレクトリエントリ」が実際のファイルではないが、この目的のために予約されている、非常に醜く愚かなハックです。

0
delt