How can I use new modern NTFS driver that has been introduced in kernel 7.2?

Looks like Fedora dropped NTFS3 driver in favor of new modern NTFS driver (though idk why it is still there in kernel 7.2 and I still can use it)

~ > ls -1 /lib/modules/$(uname -r)/kernel/fs | grep -i ntfs
ntfs3
~ > uname -r
7.2.5-200.fc44.x86_64
~ >

Anyway, how can I use the new one?

okay I upgraded to 7.2.6 and I couldn’t use ntfs3 flag in fstab anymore, set it to auto and it will fallback into fuseblk/ntfs-3g. How can I use the new one?

turns out that the ntfs module itself isn’t running automatically so I need to call it with modprobe, but even tho I did it and add ntfs flag in fstab, my drive is still running with fuseblk (doesn’t matter if the ntfs module turns on or off, adding ntfs flag in fstab is useless since both will use fuseblk).

I can’t remove ntfs-3g package since it will remove dracut-live which I think isn’t good..

dracut-live is used for Live images.

$ dnf info dracut-live
Available packages
Name           : dracut-live
Epoch          : 0
Version        : 108
Release        : 8.fc44
Architecture   : x86_64
Download size  : 27.7 KiB
Installed size : 40.6 KiB
Source         : dracut-108-8.fc44.src.rpm
Repository     : updates
Summary        : dracut modules to build a dracut initramfs with live image capabilities
URL            : https://github.com/dracut-ng/dracut/wiki/
License        : GPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-2.0-only
Description    : This package requires everything which is needed to build an
               : initramfs with dracut, with live image capabilities, like Live CDs.
Vendor         : Fedora Project

It’s just something that was incidentally added to your system because you installed it from a Live image. Unless you are building your own Live images, you don’t need it.

ok I deleted ntfs-3g and yea it works. But why I need to delete it? are those conflict each other?

Apparently so. I don’t know. I don’t use that driver. If I wanted to investigate, I would reinstall the ntfs-3g package and then run rpm -ql ntfs-3g to see what system files and configuration files it adds. That command will also list documentation files (README files and man pages) that might contain some hints about using it in conjunction with other NTFS filesystem drivers.

Is there I can do beside deleting ntfs-3g? Probably just disabling it?

Removing it from your system is probably the best thing to do. You really shouldn’t mix and match different implementations of the filesystem driver with a single filesystem. Subtle differences could cause filesystem corruption and data loss. Even alternating between the Linux driver and the native MS Windows driver is risky. (At least, it used to be. If the new implementation is a 1-to-1 copy of the native MS Windows driver, then maybe it isn’t as risky as it used to be.)

good to know.

7.2.6 where the new ntfs module begins is still testing tho, prob they will change things in the future, idk. I’ll just use 7.2.5 rn.

There’s a ton of dependencies so ntfs-3g stays:

$ LANG=C sudo dnf remove ntfs-3g
Package                                               Arch         Version                                               Repository                         Size
Removing:
 ntfs-3g                                              x86_64       2:2026.2.25-1.fc44                                    updates                       319.8 KiB
Removing dependent packages:
 dracut-live                                          x86_64       0:108-8.fc44                                          updates                        40.6 KiB
 virt-win-reg                                         noarch       0:1.56.0-1.fc44                                       updates                        47.9 KiB
