macOS 10.15.7 无法挂载 NTFS 硬盘的解决方案

最近,老将 MacBook Pro 2015 升级了 10.15.7,发现无法读取外置 NTFS 格式的硬盘,经过一番折腾后“暂时算是”解决了问题;

事由

由于 RMBP2015 老了,决定在 Catalina 养老,但例行的安全更新还是要有的,呐,就是它:

安全更新

这次例行更新后好久没有使用外置磁盘,今天使用的时候发现外置磁盘没有在访达中显示,然后打开磁盘工具查看,倒是显示了,但无法挂载:

无法挂载

使用的 NTFS 读写软件是Tuxera NTFS for Mac,正版(英文官网入的,外币),感觉是软件的锅,反复卸载安装了两次,还是不行,于是尝试在系统设置中禁用它,嘿,神奇的一幕出现了:启用无法装载,禁用反而能装载了(虽然是只读装载)

启用状态

禁用状态

这让我更加坚信了是软件的问题,于是乎准备去和官方沟通,但一想到时差会导致邮件沟通的效率极其低下,就很头疼,所以尝试去中文网站找找客服:

中文网站

呐,就是它了,这里的“中文网站”隐约让人觉得像又不像是官网,嘿嘿;

思杰马克丁

虽然问题解决了,也了解了问题的缘由,但不得不感叹“这不科学啊”(图中有亮点);

总结

  1. 如果已经升级了 10.15.7,读写 NTFS 就只能使用命令行了(Paragon 也挂了),等待软件更新或者苹果在后续系统开放 NTFS 权限,不怕麻烦可以无视此问题,;

    使用 Tuxera 软件的童鞋,请执行下面 👇 的命令:

    1
    2
    3
    4
    5
    6
    7
    8
    sudo mkdir /Volumes/ntfs-disk # 创建挂载点,名称随意

    diskutil list # 查看磁盘信息,找到外置磁盘

    # 用下面命令挂载外置磁盘
    # 命令中的 diskXsY 替换为实际的磁盘标识
    # 最后的挂载点请替换为创建的挂载点
    sudo /Library/Filesystems/tuxera_ntfs.fs/Contents/Resources/mount_tuxera_ntfs -o nodev -o noowners -o nosuid /dev/diskXsY /Volumes/ntfs-disk

    使用 Paragon 的童鞋,请替换最后一条命令 👇:

    1
    sudo /Library/Filesystems/ufsd_NTFS.fs/Contents/Resources/mount_ufsd_NTFS /dev/diskXsY /Volumes/ntfs-disk

    解释一下 diskXsY:

    diskXsY

    如图,有三个磁盘,外置磁盘为/dev/disk2,其中的disk2s1是 EFI 分区,而disk2s2才是存储区域的标识,所以挂载磁盘要选择表示存储区域的disk2s2,如果挂载不成功,可以尝试挂载disk2,也就是整个磁盘;

  2. 目前只知道 10.15.7 有这个问题,其他版本没有,如 12.3,那就把系统升级到最新,问题就解决啦;

  3. 如果不怕数据风险,可以搜索一下macOS 开启原生 NTFS 读写,其实问题也不大,假性丢失,需要 Windows 系统才能修复;

  4. 和我一样,降级到 10.15.6,然后关闭所有系统更新,一劳永逸;

    下载 macOS 历史版本的方法很多,这里列出我常用的几种:

    macadmin-scripts 最常用的方法,基本所有版本(包括小版本)都可以下载,请给项目 Star;

    downloading-macos-legacy-os 来自 OpenCore 的方法,没用过,需要自己寻找指定版本的标识编号;

    macOS Catalina Patcher 曾经用过的 10.13.6 就是使用它下载的,只能下载大版本的最后一个版本,如:10.15 只能下载 10.15.7;

禁用 macOS 更新的方法

  1. 首先关闭 SIP:

    重启到恢复模式,方法是开机或重启时按住⌘(Command) + R,直到出现苹果标,然后会自动进入恢复模式,在标题栏的实用工具中选择终端,输入以下命令:

    1
    csrutil disable

    可以使用csrutil status命令查看 SIP 状态;

    关闭 SIP 后重启电脑;

  2. Catalina 10.15.4 以上的系统需要开启读写权限:

    1
    sudo mount -rw /
  3. 关闭更新服务:

    1
    2
    cd /System/Library/PreferencePanes/
    sudo mv SoftwareUpdate.prefPane SoftwareUpdate.prefPane.bak
  4. 禁用系统更新功能:

    1
    2
    cd /System/Library/CoreServices/
    sudo mv Software\ Update.app Software\ Update.app.bak
  5. 到此基本就结束了,系统更新也会变成这样:

    系统更新

    因为系统更新也是个 app,而且在第 3 步被重命名了,找不到了当然打不开;

  6. 如果前 3 步弄完,系统偏好设置打不开或者软件更新角标还在,删除缓存并重启 Dock:

    1
    2
    defaults write com.apple.systempreferences AttentionPrefBundleIDs 0
    killall Dock

    这次肯定没有了,瞬间清爽;

  7. 强迫症的话,重复第一步,再开启系统 SIP:

    1
    2
    csrutil enable
    csrutil status
恢复系统更新
  1. 其实就是关闭系统更新的相反操作;

  2. 开启更新服务:

    1
    2
    cd /System/Library/PreferencePanes/
    sudo mv SoftwareUpdate.prefPane.bak SoftwareUpdate.prefPane
  3. 恢复系统更新功能:

    1
    2
    cd /System/Library/CoreServices/
    sudo mv Software\ Update.app.bak Software\ Update.app
  4. 其他步骤相同,以上;

其他

虽然问题解决了,但无聊搜索了一下这个问题,发现有一样中枪的朋友:

CSDN

上图原文链接