引言
macOS可以读取但不支持直接写ntfs格式的磁盘,有些付费工具可以解决该问题,如paragon ntfs 和 tuexera ntfs,但正版价格昂贵。
以下介绍威锋论坛中大神原创方法,如有侵权,请联系删除!
方法
1.新建ntfs.sh如下:
#!/bin/bash
dev=`df|tail -1`
volume=`echo ${dev##*% }|sed 's/\ /\\\ /g'`#获取新插入磁盘
dev=${dev%% *}
diskutil info $dev|grep NTFS>/dev/null
if [ $? -ne 0 ] ; then
echo "最近挂载的磁盘:$volume 不是 NTFS 磁盘! 按 Return 键退出"
read
else
diskutil umount $volume>/dev/null
echo "请输入用户 ${USER} 的密码"
sudo mkdir $volume
sudo mount -t ntfs -o rw,auto,nobrowse $dev $volume>/dev/null 2>&1
if [ $? -ne 0 ] ; then
#ref:http://apple.stackexchange.com/a/170011
echo "磁盘需要在Windows上经过检查、修复才能挂载为可写!"
echo "按 Return 键退出"
sudo umount $volume>/dev/null 2>&1
sudo rm -r $volume
read
exit
fi
open $volume
echo "按 Return 键卸载 $volume"
read
until sudo umount $volume
do
echo "请先关掉正在占用 $volume 的程序,然后按 Return 键卸载 $volume"
read
done
fi
exit
2.(切换到ntfs.sh目录下)执行以下命令,给ntfs.sh加可执行权限
chmod +x ./ntfs.sh
用法:
每次新插入ntfs磁盘、u盘时,在spotlight中搜索文件名 ntfs.sh,选中 ntfs.sh 回车运行(前提是.sh文件的默认打开方式是“终端“)。
原理:
判断最新插入的存储设备是否ntfs分区格式,若是则调用mac原生ntfs驱动,挂载成可写分区。
注意:
1.磁盘名称不能有空格!
2.若提示:磁盘需要在Windows上经过检查、修复才能挂载为可写! 是因为磁盘经受过强制拔出,导致文件系统变脏,不能挂载为可写。解决办法:直接拔下磁盘,找个Windows电脑或虚拟机,使用Windows自带的磁盘工具检查并修复磁盘。
3.解决读ntfs盘中文件遇到错误:项目“XXX”已被 OS X 使用,不能打开
。实际是文件的读写权限中被加上了一个@附加属性,执行xattr -c *.mp4
清除@属性后即可打开