web-dev-qa-db-ja.com

どのようなツールでハードドライブをUDFとしてフォーマットする必要がありますか?

(これは、「 DFのパーティションID /ファイルシステムタイプは何ですか? 」のフォローアップです)

ハードドライブをUDFとしてフォーマットする2つの方法を知っています。

  • Windows Vista以降: "format x: /fs:UDF"(/qを使用しないでください!)
  • Linux:「mkudffs --media-type=hd --blocksize=512 /dev/sdx

問題は、「他の」OSがディスクをフォーマット済みとしてまったく認識しないことです。どのコマンドを試しても、マウントを拒否するだけです。

WindowsとLinuxの両方で使用できるように、ハードドライブをUDFとしてフォーマットするにはどうすればよいですか?

編集:コマンドを更新しました。結果はどちらのOSでも機能するはずです。

32
skolima

/q Windowsのスイッチが原因でした。これにより、「クイックフォーマット」が可能になります。つまり、フォーマットプロセスは、ディスクへの書き込みが行われるたびにバックグラウンドで続行されます。完了すると、ドライブはLinuxによって正常に処理されます。

17
skolima

UDFをフォーマットするとき、十分に強調することができない1つのことは、UDFをフォーマットするときに適切なブロックサイズを使用することがいかに重要であるかです。説明されているように ここ 、物理セクターサイズと一致しない構成済みのブロックサイズを使用すると、一部のオペレーティングシステムがドライブを有効なUDFとして検出できなくなる可能性があります。

上記のリンクされた回答(および他の研究/テスト)に触発されて、適切に検出されたセクターサイズを使用して、UDFでのフォーマットプロセスを自動化するスクリプトを作成しました。 GitHubのformat-udf を参照してください。注目すべき機能:

  • ブロックドライブ(ハードドライブまたはフラッシュドライブ)をユニバーサルディスクフォーマット(UDF)でフォーマットします。
    • 最大限の互換性のために使用されるUDFリビジョン2.01
    • 最初の4096セクターは、既存のMBRを消去するためにゼロ化されます(適切なUDF検出に必要)。
  • 結果のファイルシステムは、複数のオペレーティングシステムファミリ(Windows、OS X、およびLinux)で読み取り/書き込みが可能
  • Bash環境を持つすべてのOSで実行

最後のポイントのため、私が作成したこのスクリプトはWindowsでは使用できません。ただし、スクリプトはOS XおよびLinuxで実行されます。そうすると、Windowsは新しくフォーマットされたUDFドライブを魔法のように検出できるはずです。

投稿された質問に直接答えるために、format-udfは次のことを行います。

  • オペレーティングシステムと環境に基づいてフォーマットするための適切なツールを選択します(Linuxではmkudffs
  • 書式設定に必要なすべてのパラメータを自動的に検出して入力します(blocksizeを含む)
  • oSの互換性を最大化(互換性チャートについてはGitHubページを参照)
  • 質問者が探している最大の機能セット(および最小の制限)を生成する
6
j0nam1el

前の質問(UDFファイルシステムはパーティションではなくディスク全体に作成する必要がある)での発見を、そのWindowsコマンド( "format x:/ fs:UDF")でどのように調整しましたか?私の試みでは、Windowsはパーティションにドライブ文字のみを提供します。

互換性のためのフォーマットに関しては、キーはブロックサイズにあると思います。ほとんどのハードドライブとUSBフラッシュスティックのブロックサイズは512バイトであるため、FSそのブロックサイズを作成したとき、互換性が最も高かった。format.comがそのブロックを使用していると思うサイズ、およびmkudffsにはブロックサイズを変更するためのコマンドスイッチがあります。512バイトブロックを使用した場合、OS XとWindowsでファイルシステムをマウントすることしかできませんでした。古いバージョンのLinuxではブロックサイズを2048と想定していましたが、 「-o bs = 512」。

ディスク全体とパーティションの問題は依然として互換性の問題を引き起こします。ディスク全体をフォーマットしてもWindowsはマウントされません。また、OS Xは、ファイルシステムを決定するときにパーティションのタイプ番号を超えないため、手動でマウントする必要があります。 Linuxは、適切なデバイス名(sdaとsda1)を指定している限り、気にしませんでした。

要約すると、私が見つけた最も互換性のあるセットアップは、ブロックサイズ512のUDFでフォーマットされたタイプ06(FAT16)の単一パーティションです。Windowsでは自動的に機能し、LinuxとOS Xではわずかな手動操作が必要です。

5
Simon