macOS High Sierra上使用 ntfs-3g读取 NTFS 格式磁盘 | 石尧的博客

使用开源方案ntfs-3g解决macOS挂载NTFS只读的问题

[](#%E5%AE%89%E8%A3%85-brew "安装 brew")安装 brew

普通用户下:

1

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

[](#%E5%AE%89%E8%A3%85-osxfuse-%E5%B7%A5%E5%85%B7 "安装 osxfuse 工具")安装 osxfuse 工具

1

$ brew cask install osxfuse

注,不安装 osxfuse 直接安装 ntfs-3g 会有以下报错:

1
2
3
4
5
6

ntfs-3g: OsxfuseRequirement unsatisfied!
You can install with Homebrew-Cask:
brew cask install osxfuse
You can download from:
https://osxfuse.github.io/
Error: An unsatisfied requirement failed this build.

[](#%E5%AE%89%E8%A3%85-ntfs-3g "安装 ntfs-3g")安装 ntfs-3g

1

$ brew install ntfs-3g

[](#%E6%9F%A5%E7%9C%8B-windows-%E5%88%86%E5%8C%BA "查看 windows 分区")查看 windows 分区

1
2
3
4
5
6
7
8
9
10
11
12

$ diskutil list

……

/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *320.1 GB disk3
1: Windows_NTFS 104.9 MB disk3s1
2: Windows_NTFS 78.5 GB disk3s2
3: Windows_NTFS 78.6 GB disk3s3
4: Windows_NTFS 78.6 GB disk3s5
5: Windows_NTFS 84.1 GB disk3s6

[](#%E5%B0%86-windows-%E5%88%86%E5%8C%BA%E6%8C%82%E8%BD%BD%E8%87%B3-macOS "将 windows 分区挂载至 macOS")将 windows 分区挂载至 macOS

这里只挂载disk3s2、disk3s3、disk3s5、disk3s6这四个分区,分别对应 Windows 系统的 C、D、E、F 盘,挂载点分别为/Volumes下的 System、Documents、Downloads、Tools

1
2
3
4
5

$ sudo mkdir -p /Volumes/{System,Documents,Downloads,Tools}
$ sudo /usr/local/bin/ntfs-3g /dev/disk3s2 /Volumes/System -olocal -oallow_other
$ sudo /usr/local/bin/ntfs-3g /dev/disk3s3 /Volumes/Documents -olocal -oallow_other
$ sudo /usr/local/bin/ntfs-3g /dev/disk3s5 /Volumes/Downloads -olocal -oallow_other
$ sudo /usr/local/bin/ntfs-3g /dev/disk3s6 /Volumes/Tools -olocal -oallow_other

参考:https://github.com/osxfuse/osxfuse/wiki/NTFS-3G

[](#%E8%AE%BF%E9%97%AE-windows-%E5%88%86%E5%8C%BA "访问 windows 分区")访问 windows 分区

使用以上的命令执行挂载操作后,挂载点并不会在 Finder 上显示出来,但是通过 df 可以看到挂载点:

1
2
3
4
5
6
7
8
9

df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on

……

/dev/disk3s2 73Gi 73Gi 499Mi 100% 183749 589451 24% /Volumes/System
/dev/disk3s3 73Gi 71Gi 2.1Gi 98% 39749 2303375 2% /Volumes/Documents
/dev/disk3s5 73Gi 72Gi 1.6Gi 98% 5556 1694008 0% /Volumes/Downloads
/dev/disk3s6 78Gi 78Gi 872Mi 99% 2706 955830 0% /Volumes/Tools

可以在当前用户的桌面上创建软链接来访问:

1

$ sudo ln -sf /Volumes ~/Desktop/Volumes

下图:
[](https://opstrip.com/assets/blogImg/ntfs-3g.png)快捷方式访问
Volume 0/1/2/3分别代表System、Documents、Downloads、Tools

[](#%E5%90%8E%E8%AE%B0 "后记")后记

后来发现只要将 macOS 中的文件拷贝至挂载的 windows 分区就会报““访达”不能完成该操作,因为不能读取或写入“XXX”中的数据。(错误代码 -36)”
使用 cp 命令复制会报“cp: XXX: could not copy extended attributes to ./XXX: Operation not supported on socket” 的错误,但实际文件已经正确拷贝过去了。
查了下载 macOS 与 NTFS 之间进行文件交互的确会有这个问题,目前没找到很好的解决办法。


原网址: 访问
创建于: 2020-09-18 11:59:31
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论