Mac下如何不借助第三方工具实现NTFS分区的可写挂载
问题背景
我想很多使用Mac的同学都会遇到读写NTFS磁盘的问题,因为默认情况下Mac OSX对NTFS磁盘的挂载方式是只读(read-only)的,因此把一个NTFS格式的磁盘插入到Mac上,是只能读不能写的,用起来很是不便。
因此也就出现了一些第三方工具,例如Tuxera NTFS for Mac、Paragon NTFS for MAC等,这些工具都可以实现Mac下NTFS的写操作,但是这些工具都是收费的,当然也有些破解的版本,但是破解软件毕竟存在安全风险,so,I don't really like that.
此外Tuxera也提供了开源的NTFS读写方案:NTFS-3G,基于GPL授权的NTFS-3G也可以通过用户空间文件系统在Mac OS X上实现NTFS分区的读写。这个方案也比较不错,只是需要简单的安装,本文不再展开。具体的可以参考官方链接:http://www.tuxera.com/community/open-source-ntfs-3g/
但其实,我们完全可以不借助任何第三方工具就能解决这个问题,因为其实OSX原生就是支持NTFS的。后来由于微软的限制,苹果把这个功能给屏蔽了,但是我们可以通过命令行手动打开这个选项。
How to do that?
mount查看磁盘挂载情况
thatsitdeMacBook-Pro:~ thatsit$ mount
/dev/disk4s2 on /Volumes/Untitled (ntfs, local, nodev, nosuid, read-only, noowners)
thatsitdeMacBook-Pro:~ thatsit$
这时候如果我们要实现/dev/disk4s1分区的可写挂载,我们只需要做做一下两个步骤:卸载、重新挂载
卸载
thatsitdeMacBook-Pro:~ thatsit$ sudo umount /Volumes/Untitled/
重新挂载
thatsitdeMacBook-Pro:~ thatsit$ sudo mount -t ntfs -o rw,auto,nobrowse /dev/disk4s2 /Volumes/Udisk/
这时候/dev/disk4s2已经以读写的方式挂载到/Volumes/Udisk/了,下面我们来进行挂载结果的确认
确认挂载
thatsitdeMacBook-Pro:~ thatsit$ mount|grep ntfs
/dev/disk4s2 on /Volumes/Udisk (ntfs, local, noowners, nobrowse)
thatsitdeMacBook-Pro:~ thatsit$
测试写入
thatsitdeMacBook-Pro:~ thatsit$ cd /Volumes/Udisk/
thatsitdeMacBook-Pro:Udisk thatsit$ touch test_writing
thatsitdeMacBook-Pro:Udisk thatsit$ ll|grep test_writing
-rwxr-xr-x 1 thatsit staff 0 12 24 17:14 test_writing
thatsitdeMacBook-Pro:Udisk thatsit$
thatsitdeMacBook-Pro:Udisk thatsit$ echo heheda >> test_writing
thatsitdeMacBook-Pro:Udisk thatsit$ cat test_writing
heheda
thatsitdeMacBook-Pro:Udisk thatsit$
thatsitdeMacBook-Pro:Udisk thatsit$ ll|grep test_writing
-rwxr-xr-x 1 thatsit staff 7 12 24 17:15 test_writing
thatsitdeMacBook-Pro:Udisk thatsit$
上述挂载参数的详细说明:
mount -t ntfs -o rw,auto,nobrowse /dev/disk4s2 /Volumes/Udisk/ -t ntfs # 执行要挂载的分区文件系统格式
-o # 执行挂载的选项
rw # read-write,以读写的方式挂载
auto # 自动检测文件系统,此参数可以省略
nobrowse # 这个选项非常重要,因为这选项指明了在finder里不显示这个分区,只有打开了这个选项才能将磁盘以读写的方式进行挂载
/dev/disk4s2 # 要挂载的分区,也就是我们在mount命令中看到的盘符
/Volumes/Udisk/ # 挂载点 * /Volumes/Udisk这个目录是需要存在的,如果不存在需要手动创建下:sudo mkdir /Volumes/Udisk
* 如果目录不存在会收到如下报错:
mount: realpath /Volumes/Udisk: No such file or directory
通过上面的测试大家也看到了,此时的NTFS分区已经是可写的了;但是这个时候还存在另一个小问题,因为我们在挂载的时候使用nobrowse选项,这个分区在finder里是不显示的。
总会有些同学不习惯一直使用命令行进行操作,所以需要高解决这个问题:
解决办法其实很简单,因为这个分区是挂/Volumes下的,我们把这个目录在桌面做一个软链接就OK了。
创建软链接
thatsitdeMacBook-Pro:Udisk thatsit$ sudo ln -s /Volumes/Udisk/ ~/Desktop/Udisk
Password: # <----输入用户密码
thatsitdeMacBook-Pro:Udisk thatsit$
效果如下:桌面上会显示如下的盘符,点击即可进入Finder

