NTFS

From Gentoo Wiki
Jump to: navigation, search
This page contains changes which are not marked for translation.

Not to be confused with NFS.

NTFS (New Technology File System) is a proprietary disk filesystem by Microsoft for Windows and Windows-based operating systems.

There are two primary methods to achieve NTFS support when using Linux. The kernel itself includes limited write support for the NTFS filesystem. This can be seen in the native support section below. There is also a FUSE filesystem driver called NTFS-3G that includes better write support. Because of this, most users who need NTFS support opt for the FUSE implementation over the rather limited built-in support.

Installation

Kernel

Be aware: as of November, 2017, the mainlined NTFS kernel driver has very limited functional support for NTFS. The kernel configuration information defines support as "partial, but safe". This driver can overwrite existing files but is not capable of file or directory creation, deletion, or renaming.[1] Most NTFS users will want to to enable the FUSE powered version.

Native support

KERNEL Enabling built-in NTFS (limited write support) via CONFIG_NTFS_RW
File systems  --->
    DOS/FAT/NT Filesystems  --->
        <*> NTFS file system support
        <*>   NTFS write support

FUSE support (NTFS-3G)

The following kernel options must be enabled for NTFS read/write capabilities over FUSE in Linux:

KERNEL Enabling NTFS over FUSE using NTFS-3G
File systems  --->
    <*> FUSE (Filesystem in Userspace) support

The sys-fs/ntfs3g package is also required (see the emerge section below).

USE flags

Because NTFS-3G is a FUSE-based filesystem, it requires user space utilities. It is currently the best implementation of NTFS for Linux and the only FUSE-based implementation available in the main Gentoo repository.

USE flags for sys-fs/ntfs3g Open source read-write NTFS driver that runs under FUSE

acl Add support for Access Control Lists global
debug Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces global
external-fuse Use external FUSE library instead of internal one. Must be disabled for unprivileged mounting to work. local
ntfsdecrypt Build and install the ntfsdecrypt application. local
ntfsprogs Include internal version of ntfsprogs. local
static-libs Build static versions of dynamic libraries as well global
suid Enable setuid root program, with potential security risks global
xattr Add support for extended attributes (filesystem-stored metadata) global

Emerge

After reviewing USE flags and making adjustments as necessary, install the FUSE user space tools in order to manipulate NTFS filesystems:

root #emerge --ask sys-fs/ntfs3g

Usage

Creation

Warning
The mkfs.ntfs command irreversibly destroys the contents of the partition it is told to format. Be sure to select the right partition before running this command!

To create an NTFS filesystem on the /dev/sda1 partition (needs ntfsprogs USE flag):

root #mkfs.ntfs /dev/sdyX

Please replace /dev/sdyX with the actual partition you want to format.

Mount

There are several ways to mount a NTFS filesystem:

See also

  • FAT - File Allocation Table filesystem. Originally created for Microsoft Windows.
  • ext4 - Extended file system version 4.
  • Btrfs - A copy-on-write B-tree filesystem with advanced features.
  • tmpfs - A filesystem that lives in dynamic memory (RAM).

External resources

  • https://cateee.net/lkddb/web-lkddb/NTFS_RW.html