可以并且应该将UDF用作硬盘格式吗?

最近几次我见过UDF建议作为Linux,Mac OS X和Windows XP及更高版本上使用的驱动器的跨平台格式的解决方案。

我在这里搜索并没有找到相同的建议(大多数建议ntfs-3g似乎花钱并且没有在Mac上预装)。

所以我的问题是:如何做到这一点,并且有人这样做了吗? 你有没有填充驱动器并删除一些文件,以便找到所有东西都像真正的r / W格式,即使它似乎主要是一次写入格式?

叫我疯了但我真的很喜欢它,如果UDF系统也会自动挂载并且可以由登录用户写入。 到目前为止我所尝试过的(由kicsyromy提到的udftools格式化)并没有解决这个问题。

没有。

我们在2015年的回复时间。 我在Mactel机器上使用OSX Yosemite,Ubuntu 14.10和Windows 10技术预览版(Macmini 7,1)。

我尝试了UDF和exFat。 我使用Ubuntu进行开发,并且需要Unix风格的权限。

所有以前的指南都不再适用: UDF驱动程序已经发展,并且所有操作系统都将接受UDF分区,其中存在的问题和不稳定性超出了我的名称。

  • 在Mac OS上格式化的UDF驱动器:无法在Windows 10上安装。
  • 在Linux上格式化的UDF驱动器:无法在Windows 10上安装。
  • 在Windows 10上格式化的UDF驱动器:在Linux上进行读/写,在OSX上进行只读。

但是,Windows在格式化UDF卷时不允许您指定块大小,因此,逻辑块大小可能与分区的物理块大小不同。

我不清楚这是否与我在OSX上读取/写入的困难有关,但在使用Linux删除一定数量的文件后,我再也无法在OSX上再次安装驱动器。

系统陷入内核恐慌并且不光彩地崩溃。

这个以及关于该主题的各种答案表明此时对此格式的支持不一致。

似乎有一些方法可以使用NTFS卷来实现现代文件系统的function,Unix风格的权限 – 我可以设置它们 – 以及所有操作系统上的读/写挂载之间的平衡。

有人研究了如何使用udf格式化闪存驱动器,以便它可以在尽可能多的操作系统上使用。 以下是他的发现(曾经在那里 ,现在离线):

  • Windows 7完全支持UDF v2.6,但UDF块大小必须与底层设备的块大小相匹配(对于USB-sticks而言,大多数磁盘为512字节;“高级格式”磁盘为4096字节)。 显然必须对磁盘进行分区。

  • Linux 2.6.30及更高版本支持UDF,至少支持2.5版本。

  • Mac OS X 10.5完全支持UDF到UDF 2.01,但仅限于在完整磁盘上使用时,因此不进行分区。

如上所述,对于USB硬盘,Windows要求对磁盘进行分区。 另一方面,UDF仅在完整磁盘(未分区)上使用时才在OS X中运行。 相当令人惊讶的是,有一种适用于两者的解决方案:同时对磁盘进行分区和未分区。

DOS分区表存储在主引导记录的字节446-510中。 此主引导记录存储在磁盘的第一个扇区(扇区0)中。通常,指定的第一个分区将进一步开始几千字节。 但是,似乎可以构造一个分区表,其第一个分区从扇区0开始,因此结果是一个包含分区表本身的分区。 分区编辑器程序似乎拒绝创建这样的表,但至少最近的Linux和Windows内核似乎并不打扰。

好处是UDF没有(我想故意)使用它所放置的分区或磁盘的前几千字节,因此这个地方可以真正用于存储传统分区表,指的是跨越整个分区的分区磁盘。 一些测试表明这确实适用于Linux,Windows和Mac OS X:

  • 安装在Linux 2.6.30+,Mac OS X 10.5 +,Windows Vista +中自动读写
  • 可以在Windows XP中以只读方式使用,并在Linux 2.6.0+中的命令行安装之后使用
    • 支持大文件,UNIX权限,Unicode文件名,符号链接,硬链接等。

以下是在https://github.com/ameenross/udfhd上正确格式化磁盘的脚本

编辑:我刚在VM中测试了这个。 您似乎需要(重新)在Windows中创建分区,为其分配驱动器号,但不要将其格式化为任何文件系统。 之后启动到Ubuntu并按照指示操​​作它应该可以读/写。

记得备份所有数据!

首先安装UDF工具:

 sudo apt-get install udftools 

将要格式化的分区上的任何内容替换为UDF(*):

 sudo dd if=/dev/zero of=/dev/sdxN bs=512 count=1 

最后格式化为UDF(*):

 sudo mkudffs --media-type=hd --blocksize=512 /dev/sdxN 
  • x是固定分配给您的硬盘的字母的占位符

  • N是分区号的占位符

祝你好运,让我知道它是否适合你。 干杯,Calota Romeo