摘要:无法将超过 32GB 的文件复制到格式化为 FAT32 或 exFAT 的 128GB 记忆棒,尽管我可以格式化记忆棒并且 ChkDsk 在格式化后显示正确的结果(并且当记忆棒上的文件少于 32GB 时) )。我不能使用 NTFS,因为这个棒旨在将文件传输到 iPhone,而该应用程序无法处理 NTFS。详情见下文。
细节:
我有一个 128GB 的记忆棒,用于在计算机和 iPhone 之间快速传输文件。一端是 USB,另一端插入 iPhone 的 Lightning 端口。这种特殊类型非常常见,展开时看起来像“T”(亚马逊链接:https ://www.amazon.com/gp/product/B07SB12JHG )。
虽然当我将 Windows 数据复制到它时,这个棒并不是特别快,但到我的 iPhone 的传输速率比无线替代品要好得多。
通常我会在 NTFS 中格式化大型记忆棒或 USB 驱动器,但用于将文件传输到我的 iPhone(“CooDisk”)的应用程序只能处理 exFAT 和 FAT32。我都试过了。对于 exFAT 格式,我尝试过 Windows 7 和 10,对于 FAT32,我使用了 RidgeCrop 咨询公司的免费产品(如果你愿意,我可以给你链接)。
与所有 USB 存储设备一样,我的记忆棒被格式化为单个活动分区。
我没有格式化问题。格式化后,ChkDsk 似乎对 FAT32 和 exFAT 都很满意。CooDisk 应用程序适用于任何一个。格式化后,所有空间表面上都可用于文件。
用文件填充棒时出现了我的问题。
每当我的总空间超过 32GB 时,我就会遇到各种问题。要么复制失败,要么 ChkDsk 失败。(在“修复”模式下运行 ChkDsk 后,创建的超过 32GB 限制的每个文件都将被破坏。)有趣的是,当我使用带有“/v”(验证)的 DOS 复制命令时,它会为超过 32GB 限制的文件标记错误,尽管带有“/v”的 DOS XCopy 仍在继续。GUI 方法也死在 32GB。
出于绝望,我编写了一个使用 GNU 的 cp for Windows 的脚本。现在我可以复制超过 32GB 的文件并且 ChkDsk 标记没有错误。然而,超过 32GB 限制的文件最终会被二进制零填充,尽管它们在目录或 Windows 文件资源管理器列表中显示为应有的样子。(很奇怪,不是吗?)
我还尝试了从 4K 一直到 64K 的各种分配单元大小,并尝试使用三种不同的 Windows 操作系统(XP、Win7 和 Win10)。
让我强调一下:无论我使用exFAT还是FAT32,复制到记忆棒的前32GB文件都没有问题;我的复制方法;以及我选择的 AU 尺寸。
最后,这些目录中没有任何东西会打扰 FAT32 或 exFAT 系统: (a) 文件和目录名称很短(远低于 100 个字符);(b) 目录嵌套最少(不超过 5 级);(c) 文件很小(不接近 GB);并且目录的文件相对较少(对于那些还记得每个目录 512 个文件的旧 FAT 限制的人来说,接近 200 个:)
我还没有尝试过的唯一平台是使用有人给我的老化的 MacBook。我不太擅长 Mac,但我宁愿不依赖它(它已经 13 年了,尽管 MacBook 的构造就像坦克一样)。
此外,FAT32 和 exFAT 是否有可能在活动分区上不允许超过 32GB(我在任何地方都找不到这样的限制,事实上,根据我的经验,USB 存储设备总是可启动的——就像我的棒的原始版本一样)?
有任何想法吗??