Removing unused dependencies:
 dhcpcd                                               x86_64       0:10.3.2-1.fc44                                       updates                       512.7 KiB
 gdisk                                                x86_64       0:1.0.10-5.fc44                                       fedora                        790.2 KiB
 hexedit                                              x86_64       0:1.6-10.fc44                                         fedora                         77.7 KiB
 hivex-libs                                           x86_64       0:1.3.24-13.fc44                                      fedora                         88.7 KiB
 libconfig                                            x86_64       0:1.8.2-2.fc44                                        fedora                        244.6 KiB
 libguestfs                                           x86_64       1:1.60.1-2.fc44                                       updates                         4.0 MiB
 libguestfs-appliance                                 x86_64       1:1.60.1-2.fc44                                       updates                         3.3 MiB
 libldm                                               x86_64       0:0.2.5-3.fc44                                        fedora                        136.5 KiB
 lsscsi                                               x86_64       0:0.32-15.fc44                                        fedora                        124.6 KiB
 ntfs-3g-system-compression                           x86_64       0:1.1-2.fc44                                          fedora                         47.8 KiB
 perl-Sys-Guestfs                                     x86_64       1:1.60.1-2.fc44                                       updates                         1.1 MiB
 perl-hivex                                           x86_64       0:1.3.24-13.fc44                                      fedora                         90.1 KiB
 perl-libintl-perl                                    x86_64       0:1.35-4.fc44                                         fedora                          4.1 MiB
 squashfs-tools                                       x86_64       0:4.6.1-8.fc44                                        fedora                        661.3 KiB
 supermin                                             x86_64       0:5.3.5-8.fc44                                        fedora                          2.2 MiB
 syslinux                                             x86_64       0:6.04-0.37.fc44                                      updates                         1.0 MiB
 syslinux-extlinux                                    x86_64       0:6.04-0.37.fc44                                      updates                       209.3 KiB
 syslinux-extlinux-nonlinux                           noarch       0:6.04-0.37.fc44                                      updates                       982.3 KiB
 syslinux-nonlinux                                    noarch       0:6.04-0.37.fc44                                      updates                         1.8 MiB
 zerofree                                             x86_64       0:1.1.1-17.fc44                                       updates                        49.6 KiB

Transaction Summary:
 Removing:          23 packages

After this operation, 22 MiB will be freed (install 0 B, remove 22 MiB).

The kernel modules ntfs and ntfs3 are both present in 7.2.7 and 7.2.8. I don’t have 7.2.6 anymore.

At first the system refused to use ntfs3 in fstab and on the CLI and favored fusefs until I ran that to remove the dirty flag:

$ sudo ntfsfix -d /dev/sdb1
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdb1 was processed successfully.

Then the mount succeeded for the first time in months, if not years:

sudo mount -t ntfs3 -o rw,uid=1000,gid=1000 /dev/sdb1 /mnt/Jeux

β”‚ /mnt/Jeux  β”‚   1.8T β”‚   1.3T β”‚ 493.4G β”‚ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–Œ      73.5% β”‚ ntfs3 β”‚ /dev/sdb1        

instead of

β”‚ /mnt/Jeux  β”‚ 1.8T β”‚ 1.3T β”‚ 493.4G β”‚ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–Œ      73.5% β”‚ fuseblk β”‚ /dev/sdb1 
                              

I’m on kernel 6.12.54 LT at the moment so 7.2.8 will be tested tomorrow for ntfs module. It isn’t supported on 6.12.xx.

Most of those β€œunused dependencies” look pretty benign, but if you want to keep them, you can add --no-autoremove to your dnf remove command.

For people who might find this topic in the future, FYI, there are changes in the pipeline for how filesystem driver selection works:

As always, consult your installation’s man pages to know what configuration options and methods are applicable to your current installation.

The Changes are a lot nicer, but still more to come in.

lsmod | rg ntf
ntfs3                 397312  0

I would rather not even use it but the family on different devices, it’s needed for now.

─────┬────────────────────────────────────────────────────────────────────────────────────────────────────────
     β”‚ File: /etc/fstab
