UDFのパーティションID /ファイルシステムタイプは何ですか?


10

これはおそらく、UDFフォーマットのCD / DVD / Blu-Rayでcfdiskを使用して確認するのは簡単ですが、どちらも手元にありません。

LinuxとWindowsコンピューター間でデータを共有するためにUSBハードドライブにUDFフォーマットのパーティションを作成しました(FATは4GBファイルを処理しないため、LinuxではNTFSアクセス権のサポートが安定していません)。現在、問題は1つだけです-ファイルシステムタイプIDが '83'( 'Linux')に設定されているため、Windowsはパーティションのマウントを拒否します。かなり広範に調べましたが、そこに何を入れればよいですか?

(フォローアップ:「どのツールでハードドライブをUDFとしてフォーマットする必要がありますか?」)


2
CD、DVD、またはBlu-Rayでcfdiskを実行しても、意味のある結果が得られるとは思いません。パーティションはMBRの数バイトで設定されます。これは、フロッピーや光メディアではなく、ハードディスクやペンドライブに存在します。
ジュリアーノ

回答:


9

答えはパーティションタイプ06(FAT16)です。理由は聞かないで、マイクロソフトに聞いてください。


5年以上後、この簡単な答えは非常に役立ちました。どこにいても、どこにいても「user48160」に感謝します!
JakeGould 2015年

6

それは判明にはパーティションテーブルが存在しないUDFは、それに割り当てられたパーティションIDはありません。このファイルシステムは、Windowsで認識されるように、ディスク全体に及ぶ必要があります。UDFが既存のパーティションテーブルに触れないようにハードドライブをフォーマットする(注意してください。古い情報が含まれています。それを使用してドライブをマウントすると、データが破壊されます!)。

好奇心として-UDF 2.5以降では、メタデータ用に個別のパーティション(ディスクごとに1つまたは2つ)を作成します。ただし、これらのパーティションは、標準のDOSパーティションテーブルにも表示されません。


1
ハードドライブ上の(MBR)論理パーティションの1つであるUDFとしてフォーマットしただけで、Windows 7は問題ありませんでした
MarcH