----Done----
参考链接:
https://zh.wikipedia.org/wiki/NTFS
Mac下如何不借助第三方工具实现NTFS分区的可写挂载的更多相关文章
- Mac 下安装Fiddler抓包工具
需求 我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles.但是这个只能抓代理的数据包.但是有时候想要调试本地网卡的数据库 Charles 就没办法了.就想到了在windows下面的一个F ...
- python-web自动化-文件上传操作(非input标签的上传,需要借助第三方工具)
文件上传操作 一.文件上传分两种情况:1. 如果是input可以直接输入路径的,可以直接调send_keys输入路径 2. 非input标签的上传,需要借助第三方工具: 2.1 Autolt 需 ...
- Mac 下的矢量图设计工具
Mac 下的矢量图设计工具 一图胜千言.一张清晰的示意图无论对于系统设计,流程梳理,还是其他的方方面面,都非常重要. 曾经亲见一位老同事把 FreeHand 这个矢量绘图工具用得出神入化,并且非常成功 ...
- MAC下安装Fiddler抓包工具
需求 我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles.但是这个只能抓代理的数据包.但是有时候想要调试本地网卡的数据库 Charles 就没办法了.就想到了在windows下面的一个F ...
- Mac下Supervisor进程监控管理工具的安装与配置
Supervisor是一个类 unix 操作系统下的进程监控管理工具. Supervisor是由 Python 写成,可用 Python 的包安装管理工具 pip(Python Package Ind ...
- MAC下调试JSON接口的工具(HTTP抓包工具)
MAC下的HTTP接口抓包工具,专业级: 专门做JSON接口测试的工具,简单好用!
- 【MAC】Mac下部分常用的小工具
Homebrew: 官方介绍:The missing package manager for OS X(OS X 不可或缺的套件管理器) /usr/bin/ruby -e "$(curl - ...
- Mac下替代Total Commander的工具推荐
[推荐]:Nimble Commander 轻量小巧,免费版与收费版区别不大,比较稳定,支持sftp等其他网络存储,支持自定义热键,预览等. http://magnumbytes.com/ [其他]: ...
- Mac下使用Wine安装正则表达式工具RegexBuddy 4
下载: (链接: https://pan.baidu.com/s/1bzRae6 密码: b5d3) 安装: 1.安装Wine 参考:http://www.cnblogs.com/EasonJim/p ...
随机推荐
- ORA-16014: 日志 1 的序列号 242 未归档, 没有可用的目的地
SQL> alter database open; *第 1 行出现错误:ORA-16014: 日志 1 的序列号 242 未归档, 没有可用的目的地ORA-00312: 联机日志 1 线程 1 ...
- Java反射 - 3(动态代理)
动态代理是对包装模式的升级,可以动态的传入需要代理的对象实现代理 准备如下 1. 被代理类的接口 2.被代理类 3.处理器:InvocationHandler 4.代理调用:Proxy.newInst ...
- 武汉科技大学ACM :1002: 零起点学算法38——求阶乘和
Problem Description 输入一个正整数n(n<=10),计算 S=1!+2!+3!+...+n! Input 输入一个正整数n(n<=10)(多组数据) Output 输出 ...
- Helloworld和程序员人生
转:Helloworld和程序员人生 高中时期 10 PRINT "HELLO WORLD" 20 END 大学新生 program Hello(input, output) be ...
- Ubuntu小私房(4)--Linux系统目录结构
Linux目录结构是Linux学习者必须了解的知识,Linux的目录与Windows又有很大的不同,所以搞清楚Linux目录结构是关键. Linux文件类型 (部分转自ChinaBytel) linu ...
- jq事件绑定
有些时候我们在页面中会动态的添加一下dom结构,当我们想要给这些结点添加事件时需要在此节点绑定一系列的操作. <a href="#" onclick="addBtn ...
- em px 简单换算
大部分的网页设计者在CSS代码编写中总是先对整体定义字体尺寸,中文情况下一般为12px,而其实这样以来在通过IE顶部菜单中的“察看-文字大小”设置已无任何 作用.对字体感觉太小的浏览者而言无疑是种很不 ...
- 导出函数结构 EXPORT_DIRECTORY
typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; //输出表的创建时间 WORD ...
- javaWeb实现使用邮箱邮件找回密码功能
JSP+Jmail+JavaBean 发邮件(转)2010-08-23 18:052007年04月14日 14:32/* * SendMail.java * * Created on 2007年3月3 ...
- BZOJ3564 信号增幅仪
http://www.lydsy.com/JudgeOnline/problem.php?id=3564 思路:先旋转坐标系,再缩进x坐标,把椭圆变成圆,然后做最小圆覆盖. 还有,为什么用srand( ...