问题描述
windows NTFS 格式的移动硬盘经常出现文件不能打开的情况,文件的颜色变浅,双击打开没有反应,右键打开方式,出现提示:项目 “xxx” 已被 OSX 使用,不能打开。如下图所示:
解决方案
解决方案分为两步:
安装 Mounty
正常的 NTFS 格式硬盘是无法从 mac 向其拷贝文件的,因为 mac 系统对其实只读权限,无法修改硬盘内部文件。而该软件的作用是将 NTFS 格式的移动硬盘挂载到 mac 系统上,使系统获得对硬盘的读写权限,便于我们修改硬盘内部的文件。
修改文件信息
安装好 Mounty 后,就可以将硬盘挂载到系统上,并使系统获得对其的读写权限了。
打开 terminal,输入 ls -l 文件名
查看文件权限,可以先输入ls -l
空格,然后直接将硬盘中的文件拖拽到 terminal 的该行尾部,回车。发现其权限为 -rwxr-xr-x@
最末尾的 @
即表示该文件被 mac osx 占用,如下图所示:
terminal 中输入 xattr -c 文件名
解除 osx 对文件的占用,此时重复上一步,将不会在权限里面出现@
。命令行如下图所示:
执行完这个命令后,文件就能正常打开了。这个方法需要安装 Mounty,对于不想安装 Mounty 的,可以通过命令行将硬盘挂载为读写模式,具体方法见下一部分。
挂载硬盘为读写模式
分为以下几步:
插入硬盘后,查看 /Volumes 下的文件,此时应该能发现两个硬盘,一个是系统的硬盘,另一个是插入的外接硬盘
输入
diskutil info /Volumes/硬盘名
查看 硬盘的Device Node
。我的是/dev/disk2s1
(以上两步也可以用diskutil list
查看,前提是能分辨出哪个是系统硬盘,哪个是刚插上的硬盘)弹出该硬盘
hdiutil eject /Volumes/硬盘名
,此时终端会输出"disk2" unmounted
以及"disk2" ejected
在
/Volumes/
下创建一个目录,稍后将硬盘文件挂载到这个目录上sudo mkdir /Volumes/MYHD
将硬盘重新挂载到上面的目录中,并赋予读写权限
sudo mount_ntfs -o rw,nobrowse /dev/disk2s1 /Volumes/MYHD/
此时可以进入
/Volumes/MYHD
目录,查看硬盘内部文件了通过终端进入挂载目录,输入
xattr -c 文件名
就可以解除osx 对文件的占用了,这一步和第一种方法相同。最后将硬盘弹出
hdiutil eject /Volumes/MYHD
,这个命令执行完后,MYHD 目录也会消失,省的你再删了。