我最近购买了一个 32 GB 的 USB 3 闪存盘,格式化为 FAT32。我将其插入计算机并尝试将视频文件复制到其中。但是,该文件超过 4 GB,并且由于FAT32 规定的 4 GB 文件大小限制。
经过一番谷歌搜索,我发现我可以格式化我的 USB 记忆棒来使用外置FAT这意味着我可以将大于 4 GB 的文件放到该驱动器上,并且该驱动器可以在我的 Mac 和 PC 上运行。
这个解决方案的问题在于,当 USB 驱动器使用 exFAT 格式化时,我的 PS3 无法检测到它。
我想知道是否有办法格式化我的 USB 驱动器,以便它可以存储大于 4 GB 的文件并可在我的 PC、Mac 和 PS3 上运行。
答案1
不幸的是,没有办法将大于 4GB 的文件复制到 FAT32 文件系统。快速谷歌搜索显示您的 PS3 只能识别 FAT32 文件系统。
您唯一的选择是使用较小的文件。也许在移动之前将它们切成小块或压缩它们。
我将尝试一种网络解决方案来实现文件共享。
答案2
你不能在 FAT 文件系统上存储大于 4 GiB 的文件。4 GiB 限制是 FAT 的硬性限制:文件系统使用32 位字段以字节为单位存储文件大小,2^32 字节 = 4 GiB(实际上,实际限制是 4 GiB 减 1 个字节,即 4 294 967 295 字节,因为您可以拥有长度为零的文件)。
因此,您无法将大于 4 GiB 的文件复制到任何普通 FAT 卷。
exFAT 通过以下方式解决这个问题使用 64 位字段存储文件大小但这并没有真正帮助您,因为它需要重新格式化分区。
但是,如果你将文件拆分成多个文件,然后重新组合它们,这样您就可以传输所有数据,但不能作为单个文件传输(因此您可能需要重新组合文件才能使用)。例如,在 Linux 上,您可以执行类似以下操作:
$ truncate -s 6G my6gbfile
$ split --bytes=2GB --numeric-suffixes my6gbfile my6gbfile.part
$ ls
my6gbfile my6gbfile.part00 my6gbfile.part01
my6gbfile.part02 my6gbfile.part03
$
在这里,我使用truncate
创建一个 6 GiB 大小的稀疏文件。(只需替换您自己的文件即可。)然后,我将它们分成大约 2 GiB 大小的段;最后一个段较小,但在我能想到的任何情况下,这都不会造成问题。如果您希望将文件分成四个大小相等的块,也可以--bytes=2GB
使用而不是--number=4
;在这种情况下,每个块的大小将是 1 610 612 736 字节或大约 1.6 GiB。
要组合它们,只需使用cat
(con cat
enate):
$ cat my6gbfile.part* > my6gbfile.recombined
确认两者完全相同:
$ md5sum --binary my6gbfile my6gbfile.recombined
58cf638a733f919007b4287cf5396d0c *my6gbfile
58cf638a733f919007b4287cf5396d0c *my6gbfile.recombined
$
这可以与任何最大文件大小限制一起使用。
许多文件归档器还支持拆分将文件拆分成多部分存档文件;以前,这用于将大型存档装入软盘,但现在它也可以用于克服此类最大文件大小限制。文件存档器通常还支持“存储”或“无压缩”模式,如果您知道文件内容无法进一步无损压缩,可以使用该模式,已压缩的存档、电影、音乐等通常就是这种情况。使用这种模式时,压缩文件只是充当一个容器,为您提供文件拆分功能,实际数据只是复制到存档文件中,从而节省处理时间。
答案3
扩展 Michael 的想法,许多压缩实用程序/格式都支持“存储”模式,实际上它们不进行任何压缩。大多数相同的实用程序还支持拆分成多个存档。将两者结合起来,您就可以拆分文件而不必浪费大量时间压缩它,尤其是如果它是不可压缩的数据。我自己也使用过这种技术来解决您遇到的确切问题。
这样做的一个很大的好处是压缩格式充当包装器,防止您意外地只对文件的一部分进行任何操作。对于非技术用户来说,它也更简单。(不是每个人都知道如何处理cat
文件,但几乎每个人都可以打开 zip 文件。)它也非常明显的它是一个多部分文件,因为该文件的格式就是这样的。松散的文件可能看起来不像是一个多部分文件,尤其是当它们以某种方式丢失了文件名时。
当然,如果你真的想能够处理单独的文件,但这种方法不太管用。如果您没有任何“临时空间”来写入最终文件,这可能很重要。在这种情况下,您应该拆分文件。
以下是在 Linux 上使用 zip 拆分文件的示例:
zip -0 -s 3g out.zip foobar
# "-0" sets the compression level to 0, or store
# "-s 3g" sets the split size to 3 GB
# Add "-r" if "foobar" is a directory
# The output will be "out.zip", and "out.z01", "out.z02", and so on...
如果你更喜欢 GUI,我的首选一直是7-Zip。
答案4
正如其他人所回答的,拆分文件并合并是可行的。但最简单的解决方案是使用ext 2/3/4
USB 驱动器的文件系统。它是 Linux 的原生文件系统。在 Windows 中使用 ext2fsd用于读取数据。它还支持写入模式。只需在 Windows 访问文件上安装免费应用程序,无需拆分,无需合并。