经常在不同系统间复制文件的童鞋相信对移动硬盘和U盘的分区格式头痛不已, 特别是windows, Linux, Mac三个系统之间互相传东西, 真要跪了.选用哪种格式就很头疼.!(╯‵□′)╯︵┻━┻..
为了照顾其他同学,万恶的 windows是要支持的, 自己用Mac, Linux, 当然也要支持. 这样NTFS,fat32, exfat
就是仅有的几个选择了. 当然,你可以让windows 支持 ext 或者 HFS, 但是别人没有装专门软件的情况, 的确是个问题. exfat 不考虑. fat32 不支持大文件, 只能选择NTFS了.
linux 对 ntfs 的支持还不错, 但是 Mac 默认只能以只读方式挂载分区. 为了支持对其写入, 我们可以使用 Paragon NTFS, 但是仅仅为了这一点功能却花费几十刀, 想想就心疼. 或者可以使用开源的 ntfs-3g
, 不过使用体验不好.
其实 Mac 本身的 mount_ntfs
是支持可读写挂载分区的. 只是被隐藏了而已.(难道 APPLE 你非要这么傲娇嘛,凸(艹皿艹 ).
开始之前, 先对mount_ntfs
作备份.
sudo cp /sbin/mount_ntfs /sbin/mount_ntfs.old
我们再写一个脚本 mount_ntfs
看看 mac 是如何挂载分区的.
#!/bin/bash -
echo $0 $* >/Users/dark/mount.log
然后 复制到 原文件所在.
sudo cp mount_ntfs /sbin/mount_ntfs
插入一个ntfs分区的u盘, (这里好像会出现bug, 不用管它, ╮( ̄▽ ̄")╭),大致会在 mount.log
中看到如下的东东:
mount_ntfs -o nodev -o noowners -o nosuid /dev/disk2s1 /Volumes/DATA
其中, DATA
是你分区的 label (这里是我的), disk2s1
就是你分区所在. 这两个就是主要的参数. 好了, 然后我们写个有用的盗版 mount_ntfs
, 体换掉刚才的:
#!/bin/bash -
disk=$7
volume="$8"
mount_ntfs.old -o rw,auto,nobrowse $disk "$volume"
open "$volume"
### remember that go to /Volumes to umount disk by yourself.╮( ̄▽ ̄")╭
恩. 是的, 需要你自己进到 /Volumes
去卸载分区. 因为这个是不显示在Finder
侧边栏的. (两者好像是冲突的... 也真是不省心(╮( ̄▽ ̄")╭ 没办法~)
一个简洁版的mount_ntfs
就成了. 这样就可以自动挂载了, 可以尽情地调教你的分区了.o( ̄▽ ̄)o
卸载就手动进到/Volumes
卸载. 嗯~, 加上下面的函数你的 .bash_profile
或者.bashrc
中:
function untfs(){
if [[ $# -ne 1 ]]; then
echo "Usage: untfs Volume"
return 1
fi
volume="$1"
old=`pwd`
cd /Volumes
sudo umount "$volume"
if [[ $? -ne 0 ]]; then
echo "Error when umount "$volume"
open .
return 1
fi
cd "$old"
}
然后在终端运行:
untfs DATA
卸载NTFS分区. 没有卸载成功时, 便打开 /Volumes
让你手动卸载.
水水更健康╭(′▽`)╭(′▽`)╯.