ユニバーサル・ディスク・フォーマット(UDF)は、幅広いメディアに対応したコンピュータデータストレージのための、オープンでベンダー中立なファイルシステムです。実際には、 DVDや新しい光ディスクフォーマットで最も広く使用され、ISO 9660に取って代わりました。その設計により、追記型と書き換え型の両方の光メディアにおける増分更新に非常に適しています。UDFは、Optical Storage Technology Association (OSTA)によって開発および保守されています。
工学用語では、ユニバーサルディスクフォーマットはISO/IEC 13346およびECMA-167として知られる仕様のプロファイルです。 [3]
通常、オーサリングソフトウェアはUDFファイルシステムをバッチ処理でマスター化し、光学メディアに1回のパスで書き込みます。しかし、CD-RWなどの書き換え可能なメディアにパケット書き込みを行う場合、UDFはフロッピーディスクやフラッシュドライブなどのリムーバブルメディア上の汎用ファイルシステムと同様に、ディスク上でファイルの作成、削除、変更を可能にします。これはCD-Rなどのライトワンスメディアでも可能ですが、その場合、削除されたファイルによって占有されていた領域は回収できず(アクセスできなくなります)、アクセスできなくなります。
UDFではマルチセッションマスタリングも可能ですが、実装によっては複数セッションのディスクを読み取れない場合があります。[c]
光ストレージ技術協会( OSTA )は、UDFファイルシステムを標準化し、すべての光メディア(読み取り専用メディアと書き換え可能なメディアの両方)に共通のファイルシステムを形成しました。標準化当初、UDFファイルシステムはISO 9660に代わるものとして、読み取り専用メディアと書き換え可能なメディアの両方をサポートすることを目指していました。UDFの最初のバージョンのリリース後、DVDコンソーシアムはそれをDVD-VideoおよびDVD-Audioの公式ファイルシステムとして採用しました。[4]
UDFはISO 9660と基本的なボリューム記述子フォーマットを共有しています。1.50以降、「UDFブリッジ」フォーマットが定義されており、ディスクにはUDF部分のファイルを参照するISO 9660ファイルシステムも含まれるようになりました。[5]
UDFには複数の改訂版がリリースされている: [4] [6]
UDFリビジョンは内部的に2進化10進数でエンコードされます。例えば、リビジョン2.60は0x0260と表されます。[12] : 23 各ボリュームの互換性は、独自のリビジョンを宣言することに加えて、最小読み取りリビジョンと最小書き込みリビジョンによって定義されます。これらのリビジョンは、このイメージ上のすべての構造に対してこれらの操作を実行するための要件を示します。「最大書き込み」リビジョンには、このイメージに書き込んだすべての実装の中で最高のUDFサポートレベルも記録されます。[12] : 34 たとえば、ストリームファイル(UDF 2.00で導入)を使用せず、UDF 2.60対応実装によって作成されたVAT(UDF 1.50)を使用するUDF 2.01ボリュームでは、リビジョンが0x0201と宣言され、最小読み取りリビジョンが0x0150、最小書き込みが0x0150、最大書き込みが0x0260に設定されることがあります。
UDFは主に光ディスク用に開発されましたが、ハードディスクドライブやフラッシュストレージなどの他のメディアでも動作可能です。[13]
UDFは、 2019年にexFATがオープンソース化されるまで、10年以上にわたり、ファイルサイズが4GiB(約4.3GB)に制限されない唯一のオープン仕様でクロスプラットフォーム対応のファイルシステムでした。[f] [g] ここでの「クロスプラットフォーム」とは、Windows、Mac OS、Linuxの3つの主要オペレーティングシステムすべてでサポートされていることを意味します。[14]
Windowsでは、フラッシュストレージデバイスをUDFとしてフォーマットすることは、グラフィカルフォーマットウィジェットでは実行できず、コマンドプロンプトからのみ実行できます。[15]
UDF規格では、「ビルド」と呼ばれる3つのファイルシステムのバリエーションが定義されています。これらは次のとおりです。
このフォーマットは、規格の最初のバージョンで導入され、ハードディスク、DVD+RW、DVD-RAMメディアなど、ランダムな読み書きアクセスが可能なあらゆるタイプのディスクで使用できます。メタデータ(v2.50まで)とファイルデータは、ほぼ直接的にアドレス指定されます。このフォーマットでこのようなディスクに書き込む場合、ディスク上の任意の物理ブロックを新規ファイルまたは更新ファイルの割り当て先として選択できます。
これは基本的な形式であるため、UDF のサポートを主張するほぼすべてのオペレーティング システムまたはファイル システム ドライバーでこの形式を読み取ることができます。
DVD-RやCD-Rなどのライトワンスメディアは、書き込み時に制限があります。各物理ブロックへの書き込みは1回のみで、書き込みは段階的に行う必要があります。そのため、 UDFのプレーンビルドをCD-Rに書き込むには、データを事前にマスタリングし、その後、すべてのデータをまとめてメディアに書き込む必要があります。これは、ISO 9660ファイルシステムがCDメディアに書き込まれる方法に似ています。
CD-Rをハードディスクのように仮想的に使用し、ユーザーがCD-R上のファイルを自由に追加・変更できるようにするため(Windowsではいわゆる「ドライブレターアクセス」)、OSTAはUDF規格の改訂1.5でVAT構造を追加しました。VATはディスク上の追加構造であり、パケット書き込みを可能にします。つまり、ディスク上のファイルやその他のデータが変更または削除された際に物理ブロックを再マッピングする機能です。ライトワンスメディアの場合、ディスク全体が仮想化されるため、ライトワンスであることがユーザーには意識されません。つまり、ディスクは書き換え可能なディスクと同じように扱うことができます。
CD-RまたはDVD-Rメディアは一度だけ書き込み可能なため、ディスク上のファイルを削除しても、そのファイルのデータはディスク上に残ります。ファイルはディレクトリには表示されなくなりますが、元の保存領域は引き続き占有されます。この方式をしばらく使用すると、ファイルを削除しても空き領域を回復できないため、最終的にはディスクがいっぱいになります。特別なツールを使用すれば、ディスクの以前の状態(削除前の状態)にアクセスし、復元することが可能です。
すべてのドライブが UDF バージョン 1.5 以上を完全に実装しているわけではないため、一部のドライブでは VAT ビルドを処理できない可能性があります。
DVD-RWやCD-RWなどの書き換え可能なメディアは、DVD-RやCD-Rメディアよりも制限が少ないです。セクターはランダムに書き換えられます(ただし、一度にパケット単位で書き換えられます)。これらのメディアはいつでも完全に消去でき、ディスクは再び空になり、新しいUDFやその他のファイルシステム(ISO 9660やCD Audioなど)を書き込む準備が整います。ただし、-RWメディアのセクターは、書き換え回数が多すぎると「摩耗」する可能性があります(CD-RWでは通常、数百回の書き換え後)。つまり、データの信頼性が低下します。
UDF形式のプレーンビルドとVATビルドは、いくつかの制限付きで書き換え可能なメディアで使用できます。プレーンビルドを-RWメディアで使用する場合、ファイルシステムレベルでのデータ変更は許可しないでください。これは、ディスク上の頻繁に使用されるセクター(ディレクトリやブロック割り当てデータ用セクターなど)が急速に消耗し、気づかれずにデータ損失につながる可能性があるためです。ディスク上のファイルの変更を許可するには、VATビルドを使用することで、書き換え可能なディスクを-Rメディアのように使用できます。これにより、すべてのブロックが1回だけ(連続して)書き込まれるため、他のブロックよりも頻繁に書き換えられるブロックがなくなります。このようにして、RWディスクは信頼性が低下するまで何度も消去して再利用できます。ただし、最終的には信頼性が低下し、それを簡単に検出することはできません。VATビルドを使用する場合、 CD-RW/DVD-RWメディアはコンピューター上ではCD-RまたはDVD+/-Rメディアとして表示されます。ただし、メディアはいつでも再度消去される可能性があります。
書き換え可能なメディアの特性に対応するため、リビジョン1.5でスペアビルドが追加されました。このビルドは、ディスクの書き換え回数が多すぎる部分に最終的に発生する欠陥を管理するために、スペアリングテーブルを追加します。このテーブルは、摩耗したセクターを追跡し、それらを正常なセクターに再マッピングします。UDFの欠陥管理は、光ディスクの Mount Rainier (MRW)やハードドライブのディスクコントローラなど、既に別の形式の欠陥管理を実装しているシステムには適用されません。
UDF のリビジョン 1.5 を完全にサポートしていないツールとドライブはスペアリング テーブルを無視するため、古くなって摩耗したセクターを読み取り、破損したデータが取得されることになります。
ディスク全体に広がるオーバーヘッドによってデータ保存スペースの一部が確保され、例えばCD-RWの元の容量が650MBの場合、使用可能な容量が約500MBに制限されます。[16]
UDF仕様[4]では、U+FEFFとU+FFFEを除く任意のUnicodeコードポイントを格納できる文字セットOSTA CS0のみが認められている。ECMA-167で定義されている追加の文字セットは使用されない。[3] :7.2
エラッタDCN-5157以降、コードポイントの範囲はUnicode 4.0(またはそれ以降のバージョン、あるいは以前のバージョン)のすべてのコードポイントに拡張され、絵文字などのプレーン1~16の文字も含まれるようになりました。DCN-5157では、文字列を正規化形式Cに正規化することも推奨されています。 [17]
OSTA CS0文字セットは、16ビットのUnicode文字列を8ビットまたは16ビット単位に「圧縮」して保存し、その先頭に圧縮タイプを示す1バイトの「compID」タグを付加します。8ビット保存は機能的にISO-8859-1と同等であり、16ビット保存はビッグエンディアンのUTF-16です。1文字あたり8ビットのファイル名は、1文字あたりに必要なスペースが半分になるため、スペースを節約できます。そのため、ファイル名に8ビットだけでは表現できない特殊文字が含まれていない場合に使用してください。[18]
参照アルゴリズムは禁止コードポイントのチェックやサロゲートペアの解釈を行わないため、NTFSと同様に文字列が不正な形式になる可能性があります。[4] :2.1.2、6.4 (DCN-5157では特定の保存形式は指定されていませんが、UTF-16BEはUCS-2とほぼ下位互換性を保ちながらUnicodeのすべてを保存できる唯一のよく知られた方法です。)[17]
UDFファイルシステムを操作するための様々なツールが開発されています。Linuxの場合、パッケージにはコマンドラインインターフェースudftoolsとして直接使用できるツールがいくつか含まれていますが、他のアプリケーションから呼び出すこともできます。
このmkudffsツールは、パーティションまたはディスクイメージファイルに新しいUDFファイルシステムを作成します。他のツールとの整合性を保つため、このツールはシンボリックリンクでリンクされています。
mkfs.udfmkfs
udfinfoUDFファイルシステムのボリュームラベル、バージョン、ファイルとディレクトリの数、書き込み保護フラグの状態などの詳細を表示します。ボリュームラベルはudflabelツールを使用して変更できます。
書き込み保護フラグは、ファイルシステムの作成が完了し、それ以上の変更が行われなくなった時点で、そのファイルシステムを「封印」することができます。書き込み保護設定を切り替えるツール(有効にするとファイルシステムが読み取り専用になります)udftuneが開発中でしたが、メンテナーのPali Rohár氏がGitHubアカウントにアクセスできなくなったとの報道を受け、2025年4月時点ではまだパッケージに含まれていudftoolsません。[19]
wrudfユーザーはUDFファイルシステムを対話的に変更できます。たとえば、ファイルのコピーや削除、ディレクトリの作成や削除などが可能です。
pktsetup名前が付けられ、カウントアップするデバイスファイルを介してパケット書き込みを実行します。これらのデバイスファイルは、名前(「sr」は「SCSI ROM」を意味します)が付けられ、カウントアップする通常の光学ドライブのデバイスファイルとは別です。
/dev/pktcdvd0/dev/sr0
[20]
多くのDVDプレーヤーは、 UDFバージョン1.02以外のリビジョンをサポートしていません。新しいリビジョンで作成されたディスクでも、ISO 9660ブリッジフォーマットを使用すれば、これらのプレーヤーで再生できる場合があります。オペレーティングシステムがUDF 1.50の読み取りに対応していると主張している場合でも、プレーンビルドのみをサポートしており、VATビルドやSpared UDFビルドをサポートしているとは限りません。
Mac OS X 10.4.5はRevision 1.50(man mount_udf参照)をサポートしていると主張していますが、実際にはプレーンビルドのディスクしかマウントできず、仮想化サポートは全く提供されていません。Sony Mavicaの問題で見られたように、VAT付きのUDFディスクをマウントすることはできません。[21] [22] 10.4.11より前のリリースでは、スペアリングテーブル付きのディスクはマウントできますが、そのファイルを正しく読み込めません。バージョン10.4.11ではこの問題が修正されています。[23] [24]
同様に、Windows XP Service Pack 2 (SP2) は、UDF 2.00 スペアリングテーブルを欠陥管理システムとして使用している DVD-RW ディスクを読み取ることができません。[25]この問題は、UDF 欠陥管理システムが DVD-RW ディスク上の複数のセクターにまたがるスペアリングテーブルを作成した場合に発生します。Windows XP SP2 は DVD が UDF を使用していることを認識しますが、Windows エクスプローラーでは DVD の内容が空のフォルダとして表示されます。この問題に対する修正プログラム[26]が Service Pack 3 に含まれています。[25]
デフォルトのUDFバージョンとオプションのため、WindowsでフォーマットされたUDFパーティションはmacOSで書き込むことができません。一方、macOSでフォーマットされたパーティションは、MBRパーティションテーブルが必要なため、Windowsから直接書き込むことができません。さらに、LinuxはUDF 2.01への書き込みのみをサポートしています。LinuxとmacOS用のスクリプトは、format-udfUDF 2.01を使用し、偽のMBRを追加することでこれらの非互換性に対処します。[27] Windowsの場合、最善の解決策はコマンドラインツールを使用することですformat /FS:UDF /R:2.01。
UDFファイルシステムを修復し、そのプロパティを変更するためのツールは、一部のオペレーティングシステム向けに開発されています。Windowsでは、chkdskツールでUDFファイルシステムを修復できます(ただし、他のファイルシステムと同様に、それほど損傷していない限り)。Linux向けの同様のツールであるは、 Vojtech Vladykaによってfsckudffsckの拡張として開発されており、udftoolsパッケージに追加される予定でした。しかし、2018年に開発者によって開発は中止されました。[28]
書き込み保護フラグを切り替えるツールは、 2023年にヨハネス・トゥルシュニグによって開発されていましたが、メンテナーのパリ・ロハールがGitHubアカウントにアクセスできなくなったため、メインのudftoolsudftuneパッケージに統合できませんでした。[19]
は、OSTA(Optical Storage Technology Association)によって定義された「ユニバーサル・ディスク・フォーマット」ファイルシステムであり、DVD-ROMでよく使用され、UDF/ISO-9660のハイブリッドファイルシステムとして使用されることが多い。ただし、ディスクドライブ、フラッシュドライブ、その他のブロックデバイスでは、UDF単体でも問題なく使用できる。
出力は、Windows、macOS、Linuxなど複数のオペレーティングシステムファミリーで読み書き可能なドライブです。このスクリプトはmacOSまたはLinuxで実行できるはずです。
UDF 1.50 はサポートされています。UDF 2.0 以降はサポートされていません。
このリリースノートでは、OS X バージョン 10.4 からのディスクレコーディングフレームワークの変更点について説明します。ディスクレコーディングコンテンツ作成エンジンは、UDF 1.02 および 1.5 に加えて、UDF 2.0 ディスクの書き込みをサポートするようになりました。
ブロックデバイス(ハードドライブやUSBドライブなど)とほとんどの光学メディアの両方で、すべてのUDFリビジョン(1.02~2.60)の読み取りがサポートされています。ブロックデバイス、DVD-RW、DVD+RWへの書き込みは、以下の例外を除きサポートされています。(1) リビジョン1.02および1.50のUDFボリュームにFinder情報、リソースフォーク、その他の拡張属性を書き込むことはできません。(2) ミラー化されたメタデータパーティションに書き込むことはできません。
Xは、ブロックデバイスとほとんどの光学メディアの両方でUDFリビジョン1.02から2.60までの読み取りをサポートし、UDF 2.00から2.50(2.50のミラー化されたメタデータパーティションを除く)を使用したブロックデバイスおよびDVD-RWおよびDVD+RWメディアへの書き込みをサポートしています。
光学メディアとブロックデバイス用のUDFサポートを追加しました。mount_udf(8)を参照してください。現在は読み取り専用です。
98には、新しい読み取り専用のユニバーサルディスクフォーマット(UDF)システムがあり、UDF仕様1.02に従ってフォーマットされたメディアの読み取りをサポートしています。
98の32ビット、プロテクトモードのUDFファイルシステムは、Optical Storage Technology Association (OSTA)のUniversal Disk Format Specificaion(ユニバーサルディスクフォーマット仕様)のRevision 1.02に基づいて実装されています。DVDディスクなどのUDFフォーマットのメディアへの読み取り専用アクセスを提供します。UDFファイルシステムはVCACHEを使用し、動的であるため、ユーザーによる設定や静的割り当ては必要ありません。
NT 5.0ではUDF(ユニバーサルディスクフォーマット)も追加されています。…Windows 98(UDF 1.02)とWindows NT 5.0(UDF 1.50)の両方に同梱されているUDF実装は読み取り専用です。
Windows 2000 UDF ドライバー (Udfs.sys) は読み取り専用のサポートを提供します。
UDF バージョン 1.02、Windows 2000 ではバージョン 1.5、Windows XP および Windows Server 2003 ではバージョン 2.0 および 2.01 をサポートします。… Windows UDF ドライバー (Udfs.sys) は読み取り専用サポートを提供します。Windows は、名前付きストリーム、アクセス制御リスト、拡張属性など、その他の UDF 機能のサポートを実装していません。
UDFバージョン2.60までをサポートします。Windows UDFドライバ(Udfs.sys)は、UDF 2.50使用時には読み取り/書き込みサポートを提供し、UDF 2.60使用時には読み取り専用サポートを提供します。ただし、Windowsでは、名前付きストリームやアクセス制御リストなど、一部のUDF機能はサポートされていません。
UDFバージョン2.60までをサポートします。Windows UDFドライバ(Udfs.sys)は、UDF 2.50使用時には読み取り/書き込みサポートを提供し、UDF 2.60使用時には読み取り専用サポートを提供します。ただし、Windowsでは、名前付きストリームやアクセス制御リストなど、一部のUDF機能はサポートされていません。
udftoolsそのフォーク、およびクロスプラットフォーム フォーマット スクリプトを含む、さまざまな光ディスク オーサリングおよび読み取りツールのソース コードのアーカイブ: ZIP (41 MB)、TAR BZip2 (26 MB)。udftuneudffsckformat-udf