How to Read/Write External Hard Drive / USB with NTFS on Mac OS X? (with Troubleshooting)
NTFS (New Technology File System) is a file system developed by Microsoft. FAT32, which is also commonly used, is another example of file system. They define and control how the data, or files, are stored and retrieved from a storage drive. However, Mac OS X supports NTFS read only, but not write, by default. There are software that can enable NTFS write. Yet, it is easy and free to enable the access by a few steps. Here is a complete guide.
1. Open “Terminal“.
There are 3 ways to open terminal.
- Open it via “Spotlight” on the top-right comer or “
Cmd + Space” (default short-cut key), and type “Terminal“.
- Another way is to open “Finder“, “Go to Folder…”
/Applications/Utilitiesand you should find “Terminal” there.
- Press “F4” >> open folder “Other” >> click the icon of Terminal
A new Terminal window should be prompted out. If you are a geek, I believe you need it quite often, keep it in Dock now~
2. Check your Hard Drive / USB Name.
You can simply check it by plugging it into your Mac and a new drive should shown on “Finder” or “Desktop“. The name appeared is the name of the hard drive.
Note: There MUST be NO space in the device name. If there is, go back to Windows and change it first. For example, it’s fine for “HDD-device” but not for “HDD device”
3. In “Terminal”, type the following command:
sudo echo "LABEL=DEVICE_NAME none ntfs rw, auto, nobrowse" >> /etc/fstab
Note: remember to change DEVICE_NAME into your Hard Drive Name
If you used Linux before, you may know some text editor like nano, vm, vim, etc. You can use them for editing
/etc/fstaband add the underlined part in it. Then, your Hard Drive is now mounted on Mac under the folder /Volumes and you can have NTFS write access now!
4. Create a Shoutcut
But it may be hard for you to find your hard drive now because it no longer appears on “Finder” or “Desktop“. This is because /Volumes is a hidden folder and your drive is mounted on it. You may type the following command to create a symbolic link to /Volumes on Desktop:
sudo ln -s /Volumes ~/Desktop/Volumes
Be careful that you need to unmount the device before disconnecting it, just right click on the device icon and choose “Eject“. If you can’t do so, you may try to re-login and eject again.
Disable NTFS write
If you no need NTFS write for the device anymore, just simply remove
/etc/fstabby the following command in Terminal:
sudo rm /etc/fstab
After enabling NTFS write, you may sometime find that your hard drive is disappeared if you plug in your external hard disk or USB stick, or the above guide don’t work for you. It is usually because you didn’t unmount it cleanly on Windows previously, which is caused by unsafe eject. This is because Mac has no fsck to repair problems on the NTFS volume to make the log file clean again. You can verify the problem by plugging in your storage drive and then, type the following command in Terminal:
A similar error message should be shown:
NTFS driver 3.11 [Flags: R/W].
NTFS volume name DEVICE_NAME, version 3.1.
NTFS-fs error (device /dev/disk1s1, pid 345): ntfs_system_inodes_get(): $LogFile is not clean. Mount in Windows.
NTFS-fs error (device /dev/disk1s1, pid 345): ntfs_mount(): Failed to load system files (error 30).
NTFS-fs error (device /dev/disk1s1, pid 345): ntfs_mount(): Mount failed (error 30).
- Plug the drive to Windows again and disconnect by “Safely Remove“.
- Restore the original backup by the command:
sudo mv /sbin/mount_ntfs.orig /sbin/mount_ntfs
Please reply if you encounter any problem or if I made any mistake.