读写NTFS不求人:自制原生挂载小程序

  1. #!/bin/bash
  2. dev=`df|tail -1`
  3. volume=`echo ${dev##*%   }|sed ‘s/\ /\\\ /g’`
  4. dev=${dev%% *}
  5. diskutil info $dev|grep NTFS>/dev/null
  6. if [ $? -ne 0 ] ; then
  7.         echo “最近挂载的磁盘:$volume 不是 NTFS 磁盘! 按 Return 键退出”
  8.         read
  9. else
  10.         diskutil umount $volume>/dev/null
  11.         echo “请输入用户 ${USER} 的密码”
  12.         sudo mkdir $volume
  13.         sudo mount -t ntfs -o rw,auto,nobrowse $dev $volume>/dev/null 2>&1
  14.         if [ $? -ne 0 ] ; then
  15.                 #ref:http://apple.stackexchange.com/a/170011
  16.                 echo “磁盘需要在Windows上经过检查、修复才能挂载为可写!”
  17.                 echo “按 Return 键退出”
  18.                 sudo umount $volume>/dev/null 2>&1
  19.                 sudo rm -r $volume
  20.                 read
  21.                 exit
  22.         fi
  23.         open $volume
  24.         echo “按 Return 键卸载 $volume”
  25.         read
  26.         until sudo umount $volume
  27.         do
  28.                 echo “请先关掉正在占用 $volume 的程序,然后按 Return 键卸载 $volume”
  29.                 read
  30.         done
  31. fi
  32. exit

复制代码

将上面的代码存到一个文本文件中,给文件起个名,比如:ntfs.sh。然后将 ntfs.sh 保存到spotlight能够搜到的地方,比如“应用程序”文件夹。然后打开“终端”应用,执行如下命令:

  1. chmod +x /Applications/ntfs.sh   #给“应用程序/ntfs.sh”加可执行权限

复制代码

用法:每次新插入ntfs磁盘、u盘时,在spotlight中搜索文件名 ntfs.sh,选中 ntfs.sh 回车运行。

原理:判断最新插入的存储设备是否ntfs分区格式,若是则调用mac原生ntfs驱动,挂载成可写分区。
注意:1.磁盘名称不能有空格!
2.若提示:磁盘需要在Windows上经过检查、修复才能挂载为可写! 是因为磁盘经受过强制拔出,导致文件系统变脏,不能挂载为可写。解决办法:直接拔下磁盘,找个Windows电脑或虚拟机,使用Windows自带的磁盘工具检查并修复磁盘。

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注