─────┼────────────────────────────────────────────────────────────────────────────────────────────────────────
   1 β”‚ 
   2 β”‚ #
   3 β”‚ # /etc/fstab
   4 β”‚ # Created by anaconda on Wed Sep 16 15:16:48 2026
   5 β”‚ #
   6 β”‚ # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
   7 β”‚ # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
   8 β”‚ #
   9 β”‚ # After editing this file, run 'systemctl daemon-reload' to update systemd
  10 β”‚ # units generated from this file.
  11 β”‚ #
  12 β”‚ UUID=36deac66-1c80-460e-8ed2-455b184268ae / btrfs subvol=root,compress=zstd:3 0 2
  13 β”‚ UUID=20ad4b5c-7675-44e9-8f86-f4d45e13cb30 /boot ext4 defaults 1 2
  14 β”‚ UUID=2253-26AB /boot/efi vfat umask=0077,shortname=winnt 0 2
  15 β”‚ UUID=36deac66-1c80-460e-8ed2-455b184268ae /home btrfs subvol=home,compress=zstd:3 0 2
  16 β”‚ UUID=2ABC9C07BC9BCC27 /media/My_Passport ntfs-3g options 0 0
─────┴────────────────────────────────────────────────────────────────────────────────────────────────────────

I dream of a day there is no NTFS…happy days. :wink:

Strange, i have ntfs3 in my fstab. I see you have ntfs-3g. Nevermind. If it ain’t broke, don’t fix it.

$ grep ntfs /etc/fstab|grep -v '#'
UUID=D6022A010111E6E9 /mnt/Jeux 	ntfs3 defaults,noatime,relatime,nodiratime,uid=1000,gid=1000,umask=0022,windows_names,nodev,nosuid,nofail 0 2

$ lsmod | rg ntf
ntfs3                 397312  1

I need to change it still…If I was to remove the ntfs-3g mod it wouldn’t mount at boot time.

A little more time to let all the goodness come in for the new driver.
Good catch that needed to be explained. :slight_smile:

IIUC, the β€œnew” new NTFS driver reuses the original driver’s name. To use the newest in-kernel implementation, I think you want to specify ntfs, not ntfs3. There were some comments about that in the GitHub PR I linked earlier.

Edit: Maybe the LWN article is the best place to get a clear update about the situation:

Correct. However, it results in a fuseblk mount with kernel 7.2.8
I think one should modprobe ntfs to prevent that from happening. However it failed here. Still fuseblk even though the module ntfs is loaded. Also reported there: How can I use new modern NTFS driver that has been introduced in kernel 7.2? - #5 by aleksandrdavid

See this post - How can I use new modern NTFS driver that has been introduced in kernel 7.2? - #12 by josevillani

The solution begins with At first the system refused to use ntfs3 in fstab and on the CLI and favored fusefs until I ran that to remove the dirty flag:

Replace sdb1 with your proper ntfs partition

Yep been there done that.
I have no dirty bits currently.
I’m leaving it as shown for now.
Thanks though. :slight_smile:

sudo ntfsfix -d  /dev/sdc1
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sdc1 was processed successfully.

I found the explanation why mount -t ntfs resulted in a fuseblk on a 7.2.8 kernel:

$ ls -l /usr/sbin/mount.ntfs
lrwxrwxrwx 1 root root 13  1 jun 20:00 /usr/sbin/mount.ntfs -> mount.ntfs-3g

$ sudo rm /usr/sbin/mount.ntfs

$ sudo mount -t ntfs -o defaults,noatime,relatime,nodiratime,uid=1000,gid=1000,umask=0022,windows_names,nodev,nosuid,nofail /dev/sdb1 /mnt/Jeux

β”‚ /mnt/Jeux β”‚ 1.8T β”‚ 1.3T β”‚ 493.4G β”‚ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–Œ 73.5% β”‚ ntfs β”‚ /dev/sdb1

No need to modprobe ntfs or to remove ntfs-3g so it stays there in case one requires it in the future.

Naturally, if you removed ntfs-3g package anyway, the symlink is already gone and the mount should succeed without further ado.

$ cat /proc/filesystems |grep -v nodev
	ext3
	ext2
	ext4
	btrfs
	fuseblk
	ntfs3
	ntfs