Migrated to Ubuntu, my external NTFS Drive is now Read-Only [duplicate]

IF WINDOWS IS STILL INSTALLED:

First, log into Windows and disable fast startup.

Next, fully power down Windows completely and DO NOT hibernate. Make sure to completely power off.

Then, go into your BIOS settings and disable fastboot. Instructions for your make and model will vary so check with your computer manufacturer for the official documentation.

Finally, log into Windows again and then fully power down Windows completely and DO NOT hibernate. Make sure to completely power off.

When you log back into Ubuntu, you should be able to properly mount the NTFS partition without issue.


In order to access read write mode for your NTFS partition in Ubuntu, you will need to fully shut down windows as Ubuntu cannot access read write mode when the NTFS partition is in a hibernated state. This is because the hibernated state needs to be unchanged when it starts back up in Windows.

Fast boot and fast startup are essentially hibernated states so when these modes are enabled, the system will be hibernated when you attempt to fully shut down.

To summarize, you will need to fully shut down Windows before accessing your NTFS partition using Ubuntu because Ubuntu cannot access your NTFS partition while it is in a hibernated state.


IF WINDOWS IS NOT INSTALLED:

Now assuming you no longer have Windows installed, you will need to take a different approach. You should only follow this approach if Windows is no longer installed.

First, you will need to determine which device your NTFS partition is so run the following command:

lsblk -o NAME,FSTYPE,MOUNTPOINT | grep -i ntfs

This will output your device name which should be something like /dev/sda1 or /dev/sda2 or /dev/sdb1 or something else.

Next, you will need to unmount the drive if the drive is mounted so run the following command using the device name you found using the previous command. This example will use /dev/sda1 but you will need to use your device name instead.

sudo unmount /dev/sda1

Now, you can run ntfsfix using the device name instead of the directory mount point as you did earlier.

sudo ntfsfix /dev/sda1

The ntfsfix command needs a device name, not a mount point or directory name as you used earlier. It is often said that in linux based operating systems, "everything is a file" and this is a good example. Your partition has a device name and this device is located in /dev/. Certain commands need to use the device name instead of the mount point (the directory where that device is mounted).