问题背景

我想很多使用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分区的可写挂载的更多相关文章

  1. Mac 下安装Fiddler抓包工具

    需求 我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles.但是这个只能抓代理的数据包.但是有时候想要调试本地网卡的数据库 Charles 就没办法了.就想到了在windows下面的一个F ...

  2. python-web自动化-文件上传操作(非input标签的上传,需要借助第三方工具)

    文件上传操作 一.文件上传分两种情况:1. 如果是input可以直接输入路径的,可以直接调send_keys输入路径 2. 非input标签的上传,需要借助第三方工具:    2.1 Autolt 需 ...

  3. Mac 下的矢量图设计工具

    Mac 下的矢量图设计工具 一图胜千言.一张清晰的示意图无论对于系统设计,流程梳理,还是其他的方方面面,都非常重要. 曾经亲见一位老同事把 FreeHand 这个矢量绘图工具用得出神入化,并且非常成功 ...

  4. MAC下安装Fiddler抓包工具

    需求 我们都知道在Mac电脑下面有一个非常好的抓包工具:Charles.但是这个只能抓代理的数据包.但是有时候想要调试本地网卡的数据库 Charles 就没办法了.就想到了在windows下面的一个F ...

  5. Mac下Supervisor进程监控管理工具的安装与配置

    Supervisor是一个类 unix 操作系统下的进程监控管理工具. Supervisor是由 Python 写成,可用 Python 的包安装管理工具 pip(Python Package Ind ...

  6. MAC下调试JSON接口的工具(HTTP抓包工具)

    MAC下的HTTP接口抓包工具,专业级: 专门做JSON接口测试的工具,简单好用!

  7. 【MAC】Mac下部分常用的小工具

    Homebrew: 官方介绍:The missing package manager for OS X(OS X 不可或缺的套件管理器) /usr/bin/ruby -e "$(curl - ...

  8. Mac下替代Total Commander的工具推荐

    [推荐]:Nimble Commander 轻量小巧,免费版与收费版区别不大,比较稳定,支持sftp等其他网络存储,支持自定义热键,预览等. http://magnumbytes.com/ [其他]: ...

  9. Mac下使用Wine安装正则表达式工具RegexBuddy 4

    下载: (链接: https://pan.baidu.com/s/1bzRae6 密码: b5d3) 安装: 1.安装Wine 参考:http://www.cnblogs.com/EasonJim/p ...

随机推荐

  1. oracle 数据库开发面试题,当时笔试的时候一个没做出来,现附原题及答案

    1. ID123567810111215 表名tt,用sql找出ID列中不连续的ID,例如其中没有的4: --创建表及数据 CREATE TABLE tt(ID INTEGER); INSERT IN ...

  2. 沙盒操作的核心函数 - NSSearchPathForDirectoriesInDomains用法

    1. iPhone会为每一个应用程序生成一个私有目录,这个目录位于: /Users/sundfsun2009/Library/Application Support/iPhone Simulator/ ...

  3. 【转】Understanding and Using rem Units in CSS

    CSS units have been the subject of several articles here on SitePoint (such as A Look at Length Unit ...

  4. Php 基本语法

    php基本语法 1. 四种不同的开始结束标记 只有<?php ?>.<script language="php"></script>两个总是可用 ...

  5. pydev新工程

    http://www.cnblogs.com/linjiqin/p/3595891.html 明天再编辑一下

  6. C++ 约瑟夫环

    约瑟夫环: 已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1开始报数,数到m的那个人又出列:依此规律重复下去,直到圆桌周 ...

  7. Android中的动画

    Android中的动画分为: 1.逐帧动画(Frame Animation):  把动画过程的每张静态图片都收集起来,然后由Android来控制依次显示这些静态图片,然后利用人眼”视觉暂留“的原理,给 ...

  8. 使用开源word操作组件DocX的记录

    1.DocX简介 1.1 简介 DocX是一个在不需要安装word的情况下对word进行操作的开源轻量级.net组件,是由爱尔兰的一个叫Cathal Coffey的博士生开发出来的.DocX使得操作w ...

  9. 转:Qt编写串口通信程序全程图文讲解

    转载:http://blog.csdn.net/yafeilinux/article/details/4717706  作者:yafeilinux (说明:我们的编程环境是windows xp下,在Q ...

  10. synaptics驱动,插入USB鼠标禁用触控板注册表

    Title:synaptics驱动,插入USB鼠标禁用触控板注册表 --2010-11-01 22:21 记得以前用过一个synaptics的驱动,自带有插入USB鼠标禁用触控板的选项的,有些没有自带 ...