I have a 20 GB NTFS volume that I was planning on using for a variety of purposes, including being readable by windows with little effort.

Unfortunately, for some reason, I cannot execute any files on the drive, even after following the answer here (I was able to mount the volume just fine, but the error persists).

How can I fix this?

Output from mount:

/dev/sda1 on / type ext4 (rw,errors=remount-ro)  
proc on /proc type proc (rw,noexec,nosuid,nodev)  
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)  
none on /sys/fs/cgroup type tmpfs (rw)  
none on /sys/fs/fuse/connections type fusectl (rw)  
none on /sys/kernel/debug type debugfs (rw)  
none on /sys/kernel/security type securityfs (rw)  
udev on /dev type devtmpfs (rw,mode=0755)  
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)  
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)  
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)  
none on /run/shm type tmpfs (rw,nosuid,nodev)  
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)  
none on /sys/fs/pstore type pstore (rw)  
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)  
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=daniel)  
  • So, you can't execute one file from the ntfs drive from Ubuntu, but you can execute the same file if you copy it on your home directory (~) in Ubuntu? – Radu Rădeanu Nov 6 '13 at 7:20
  • Correct, just can't be on the NTFS volume – soandos Nov 6 '13 at 7:33
  • Did you check and are you sure? If so, can you give as example what exe file has this problem? – Radu Rădeanu Nov 6 '13 at 7:40
  • @RaduRădeanu As sure as I can be. The example that I found is when attempting to compile clang from source, where the source and build dirs are on an NTFS volume. When I copied everything to the ext4 volume, it all worked. – soandos Nov 6 '13 at 8:09
  • None of those are NTFS, what is the mount point? – Braiam Nov 13 '13 at 0:51

You can configure it with a GUI, install:

sudo apt-get install ntfs-3g ntfs-config ntfsdocs

And then run it from the launcher (search for ntfs).

It will add your ntfs partitions to /etc/fstab so they're mounted on startup. You can choos having read/write access too.

  • I think this resolved the issue, however, I was unable to find nftsdocs. What is this? – soandos Nov 13 '13 at 0:56
  • Sorry my bad, it's called ntfsdoc. Anyway I think that package it's just the manuals for the ntfs utils so it should work the same without it. Glad it helped – animaletdesequia Nov 13 '13 at 23:40

The default umask for mounting NTFS does not allow execute, so I would add umask=0222 to your mount options

so based on the example in the link you followed:

mount -t ntfs -o fmask=0022,dmask=0000,uid=1000,gid=1000 DRIVE /media/vista

would become:

mount -t ntfs -o fmask=0022,dmask=0000,uid=1000,gid=1000,umask=0222 DRIVE /media/vista

Effectively, from the automatically mounted nfts partition I cannot run any executable. In this case the system mount it as:

/dev/sdc1 on /media/romano/IOMEGA type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)

I copied a executable in it and it did not work --- permission denied and it is impossible to add the "x" permission to the file.

One solution is manually mount the disk like this:

sudo mount -t ntfs-3g -o user,relatime,umask=0022,exec /dev/sdc1 /mnt

(this mount the filesystem owned by root, you can use uid=<your uid> to mount it as you, and you can add it to /etc/fstab to automatically mount it). Now it works:

(0)samsung-romano:/% file /mnt/trova
/mnt/trova: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically    linked (uses shared libs), for GNU/Linux 2.2.5, not stripped
(0)samsung-romano:/% /mnt/trova
Uso: trova [file di agenda] cosa
   file di default ./agenda
(0)samsung-romano:/% ls -lt /mnt/trova
-rwxr-xr-x 1 root root 14756 Nov 12 20:43 /mnt/trova

The bad thing is that now all files are executable. Probably this is impossible to solve, given that NTFS does not have the "executable bit" concept. If you do chmod -x /mnt/trova nothing happens.

Notice that the exec option in the mount command should be the last in the list, because a lot of options (user for example) has a default noexec embedded.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.