Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Mac OS Mount RW NTFS

Write to NTFS support MacOS

1. Get the partition UUID

Connect the external drive to MacOS. It should mount read-only. Start "System Information", clic on Hardware -> Storage, select your drive in the list and copy its UUID.

Another way to get the UUID is to use the diskutil CLI tool:

~$ diskutil list 
~$ distutil info diskXsY

where diskXsY is the ID found with the list command.

2. Create a /etc/fstab

Start a terminal and open/create /etc/fstab (you'll need root powers), and add:

UUID=<THE UUID YOU COPIED> none ntfs rw,auto,nobrowse

If the device does not appear on step 4., you can replace the UUID by the partition LABEL.

3. Mount the drive

Unmount and remount the drive.

4. Browse to the drive

In Finder, press cmd-shift-g and type /Volumes/ in the popup. Press enter, and voila. You are on your drive.

If your drive does not appear, start the Console app and look for the NTFS log telling you the drive is unclean. If it exists, you must connect the harddrive to a windows PC and unmount it properly before this works.

@mteguhfh
Copy link

mteguhfh commented May 27, 2021

Still cannot write

@taronaeo
Copy link

taronaeo commented Jun 7, 2021

Verified working. After remounting, the drive will not appear in Finder but only in /Volumes/. You must specifically do

sudo ln -s /Volumes/DRIVE_NAME ~/Desktop/DRIVE_NAME && open ~/Desktop/DRIVENAME

if you want to use it outside of /Volumes folder.

@lovepocky
Copy link

lovepocky commented Jun 23, 2021

assume the partition name is disk2s1

sudo umount /Volumes/{origin name}
sudo mkdir /Volumes/disk2s1
sudo mount -t ntfs -o rw,auto,nobrowse /dev/disk2s1 /Volumes/disk2s1
open /Volumes/disk2s1

@MagnetonBora
Copy link

MagnetonBora commented Jun 30, 2021

assume the partition name is disk2s1

sudo umount /Volumes/{origin name}
sudo mkdir /Volumes/disk2s1
sudo mount -t ntfs -o rw,auto,nobrowse /dev/disk2s1 /Volumes/disk2s1
open /Volumes/disk2s1

Thanks

@Esarve
Copy link

Esarve commented Jul 8, 2021

assume the partition name is disk2s1

sudo umount /Volumes/{origin name}
sudo mkdir /Volumes/disk2s1
sudo mount -t ntfs -o rw,auto,nobrowse /dev/disk2s1 /Volumes/disk2s1
open /Volumes/disk2s1

@lovepocky dumb question: do i have to run these command on every boot?

@taronaeo
Copy link

taronaeo commented Jul 9, 2021

@lovepocky dumb question: do i have to run these command on every boot?

@Esarve yes you have to. Unless you want to edit the /etc/fstab file to automatically do the above on every boot for you.

@Esarve
Copy link

Esarve commented Jul 9, 2021

@lovepocky dumb question: do i have to run these command on every boot?

@Esarve yes you have to. Unless you want to edit the /etc/fstab file to automatically do the above on every boot for you.

@taronaeo I only followed the instructions in the gist and It works for me. Didn't need to add these extra lines mentioned in the comments above

@taronaeo
Copy link

taronaeo commented Jul 9, 2021

@lovepocky dumb question: do i have to run these command on every boot?

@Esarve yes you have to. Unless you want to edit the /etc/fstab file to automatically do the above on every boot for you.

@taronaeo I only followed the instructions in the gist and It works for me. Didn't need to add these extra lines mentioned in the comments above

@Esarve lovepocky demonstrated another way of mounting the drive as RW which did not involve editing the /etc/fstab.

You asked if you have to run the command on every boot (and did not mention the fstab file), to which is a yes. And as I have mentioned earlier, editing the /etc/fstab file works as well and will ensure consistent settings even after a reboot.

@abdennour
Copy link

abdennour commented Jul 24, 2021

let's say your volume origin name (ls -l /Volumes) is MPassport.

disk_name=$(diskutil list | grep -i passport | awk '{print $6}')

then:

origin_name=MPassport
sudo umount /Volumes/${origin_name}
sudo mkdir /Volumes/${disk_name}
sudo mount -t ntfs -o rw,auto,nobrowse /dev/${disk_name} /Volumes/${disk_name}
open /Volumes/${disk_name}

@TelBDS
Copy link

TelBDS commented Mar 13, 2022

Still cannot write

use "sudo nano" , is OK!

@shivank26
Copy link

shivank26 commented Apr 4, 2022

Even after adding those lines to /etc/fstab I am not able to mount the volume in RW.
Do I need to put UUID in quotes i.e (" ") or any other format?

Currently on MacOS 12.3

@boyuanzhang62
Copy link

boyuanzhang62 commented Apr 10, 2022

After I did the whole bunch of things above the drive is still showing in my desktop. And after I went into /Volumes/mydrive I still can't write files into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment