跨系统挂载磁盘之痛
我们知道不同操作系统使用的文件系统是不一样的,例如Windows是ntfs、linux是ext4、mac是自研的APFS,这些文件系统在各自的系统生态之间相互插拔使用是完全没有任何问题的,但是一旦是跨系统之间进行操作,就容易出现问题,例如为了从Win下面拷贝数据出来就需要把移动硬盘格式化为系统可识别的格式,例如FAT、exFAT、ntfs,前面两种格式在mac和linux也是支持的,但是FAT格式限制导致最大只能存储4G的单个文件,exFAT倒是在多系统之间可以识别所以新买了硬盘还没格式化的同学可以优先考虑这种,在系统操作格式化过程中,系统往往会优先把自己最亲和的选项当做默认选项,所以这也就导致,如果你新移动硬盘是从win拷贝东西,那么很大概率是格式化成了ntfs,在这种情况下后面插入mac系统,你会发现只能读不能写,这个是因为Mac自身对文件格式兼容不好导致的,下面就来说下如何解决这个问题。
至于其他系统之间如何兼容不同格式,由于目前我还没有类似需求就不进行拓展了,后续遇到会持续更新
解决方案
原文链接,这是一片英文的操作教程,原理就是给Mac安装一些插件支持(感谢开源)就能支持对ntfs格式进行修改操作。
安装brew
brew是一款十分好用的软件包管理系统,Mac系统必备装不了吃亏装不了上当,几乎所有有的没的工具、软件都可以通过它一行命令进行安装,安装过程如下:
打开terminal,输入以下命令回车,中间会要求输入用户密码,输入即可(由于国内特殊网络状况可能存在安装失败的情况,多尝试几次即可)
1 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
安装Fuse
此处是以dmg安装包的格式提供的,下载之后按照一般Mac软件进行安装即可,注意安装到最后一步需要在设置-安全性与隐私里面点击允许。
安装ntfs-3g
这里还要最后安装一个关键性的tool就结束了,还是在terminal里面,这次使用我们刚刚安装完成的brew进行操作
1 | brew install ntfs-3g |
等待安装完成即可
注意,以上步骤只有第一次需要进行,后续只需要从下面开始即可
挂载硬盘
在英文原文里面安装完成之后还有一些额外步骤,包括重启Mac并进入恢复模式,以及关闭相关安全设置修改系统关键命令,这些都不是必须做的。
可以直接进入挂载硬盘的操作,我们假设此时电脑只连接了一个硬盘,那么此时把Read-Only的磁盘右击进行弹出,之后在终端中输入
1 | sudo /usr/local/sbin/mount_ntfs -o rw,nobrowse /dev/disk2s1 ~/Desktop/disk1 |
此时就挂载完成了,这里注意一下:如果此时桌面下面没有disk1文件夹,那么需要创建一个,可以使用右键新建文件夹的方式,或者mkdir disk1
额外补充
在上面的命令当中,disk2s1表示的是移动硬盘的第一个分区。disk0和disk1已经被电脑的硬盘占用了,所以序号是从2开始的。如果目前电脑插有多块硬盘可以通过在终端中输入以下命令查找自己需要的硬盘
1 | diskutil list #会输出所有磁盘列表,/dev/diskX就是目前识别出来的所有硬盘 |
转载请注明来源链接 http://just4fun.im/2020/02/20/How-Mac-write-ntfs-filesystem/ 尊重知识,谢谢:)