Browse All Articles > How to Mount an external NTFS formatted hard drive or USB stick with read AND write access in Linux
Title: How to mount an external hard drive formatted as NTFS to Linux with Read/Write capabilities . . . .difficulty - moderate. Time required - about 5 minutes
Author: Rich Johnson
mount: wrong fs type, bad option, bad superblock on /dev/sd**
If your like me or the numberless amount of people that have received this
error when trying to access your new external hard drive (formatted as
NTFS), despair not as there is a way around this. If you've done some
searching on forums you'll have probably noticed that most people are
resolute in their answer that Linux can only READ from an external (USB
based) hard drive formatted as NTFS, but cannot write. This is not true.
Here's how you do it.
This process includes editing your fstab file located in the /etc
directory. As always, before editing this file (or any system file) MAKE A
BACKUP!!! First of all, make sure you have the following packages installed
on your system:
I use openSuSE 11.0 Linux. This package was found in the openSUSE-11.0-Oss
repository. It was also installed by default in openSuSE 11.0, so you may
not even need to install it. Now, with root user privileges, create a mount
point for your external drive in the /mnt directory. I named my folder
# mkdir /mnt/ext_drive
You then need to give all users read and write permissions to this folder.
This way after you mount your drive you can write files to it! You can do this
via the command line very easily, or you can sign in as root, right click on the
folder you created and set permissions for all users to read and write and on
all sub directories.
Next, plug the drive in and find out the device ID. I did this by opening
Konquerer, and going to /dev/disk/by-id. In here you will see all of your
drives by ID. locate your external drive, it should be easily
identifiable. I have a Seagate external drive and I found several Seagate
entries. Locate the one with "part1" at the end. Mine looked like this:
Copy this name. Next, you need to edit the fstab file to make Linux mount
the thing on boot up. I used kate file editor to edit the file, you may use
vi or any other text editor. Still with root privileges, edit the fstab
file: (MAKE A BACKUP!!!!)
# kate /etc/fstab
Add the following line, changing the device ID line that you copied in the
last step to your device ID:
Restart your computer and it should now be mounted and you should have
read/write access to it. The only downside to this method is it will ALWAYS
mount it, even if its not plugged in, so if you look at sysinfo:/ in
Konquerer, you will see the drive there, if you click on it you will get an
error. That's OK with me. If you know of a better way to do this, please
email me at unassassinable at gmail dot com.
Because this method uses the fstab file, you need to have the drive plugged
in at boot time. If it is not plugged in when you boot into Linux, you will
receive the error "Permission denied".