问题场景
主管交给我一块移动硬盘,她说她需要这块移动硬盘在 macOS 和 Windows 之间拷贝数据。我在 Windows 下用资源管理器右键菜单的格式化选项,格式化了硬盘。
这块硬盘硬盘能顺利地在 Windows 中进行文件读写。但是,在 Mac 环境中,却无法正常挂载。现象是将移动硬盘与 Mac 连接后,Finder 及桌面无法显示移动磁盘的图标。在 Disk Utility 中也无法顺利检查到该移动硬盘。
但如果打开 Terminal,使用 diskutil list
能顺利看到 disk identifier 和 disk name。但是磁盘分区 TYPE 却显示为 Windows_NTFS。这个就很奇怪了。
解决方案
经过求助搜索引擎,以及参考了 Apple Community 上的一篇帖子1,一位叫 aixxo 的用户也遇到了和我相同的问题:
Hi, I’m trying to mount an exFAT harddrive via usb. The disk is recognized and show in the disk utility, but i cannot activate it. The only error I get is in the Console :
28.02.11 20:38:36 kernel exfat: bytes per cluster (4194304) > MAXBSIZE (1048576). Can’t mount.
Any chance of getting access to the drive? It mounts perfectly under Windows 7.
但他后来似乎通过自己找到了所需要的答案:
Ok,I resolved the issue.
hen formatting a exFAT drive under Windows you can choose the cluster size. If the drive should be used with OSX you should not choose anything higher than 1024!
但也有人在后面的讨论中提到更大簇尺寸的情况,例如 Imcurley:
Perfect thanks. I got it working too with 1024, had issues with 4096 cluster size.
但大多数的声音都是将 cluster size 设置到 1024 就能解决问题!经过尝试,我面临的问题,依靠设置这个也成功解决。
总的而言,就是在 Windows 下利用资源管理器格式化磁盘前,需要将 cluster size 即 分配单元大小 设置为 1024 字节,就能让 exFAT 格式的移动硬盘在 Windows 和 Mac 之间兼容使用。
不过说起来,当时自己怎么就没想到去检查下 console 呢……下次遇到什么问题时,或许可以留意下。