Kernel 5.15 : ntfs3 vs ntfs-3g
by burdi01 from LinuxQuestions.org on (#5RDRK)
Kernel 5.15 introduces the fully functional "ntfs3" driver. Earlier kernels only provided a read-only "ntfs" driver. Therefore most (all?) distributions provide the fuse-based fully functional "ntfs-3g" driver.
The problem with a fuse-based driver may be its performance. In many cases the ntfs-3g performance is acceptable, but e.g. I have a 240 Gb NTFS partition with many long directory/file names that grinds to a halt when copying the complete contents to an other NTFS partition. Copying that partition with the ntfs3 driver succeeds with a more than acceptable speed.
Assuming /dev/sda1 to be an NTFS partition and both drivers to be available the following commands can/should mount it:
Code:(1) mount /dev/sda1 /mnt
(2) mount -tauto /dev/sda1 /mnt
(3) mount -tntfs /dev/sda1 /mnt
(4) mount -tntfs3 /dev/sda1 /mnt
(5) mount -tntfs-3g /dev/sda1 /mntAsis (4) selects the ntfs3 driver, the other commands all select the ntfs-3g driver.
Some research highlights the /sbin/mount.ntfs symlink to /sbin/mount.ntfs-3g mount helper. As a test I removed/renamed that symlink *): (1), (2) and (3) failed with a "mount: /mnt: unknown filesystem type 'ntfs'" message.
I then created the /sbin/mount.ntfs executable script reading:
Code:#! /bin/sh
# mount.ntfs : catch {,-tauto,-tntfs} NTFS mounts
# ===============================================
# (c) DLCB 2/11-2021
exec mount -tntfs3 "$@"and lo and behold: (1), (2) and (3) now select the ntfs3 driver.
*) Note that the ntfs-3g package cannot be removed as of yet because it also embeds the ntfsprogs such as mkntfs and ntfsresize.
The problem with a fuse-based driver may be its performance. In many cases the ntfs-3g performance is acceptable, but e.g. I have a 240 Gb NTFS partition with many long directory/file names that grinds to a halt when copying the complete contents to an other NTFS partition. Copying that partition with the ntfs3 driver succeeds with a more than acceptable speed.
Assuming /dev/sda1 to be an NTFS partition and both drivers to be available the following commands can/should mount it:
Code:(1) mount /dev/sda1 /mnt
(2) mount -tauto /dev/sda1 /mnt
(3) mount -tntfs /dev/sda1 /mnt
(4) mount -tntfs3 /dev/sda1 /mnt
(5) mount -tntfs-3g /dev/sda1 /mntAsis (4) selects the ntfs3 driver, the other commands all select the ntfs-3g driver.
Some research highlights the /sbin/mount.ntfs symlink to /sbin/mount.ntfs-3g mount helper. As a test I removed/renamed that symlink *): (1), (2) and (3) failed with a "mount: /mnt: unknown filesystem type 'ntfs'" message.
I then created the /sbin/mount.ntfs executable script reading:
Code:#! /bin/sh
# mount.ntfs : catch {,-tauto,-tntfs} NTFS mounts
# ===============================================
# (c) DLCB 2/11-2021
exec mount -tntfs3 "$@"and lo and behold: (1), (2) and (3) now select the ntfs3 driver.
*) Note that the ntfs-3g package cannot be removed as of yet because it also embeds the ntfsprogs such as mkntfs and ntfsresize.