Solved ntfs-3g vs mount -t ntfs-3g

Hi,

I have installed fuse and ntfs-3g port on my 10-Stable. Everything works fine if I use
Code:
ntfs-3g /dev/ada2s1 /mnt/drive_d/
If I try to use
Code:
mount -t ntfs-3g /dev/ada2s1 /mnt/drive_d/ 
mount: /dev/ada2s1: Operation not supported by device

Obviously this happens because I don't have mount_ntfs-3g by default. I did soft link in /usr/sbin to ntfs-3g but it does not help.
My wish is to register this mount point at fstab, but I can't do it with ntfs-3g. May be I am doing something wrong? Have seen many guides where "mount -t ntfs-3g" is mentioned and the same number where "ntfs-3g" command is used. What are the difference between them? How can I add this mount point to fstab with ntfs-3g?

Regards,
Vadim.
 
Re: ntfs-3g vs mount -t ntfs-3g

I think in 10-stable you should install sysutils/ntfsprogs and use mount -t fuse.ntfs ...instead. Also, please remember to put
Code:
fuse_load="YES"
into /boot/loader.conf
 
Re: ntfs-3g vs mount -t ntfs-3g

ntfsprogs are not compatible with fuse-ntfs-3g. Neither of them are working from fstab. According to documentation both variants should work for fuse-ntfs-3g: with mount -t and with ntfs-3g. The only difference I can see now is fusefs at 10-RELEASE. I load it from /boot/loader.conf, but documentation says it should be loaded from rc.conf. FUSE is a part of the base system and as I understood can't be loaded as module from rc.conf. I will try to contact port maintainer to clarify the issue. Think it is a bug.
 
Re: ntfs-3g vs mount -t ntfs-3g

Searching forums I have found workaround to make mount work from fstab. Here it is:
Code:
/dev/ada2s1     /mnt/drive_d            fuse     rw,noauto,locale=ru_RU.UTF-8,mountprog=/usr/local/bin/ntfs-3g,late  0 0

Some tips:
  • 1. fuse must be loaded from /boot/loader.conf by fuse_load="YES"
    2. sysutils/fusefs-ntfs package must be installed
    3. read mount(8) to get more options
Some things that I found not worth to do:

  • 1. Switching between ntfsprogs and ntfs-3g caused my system to generate warnings about not-clean NTFS volume. Both worked well, but it seems ntfs-3g is more secure.
    2. Doing different soft links to ntfs-3g program (like ln -s `which ntfs-3g` /usr/sbin/mount_ntfs-3g) does nothing. If to read mount(8) carefully one can see, that mount_xxx will only work for pre-defined system types: cd9660, mfs, msdosfs, nfs, nullfs, oldnfs, smbfs, udf, and unionfs. This is true for me.
 
Some tips:
  • 1. fuse must be loaded from /boot/loader.conf by fuse_load="YES"
    2. sysutils/fusefs-ntfs package must be installed
    3. read mount(8) to get more options

I googled how to mount an external hard drive that is NTFS (windows) and ran across this chain.

I followed the directions in your post. I added the line to the loader.conf. This file was empty on my system. The file does exist, but is empty.

I added the line and rebooted. I the tried to mount the drive as follows: #mount -t ntfs /dev/da0 /mnt with no success. I also tried da0s1. any suggestions? I am using version 11
 
I googled how to mount an external hard drive that is NTFS (windows) and ran across this chain.

I followed the directions in your post. I added the line to the loader.conf. This file was empty on my system. The file does exist, but is empty.

I added the line and rebooted. I the tried to mount the drive as follows: #mount -t ntfs /dev/da0 /mnt with no success. I also tried da0s1. any suggestions? I am using version 11
Well? Did you get any error messages? If so, I suggest you put them here, as very few (if any) people on these forums are mind readers.
Also, have you verified that the fuse kernel module is loaded?
Code:
root@kg-core1# kldstat | grep fuse
15    1 0xffffffff81dac000 e09b     fuse.ko
To figure out the names in /dev for any particular device (example da0) do ls /dev/da0*, this will show what your FreeBSD machine thinks about it.
 
First of all, the proper parameter to -t is ntfs-3g, not ntfs as Mr. Daxon wrote above. Second of all, if there is a successful entry in /etc/fstab ("successful" meaning that the filesystem mounts properly upon reboot), then to mount it manually you do not need to type a -t option at all, you can just type mount /mnt or mount /dev/da0 (or whatever the proper device name is, Mr. Daxon seemed to be unsure where his filesystem was located).
 
Sorry to revive this but anyone got this working? I can't seem to make my NTFS internal drive auto mount...tried everything but I can only manually mount it using:

Code:
ntfs-3g -o permissions /dev/ada1p2 /mnt
 
T_Tronix , how the command you provided is related to automount? I assume you have an entry in /etc/fstab.
In such case when mounting manually you should use either the device name or the mount point, not both, and no options ― otherwise it will be just a standalone command, unrelated to fstab.
You may try adding late option to it the corresponding line in /etc/fstab (although it's an internal drive).
 
I added this to /boot/loader.conf (this file was empty when I opened it to edit):
fuse_load="YES"

I used this code within /etc/fstab:
Code:
/dev/ada1p2     /mnt     ntfs   mountprog=/usr/local/bin/ntfs-3g,late,rw    0   0

But when I rebooted to test this out I got a bunch of errors...
 
But when I manually did ntfs-3g -o permissions /dev/ada1p2 /mnt
It mounted, this drive was on my Windows PC as a secondary drive, I have all my media content on it. It is NTFS. When I do gpart list, that drive has type: ms-basic-data and not NTFS.
 
And what was the solution?
I have
Code:
# mount -t ntfs-3g /dev/da0s1 /mnt/yury/
mount: /dev/da0s1: Operation not supported by device
# ntfs-3g /dev/da0s1 /mnt/yury/
#
 
Just updating this for posterity, as of FreeBSD-13 CURRENT.

The current preferred method for loading the fuse kernel module is in /etc/rc.conf with kld_list="module_foo module_bar fusefs". Note that the module name is now fusefs and not simply fuse.

The fstab mounting option mountprog=/usr/local/bin/ntfs-3g is needed to mount the drive via fstab. This is mentioned above, but is in a sidescrolling text box which I missed reading until just now.

The readme file for ntfs in /usr/local/share instructs you to make a soft link at mount_ntfs-3g pointing to /usr/local/bin/ntfs-3g. This does not work.
 
Back
Top