Linux – Fix NTFS Partition Not Showing in File Manager

linuxmountntfs

The internal hard disk on my computer has three NTFS Windows partitions (Win 7 main, boot, and recovery), and several Ext4 Linux Partitions (Mint and swap). I'm temporarily doing most of my work on an external hard disk running Debian Wheezy. All are selectable at boot via GRUB and everything works properly.

Debian does not mount NTFS partitions by default, so I've spent a few months rebooting into Windows when I've needed something on the Windows partition. That got old, so I finally got around to setting up Debian to load the NTFS partition.

Being relatively new to Linux, I loaded the ntfs-config utility, a GUI front end for us Windows wusses. It configured all of the NTFS partitions. The boot partition appeared in the file manager. However, the main Windows partition did not.

I then tried mounting the main partition manually, creating a mount directory and using the mount command. I got a message that it was already mounted. I did a mount listing and sure enough, there it was, mounted.

So the Windows boot and main partitions are both mounted but only the boot partition shows up in the drive list in the file manager. Supposedly, you can open a directory listing by double clicking on the mount directory, but doing that for the main Windows partition just produces an empty window.

Trying to research the problem produced numerous links to instructions to do what I did, and I could find nothing that describes a similar result after following the procedure.

As information, Mint came pre-configured to mount NTFS partitions and the main Windows partition does show up in the file manager there.

I'm not proficient enough with Linux to know what information might be diagnostic to include here (or how to get it). Can anyone suggest what I should be looking for to solve the problem?

Best Answer

Either go completely the ntfs-config route; completely the udev / udisks / systemd route (this functionality will vary depending on your distro and version); or completely the manual (/etc/fstab) route. Do not mix and match them; this only sets you up for confusion.

First, use a tool like gparted, parted or Disk Utility to understand the partition layout of your system. I have no idea what your actual drive letters and partition numbers are, but it's going to look something like this (number and path of partitions will vary):

  • /dev/sda1 => Windows boot (NTFS)
  • /dev/sda2 => Windows system (NTFS)
  • /dev/sda3 => Windows recovery (NTFS)
  • /dev/sda4 => extended partition (assuming you've formatted the disk as MBR)
  • /dev/sda5 => Mint boot partition (ext4?)
  • /dev/sda6 => Mint root partition (ext4?)
  • /dev/sda7 => Mint /home partition (ext4?)
  • /dev/sda8 => Mint swap

ntfs-config is not a particularly good tool compared to others, even several releases ago. I don't recommend it.

The other option is to manually write your /etc/fstab with the appropriate mount listings. This method will work fine and is reliable, and you should uninstall ntfs-config if you plan on doing this. The file format of fstab is very simple; read the manpage (google it). It's basically: where the partition is; where to mount it; what type of filesystem; then the options; then 0 0 (no need to worry about what those 0s are for). Each field is whitespace-delimited.

Another option, if you're using Gnome or KDE on modern Debian (Debian Wheezy or Testing or Unstable) is to let the file manager list the drives for you. This detection is done using the udisks daemon, assuming your distro has properly configured it and its dependencies (DBus). Your original problem seems to be that the drives don't necessarily always detect properly using udisks, perhaps because of filesystem errors that need to be resolved using ntfsfix or perhaps ntfs.fsck (again, this depends highly upon the exact version of the packages installed on your system, which in turn depends on the release of your distro).

Just don't try to mix and match all these different approaches. Either hard-code your mount points in /etc/fstab and ignore the udisks/gvfs-based autodetection in your file manager, or use (exclusively) your udisks-integrated file manager without installing ntfs-config (and clear out your NTFS mounts from /etc/fstab if you go this route).

I really can't recommend using ntfs-config for any reason, since people have reported problems with it that simply writing fstab by hand won't cause. A "dumb" user is more adaptable than a "smart" program.

Related Question