系统更新后,无法在 macOS Catalina 上挂载 NTFS 卷
症状:
- 存储媒体不会自动显示在 Finder 中
- 尝试使用磁盘工具或磁盘管理器挂载磁盘或卷时显示错误:
根据您用于挂载卷的应用程序,可能会显示两种错误消息:
Tuxera 的磁盘管理器:
Error while mounting diskXsY: Disc quota exceeded
苹果的磁盘工具:
Could not mount "DiskName". (com.apple.DiskManagement.disenter error 49221.)
是什么导致了这个问题,有解决办法吗?
安装最新的 安全更新 2022-003 Catalina后发现此问题。
这似乎是由于磁盘仲裁的变化限制了第三方安装实用程序的搜索路径。因此,macOS 无法找到我们的挂载实用程序,即使它在尝试使用 NTFS 文件系统附加卷时存在。这适用于所有第三方文件系统驱动程序,而不仅仅是 Mac 的 NTFS。
当前已知的解决方案是放弃安装更新(并等待 Apple 发布修复该错误的新更新),或升级到 macOS Big Sur 或 Monterey,它们都没有受到此错误的影响。
如果您无法升级 macOS 并且已将安全更新安装到 Catalina,则有一个已成功测试并应用的解决方法:
绕过磁盘工具和磁盘管理器,手动挂载卷:
- 打开终端(应用程序→实用程序→终端)
使用以下命令在 /Volumes 目录中创建挂载点:
sudo mkdir /Volumes/ntfs-disk
使用以下命令找出存储介质和卷的标识号:
diskutil list
注意所需卷的列表,并记下条目diskXsY,其中 X 和 Y 是数字:
最后,发出命令挂载文件系统:
sudo /Library/Filesystems/tuxera_ntfs.fs/Contents/Resources/mount_tuxera_ntfs -o nodev -o noowners -o nosuid /dev/**diskXsY** /Volumes/ntfs-disk
通过上述步骤,您现在应该可以通过 Finder 再次访问您的 NTFS 卷了。请注意,在找到永久解决方案之前,您必须在每次想要再次挂载卷时执行此操作。
我有多个磁盘,如何同时使用它们?
您可以使用与上述相同的解决方法,但您需要为每个单独的磁盘创建一个新的挂载点:
sudo mkdir /Volumes/ntfs-disk
sudo mkdir /Volumes/ntfs-disk2
等等
您还必须更改 mount 命令本身。标识符 ( diskXsY ) 对于每个磁盘都是唯一的。
这是艰巨的!有没有办法让它变得更容易?
- 终端保留您输入的历史记录。重新启动 Mac 和终端后,只需按键盘上的向上箭头即可查看之前键入的命令。这样您就不必在每次要挂载磁盘时重新键入或复制和粘贴命令。
- 您可以将这些命令组合成一个可以运行的 shell 脚本。shell 脚本基本上只是一个文本文件,其中包含您将在终端中键入的命令。
示例脚本:
#!/bin/sh
mkdir /Volumes/MyDisk
/Library/Filesystems/tuxera_ntfs.fs/Contents/Resources/mount_tuxera_ntfs -o nodev -o noowners -o nosuid /dev/diskXsY /Volumes/MyDisk
这个脚本,如果保存为 example.sh 将通过进入sudo ./example.sh
终端运行。
您可以在此处了解有关 shell 脚本的更多信息。