sko*_*ima 10 linux windows filesystems
在 UDF 格式的 CD/DVD/Blu-Ray 上使用 cfdisk 检查这可能是微不足道的,但我手头没有它们。
我在 USB 硬盘驱动器上创建了一个 UDF 格式的分区,以在 Linux 和 Windows 计算机之间共享数据(FAT 不处理 4GB 文件,Linux 下的 NTFS 访问权限支持不稳定)。我现在只有一个问题 - Windows 拒绝挂载分区,因为文件系统类型 ID 设置为“83”(“Linux”)。我已经看了很多遍,但找不到应该放在那里的数字?
(后续:“我应该用什么工具将硬盘格式化为 UDF? ”)
简短回答:我建议对 UDF 分区使用 MBR id 0x07。
\n\n长答案:
\n\nLinux 不关心 MBR 分区 ID 并忽略它 (*)。
\n\n当且仅当IsRecognizedPartition(PartitionType)为 true 时,Windows 2000 及更高版本才可以为具有 id PartitionType的某些分区分配驱动器号。此外,对于非 FT 分区,必须确保IsFTPartition(PartitionType)为 false(否则该分区将被检测为 FT,而不是普通的 FAT/NTFS/UDF/...)。
\n\n条件IsRecognizedPartition(PartitionType) && !IsFTPartition(PartitionType)适用于这些 MBR 分区 ID:0x01、0x04、0x06、0x07、0x0B、0x0C、0x0E (**)。这意味着如果 MBR 分区 ID 是其中之一,Windows 2000(及新版本)可以识别并使用 UDF 分区。可能没有其他限制,并且任何受支持的文件系统都接受具有任何 MBR id 的分区。这意味着这些 MBR ID 不用于检测文件系统。
\n\n但是,当应使用特定的PartitionType时,Microsoft有一些建议:
\n\n还有微软的意思:
\n\n在维基百科上还可以找到一些建议:
\n\n为了完整的 ID 列表,这里有一些关于不支持 UDF 格式硬盘分区的旧系统的信息。
\n\nWindows NT 4.0 及更早版本只能将驱动器号分配给 MBR ID 为:0x01、0x04、0x06、0x07 的分区。
\n\n基于 DOS 的 Windows(95、98 和 ME)只能将驱动器号分配给 MBR ID 为:0x01、0x04、0x06、0x0B、0x0C、0x0E 的分区。MS-DOS 本身只能访问 MBR ID 为:0x01、0x04、0x06 的分区。请注意,这些系统使用 MBR 分区 ID 来检测文件系统。MBR 分区 ID 必须与分区上的文件系统匹配。
\n\n结论:
\n\n查看分区大小:0x01 和 0x04 应该仅用于磁盘前 32MB 中的分区。0x06 仅存在于磁盘的前 8GB 中。0x0B 用于 CHS 寻址,对 8GB 磁盘有限制。因此,没有此类限制的只有 id:0x07、0x0C 和 0x0E。由于 0x0C 和 0x0E 用于 FAT 分区,我建议选择0x07。它对于 IFS(可安装文件系统)分区来说意味着,根据 Wikipedia,Microsoft 在 Windows 2000 IFS API 中添加了对 UDF 的支持。使用 0x0C 或 0x0E 会导致基于 DOS 的系统将该分区显示为 FAT,即使它会被格式化为 UDF。MBR ID 为 0x07 的分区在这些系统上是隐藏的。它们不支持 UDF,因此最好选择 0x0C 或 0x0E。
\n\n通用时间:
\n\nGPT分区布局不存在这个问题,但它有与MBR类似的问题。没有为 UDF 分配分区 GUID(MBR id 的 GPT 等效项)。因为 Windows XP x64 支持 UDF,只能识别 GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7的 GPT 数据分区(Microsoft 基本数据分区)的 GPT 数据分区,因此它是 GPT 的唯一可能选择。
\n\n资料来源:
\n\n\n(*) 有一个例外:MBR ID 0x05、0x0F 和 0x85 用于检测扩展 MBR 分区。
\n(**) 这两个调用的定义可以在 WinIoCtl.h 文件中找到,因为它们被声明为 C 宏。
\n(***) BIOS INT 13h 扩展意味着使用 LBA 而不是 CHS。\n
| 归档时间: |
|
| 查看次数: |
9921 次 |
| 最近记录: |