我最近购买了一个格式化为 FAT32 的 32GB USB 3 记忆棒。我将它插入我的计算机并尝试将电影复制到它上面,但是文件超过 4GB,并且由于FAT32 强加的4GB 文件大小限制,它不允许我复制文件。
经过一番谷歌搜索后,我发现我可以将我的 USB 记忆棒格式化为exFAT格式,这意味着我可以将大于 4GB 的文件放在记忆棒上,并且该驱动器可以在我的 Mac 和我的 PC 上运行。
这个解决方案的问题是我的 PS3 在用 exFAT 格式化时无法检测到 U 盘。
我想知道是否有办法格式化我的 USB 记忆棒,以便它可以包含大于 4 GB 的文件并在我的 PC、Mac 和 PS3 上工作。
use*_*ser 70
本来,您不能在 FAT 文件系统上存储大于 4 GB 的文件。4 GB 屏障是 FAT 的硬限制:文件系统使用 32 位字段来存储以字节为单位的文件大小,2^32 字节 = 4 GiB(实际上,真正的限制是 4 GiB 减去一个字节,或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
$
Run Code Online (Sandbox Code Playgroud)
在这里,我truncate用来创建一个大小为 6 GiB 的稀疏文件。(只需替换您自己的。)然后,我将它们分成大小约为 2 GB 的段;最后一段较小,但在我能想到的任何情况下都不会出现问题。您也可以代替,--bytes=2GB,使用--number=4,如果你想将文件分割成四个相等大小的块; 在这种情况下,每个块的大小将是 1 610 612 736 字节或大约 1.6 GiB。
要组合它们,只需使用cat(con catenate):
$ cat my6gbfile.part* > my6gbfile.recombined
Run Code Online (Sandbox Code Playgroud)
确认两者相同:
$ md5sum --binary my6gbfile my6gbfile.recombined
58cf638a733f919007b4287cf5396d0c *my6gbfile
58cf638a733f919007b4287cf5396d0c *my6gbfile.recombined
$
Run Code Online (Sandbox Code Playgroud)
这可以与任何最大文件大小限制一起使用。
许多文件归档器还支持将文件拆分为多部分归档文件;早些时候,它被用来将大型档案文件安装到软盘上,但现在它也可以用来克服像这样的最大文件大小限制。文件存档器通常还支持“存储”或“无压缩”模式,如果您知道文件的内容无法进一步无损压缩,则可以使用这种模式,这通常是已经压缩的存档、电影、音乐等的情况; 使用这种模式时,压缩文件只是充当一个容器,为您提供文件拆分能力,而实际数据只是简单地复制到存档文件中,从而节省了处理时间。
Omn*_*ity 30
不幸的是,无法将大于 4GB 的文件复制到 FAT32 文件系统。一个快速的谷歌说你的 PS3 只能识别 FAT32 文件系统。
您唯一的选择是使用较小的文件。也许在移动它们或压缩它们之前将它们切成碎片。
我会尝试一个网络文件共享解决方案。
jpf*_*342 24
扩展 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...
Run Code Online (Sandbox Code Playgroud)
如果您更喜欢使用 GUI,那么我的 goto 一直是7-Zip。
另一个未说明的选项是使用分区。操作系统通常将 USB 闪存驱动器视为硬盘驱动器。调整 FAT32 分区的大小并创建一个足够大的 exFAT(或其他支持文件系统)分区以容纳该文件。
如果您需要访问 USB 驱动器上的大文件,这可能是最好的解决方案。如果您需要做的只是传输文件,并且不介意必须将其复制到硬盘驱动器才能使用它,那么拆分解决方案可能会更好。
如果您的 USB 驱动器设置为“超级软盘”,这将不起作用,但这种情况越来越少见。您可以使用 fdisk 或 gparted 等分区工具将“超级软盘”转换为硬盘驱动器格式。但这可能涉及复制文件、转换、复制回来,然后再次使驱动器可启动。
| 归档时间: |
|
| 查看次数: |
344657 次 |
| 最近记录: |