@MarcH:では、Windowsまたは一部のツールは、パーティションが持つものとしてどのパーティションIDを報告しますか?(質問を作成するのに問題がありました、形式が
正しく

@Juacoは下にスクロールして回答を探します。またはBOOTICEをご覧ください。
MarcH 2012年

一部のパーティショニングツールでは、ファイルシステムなしでパーティションを作成できます。Windowsでドライブ文字を割り当て、UDFでフォーマットするために必要なもの。
DanMan 2013

3

短い回答:UDFパーティションにはMBR id 0x07を使用することをお勧めします。


長い答え:

LinuxはMBRパーティションIDを無視し、無視します(*)。

Windows 2000以降では、IsRecognizedPartition(PartitionType)がtrueの場合にのみ、PartitionTypeがidのいくつかのパーティションにドライブ文字を割り当てることができます。さらに、非FTパーティションでは、IsFTPartition(PartitionType)がfalseである必要があります(そうでない場合、そのパーティションはFTとして検出され、通常のFAT / NTFS / UDF / ...として検出されません)。

条件IsRecognizedPartition(PartitionType)&&!IsFTPartition(PartitionType)は、これらのMBRパーティションIDに適用されます:0x01、0x04、0x06、0x07、0x0B、0x0C、0x0E(**)。つまり、MBRパーティションIDがその1つである場合、Windows 2000(および新しい)はUDFパーティションを認識して使用できます。おそらく他の制限はなく、サポートされているファイルシステムは、これらのMBR IDのいずれかを持つパーティションを受け入れます。つまり、これらのMBR IDはファイルシステムの検出に使用されません。

ただし、特定のPartitionTypeを使用する必要がある場合、Microsoftによるいくつかの推奨事項があります。

  • 0x01-FAT12プライマリパーティションまたは論理ドライブ(ボリューム内の32,680セクター未満)
  • 0x04-FAT16パーティションまたは論理ドライブ(32,680〜65,535セクターまたは16 MB〜33 MB)
  • 0x06-BIGDOS FAT16パーティションまたは論理ドライブ(33 MB–4 GB)
  • 0x07-インストール可能なファイルシステム(NTFSパーティションまたは論理ドライブ)
  • 0x0B-FAT32パーティションまたは論理ドライブ
  • 0x0C-BIOS INT 13h拡張機能を使用したFAT32パーティションまたは論理ドライブ(***)
  • 0x0E-BIOS INT 13h拡張機能を使用したBIGDOS FAT16パーティションまたは論理ドライブ(***)

また、Microsoftの意味

  • 0x01-12ビットのFATエントリを持つパーティションを指定します。
  • 0x04-16ビットFATエントリを持つパーティションを指定します。
  • 0x06-MS-DOS V4の巨大なパーティションを指定します。
  • 0x07-IFSパーティションを指定します。
  • 0x0B-FAT32パーティションを指定します。
  • 0x0C-Windows 95/98:拡張INT 13サービスを使用するパーティションを指定します。

ウィキペディアでいくつかの推奨事項も見つけることができます:

  • 0x01-CHS / LBA-DOS 2.0+-最初の物理32 MBのディスクのプライマリパーティションとしてFAT12 ...(または、代わりに0x06を使用)
  • 0x04-CHS / LBA-DOS 3.0+-65536セクター(32 MB)未満のFAT16 ...(それ以外の場合は0x06を使用)
  • 0x06-CHS / LBA-DOS 3.31+-65536以上のセクターを持つFAT16B。最初の物理的な8 GBのディスクに存在する必要があります...(または、代わりに0x0Eを使用してください)。また、最初の物理的な32 MBのディスクに存在しない場合、プライマリパーティションのFAT12およびFAT16ボリュームにも使用されます。
  • 0x07-CHS / LBA-OS / 2 1.2 +、Windows NT / CE-IFS / HPFS / NTFS / exFAT / QNX
  • 0x0B-CHS / LBA-DOS 7.1+-CHSアドレス指定のFAT32
  • 0x0C-LBA-DOS 7.1+-LBAを備えたFAT32
  • 0x0E-LBA-DOS 7.0+-LBAを備えたFAT16B

IDのリストを完成させるために、UDFフォーマットのハードディスクパーティションをサポートしていない古いシステムに関する情報を以下に示します。

Windows NT 4.0以前は、MBR IDが0x01、0x04、0x06、0x07のパーティションにのみドライブ文字を割り当てることができます。

DOSベースのWindows(95、98、およびME)は、MBR IDが0x01、0x04、0x06、0x0B、0x0C、0x0Eのパーティションにのみドライブ文字を割り当てることができます。MS-DOS自体は、MBR IDが0x01、0x04、0x06のパーティションのみにアクセスできます。これらのシステムは、ファイルシステムの検出にMBRパーティションIDを使用することに注意してください。MBRパーティションIDは、パーティション上のファイルシステムと一致する必要があります。

結論:

パーティションサイズを確認します。0x01および0x04は、最初の32MBのディスクのパーティションにのみ使用する必要があります。ディスクの最初の8GBのみ0x06。0x0Bは、8 GBのディスクに制限があるCHSアドレス指定用です。したがって、そのような制限がないのは、IDのみです:0x07、0x0Cおよび0x0E。FATパーティションには0x0Cと0x0Eが使用されるため、0x07を選択することをお勧めします。これはIFS(インストール可能ファイルシステム)パーティションの意味であり、Wikipediaによると、MicrosoftはWindows 2000 IFS APIにUDFのサポートを追加しました。0x0Cまたは0x0Eを使用すると、パーティションがUDFとしてフォーマットされていても、DOSベースのシステムはそのパーティションをFATとして表示します。MBR id 0x07のパーティションは、これらのシステムでは非表示になっています。これらはUDFをサポートしていないため、0x0Cまたは0x0Eを選択することをお勧めします。

GPT:

GPTパーティションレイアウトはこの問題から外れていますが、MBRと同様の問題があります。UDFに割り当てられたパーティションGUID(MBR idに相当するGPT)はありません。Windows XP x64はUDFをサポートし、GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(Microsoft Basic Data Partition)でのみGPTデータパーティションを認識できるため、これがGPTの唯一の可能な選択肢です。

出典:

(*)例外が1つあります。拡張MBRパーティションの検出には、MBR ID 0x05、0x0F、および0x85が使用されます。
(**)これら2つの呼び出しの定義は、Cマクロとして宣言されているため、WinIoCtl.hファイルにあります。
(***)BIOS INT 13h拡張は、CHSではなくLBAの使用を意味します。


このページは、0x0Eパーティションは2 GiB未満である必要があることを示しています。つまり、UDFの場合、0x07または0x0Cのいずれかでなければなりません。特にリンクされたページを読むと、後者の方が私にはよく聞こえます。印象的な研究、嫌い!
Milind R 2017

2

私が扱っているCDとDVDには、パーティションテーブルがありません。USBハードドライブで、パーティションテーブルをメディアに書き込みました。ドライブ全体をパーティションテーブルなしのUDFディスクとしてフォーマットすれば、Windowsは問題なくマウントできます。

USBドライブのサイズは何も言わず、ドライブ全体をUDF専用にすることに消極的である場合は、パーティションタイプをfdiskでNTFSまたは他のMSでサポートされているタイプの1つに設定してみてください。


また、同じドライブからLinuxを起動するので、grubでサポートされている形式のパーティションを1つ作成する必要があります。grub2(実験的)がUDFからLinuxをブートできることがわかったので、これを試します。
スコリマ2009

0

私も同じ問題を抱えています。私のUSBハードディスクは320GBです。パーティションテーブルは次のようになります。

Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x44fdfe06

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       27963   224612766    c  W95 FAT32 (LBA)
/dev/sda2           27964       38913    87955875    5  Extended
/dev/sda5           27964       33366    43399566    7  HPFS/NTFS
/dev/sda6           33367       38913    44556246   83  Linux

パーティションsda5はUDFリビジョンです。1.5以降は、Windows XP以降で読み取ることができます。もちろん、Linuxはそれを適切に読み取ります。しかし、Windowsは混乱しています。パーティションをNTFSとして認識し、ローパーティションであると想定します。

ペンドライブでUDFを使った実験で、システムがUDFとFATを混同する傾向があることがわかりました。彼らはUDFをFATとして解釈します。ランダムな文字のディレクトリ構造を見ることができるので、それはかなり大きな類似点でなければなりません。Linuxはディスクが破損していると言っていますが、使用を拒否していません。

UDF(少なくともrev 1.5)はUSBドライブで十分にサポートされていないと思います。


1
媒体がFATを使用していた場合、UDFがFATと混同される原因となる可能性があります。UDFでフォーマットする前に、FATが消去されていることを確認してください。
osvein 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.