How to mount a NTFS partition in /etc/fstab?
I have two partitions that I want to mount on startup:
/dev/sda3 /mnt/devel ext4 defaults 0 2
/dev/sda2 /mnt/excess ntfs defaults 0 2The ext4 partition mounts fine (owned by me, writable only by me), but the NTFS mounts owned by root with R\W permission for all.
How to fix this?
drwxr-xr-x 7 amanda amanda 4096 2012-03-14 19:07 devel
drwxrwxrwx 1 root root 4096 2012-03-14 22:38 excess 1 7 Answers
Permissions for ntfs and vfat file systems must be set with the dmask, fmask and umask options. dmask controls permissions for directories, fmask controls permissions for files, and umask controls both. Since these options set masks, they should be the complement of the permissions you want. For example, rwx for the owner and rx for others is 022 rather than 755.
To set the owner, use the uid and gid options for user and group, respectively. You can find your UID with the command id -u. To find your GID, use id -g. These values are both usually 1000.
A common set of mount options for ntfs is uid=1000,gid=1000,dmask=027,fmask=137. This sets you as the owner of the drive, and sets the permissions to drwxr-x---.
Here are two lines from my /etc/fstab working
UUID=EEA2B69CA2B668AB /WIN_C ntfs-3g defaults,nls=utf8,umask=000,dmask=027,fmask=137,uid=1000,gid=1000,windows_names 0 0
UUID=65AEC0E830EA0497 /WIN_D ntfs-3g rw 0 0If you get no visible error after rebooting and partitions stay readonly or you get an error similar to:
Error mounting /dev/sda6 at /media/WindowsDrive:
Command-line `mount -t "ntfs" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,dmask=0077,fmask=0177" "/dev/sda6" "/media/rolindroy/Media Center"' exited with non-zero exit status 14: The disk contains an unclean file system (0, 0).
Metadata kept in Windows cache, refused to mount.
Failed to mount '/dev/sda6': Operation not permitted The NTFS partition is in an unsafe state.
Please resume and shutdown Windows fully (no hibernation or fast restarting), or mount the volume read-only with the 'ro' mount optionThis is because Windows 8 and 10 offer a "Fast Startup" option that depends on a "non-complete" shutdown. You can disable fast startup by following these steps under "Power Options".
11If you mount the ntfs partition with the permissions option, then chmod / chown will work
/dev/sda2 /mnt/excess ntfs-3g permissions,locale=en_US.utf8 0 2You can then
sudo chown your_user:your_user /mnt/excessEasier then uid,dmask,fmask.
2I had some trouble with this because when I reboot the disk name changes... (sda0 to sdb2)
I fixed the problem by mounting them by UUID in the fstab, you can view the UUID for your harddrives by entering: sudo blkid
Make a back-up of your fstab file:
sudo cp /etc/fstab /etc/fstab.origMake sure you tripple check the >>, if you place one > you overwrite your fstab!
sudo blkid >> /etc/fstabIf you still screwed up you can replace your fstab with the original:
sudo cp /etc/fstab.orig /etc/fstabNext make a folder:
sudo mkdir /media/mydrivenameConfigure the fstab:
sudo vim /etc/fstabDon't forget to comment the output from the blkid with a '#' on the beginning of the lines!
Add this to the fstab file, you can find the UUID in the block on the bottom you inserted with the command above. media/mydrivename is where the partition should be mounted.
UUID=xxxxxxxxxxxxxxxxx /media/mydrivename ntfs permissions,locale=en_US.utf8 0 2This is my fstab file:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=5d4940cf-5cf5-443a-be11-1f7e551962d1 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda1 during installation
UUID=84b7e5e9-08c3-4641-b28b-99e0255e604d none swap sw 0 0
# 500 GB Webserver harddisk from lr-serv-01
UUID=BA9A48D39A488E37 /media/hdd1 ntfs permissions,locale=en_US.utf8 0 2
# 2 TB Movie share harddisk from lr-serv-01
UUID=7EB09666B09624A5 /media/hdd2 ntfs permissions,locale-en_US.utf8 0 2
#/dev/sda1: UUID="10EC004DEC003010" TYPE="ntfs"
#/dev/sda2: LABEL="system" UUID="88A4FE47A4FE3772" TYPE="ntfs"
#/dev/sda3: LABEL="storage_01" UUID="BA9A48D39A488E37" TYPE="ntfs"
#/dev/sdb1: LABEL="storage_02" UUID="7EB09666B09624A5" TYPE="ntfs"
#/dev/sdc1: UUID="84b7e5e9-08c3-4641-b28b-99e0255e604d" TYPE="swap"
#/dev/sdc2: UUID="5d4940cf-5cf5-443a-be11-1f7e551962d1" TYPE="ext4"
#/dev/sdd1: LABEL="storage_spotnet" UUID="EC6E8F416E8F0394" TYPE="ntfs"
#/dev/sdd2: LABEL="storage_backup_pcs" UUID="6C2699D026999BA0" TYPE="ntfs"
#/dev/sdd5: LABEL="storage_series" UUID="7670ABF770ABBC6D" TYPE="ntfs"
#/dev/sdd6: LABEL="storage_winmx" UUID="564AB81B4AB7F5B9" TYPE="ntfs" Reboot the system by typing:
sudo rebootTo check if the partition is mounted you can type df -k.
Give ownership to yourself:
sudo chown -R USERNAME:USERNAME /media/mydrivenameDid this on Ubuntu Server 14.04.01!
Hope this answer helps someone ;-)
5You can use ntfs-config GUI utility to mount NTFS partitions in fstab.
ntfs-3g driver is required to provide full read-write support for the NTFS partition and gksu to run NTFS Configuration GUI with root privileges.
sudo apt-get install ntfs-3g ntfs-config
sudo apt-get install gksuSearch for and open ‘NTFS Configuration Tool’ from the Unity Dash. In the window that appears select the partitions you want to configure. Here, I would prefer to have only my storage partition mounted. Just tick ‘Enable write support for internal device’.
NTFS-Config Utility will backup the original fstab file, so we can easily review the changes that were made by the application. To review the changes,
cat /etc/fstab-ntfs-config-save
cat /etc/fstab 0 I use the following that I find correctly gives me permissions upon mount (NTFS drive from a dual-boot system setup):
Edit /etc/fstab:
UUIDs can be found in /dev/disk/by-uuid/ (usually map to /dev/sd*)
Replace <your uuid> with your UUID
UUID=<your uuid> /mnt/e ntfs auto,users,uid=1000,gid=1000,dmask=027,fmask=137 0 0
Might not be a good solution , but you can always map user id to your own one , or the group id:
Just an example here , my user id was 1000
/dev/sda5 /mnt/excess ntfs defaults,uid=1000,rw 0 0
In that case , all files mounted owned by user ided 1000
2Note that if you mount your ntfs drive using a label and wish to be able to change the permissions of directories or files on this drive then the following works well (edit the /etc/fstab e.g. sudo nano /etc/fstab and then add):
LABEL=Portable_HD_2TB /media/mintbox2/Portable_HD_2TB ntfs permissions,defaults 0 2Whereas the below would NOT allow you to change permissions of directories or files:
LABEL=Portable_HD_2TB /media/mintbox2/Portable_HD_2TB ntfs defaults 0 2