|
| 1 | +.. SPDX-License-Identifier: GPL-2.0 |
| 2 | +
|
| 3 | +================================= |
| 4 | +The Linux NTFS filesystem driver |
| 5 | +================================= |
| 6 | + |
| 7 | + |
| 8 | +.. Table of contents |
| 9 | +
|
| 10 | + - Overview |
| 11 | + - Utilities support |
| 12 | + - Supported mount options |
| 13 | +
|
| 14 | +
|
| 15 | +Overview |
| 16 | +======== |
| 17 | + |
| 18 | +NTFS is a Linux kernel filesystem driver that provides full read and write |
| 19 | +support for NTFS volumes. It is designed for high performance, modern |
| 20 | +kernel infrastructure (iomap, folio), and stable long-term maintenance. |
| 21 | + |
| 22 | + |
| 23 | +Utilities support |
| 24 | +================= |
| 25 | + |
| 26 | +The NTFS utilities project, called ntfsprogs-plus, provides mkfs.ntfs, |
| 27 | +fsck.ntfs, and other related tools (e.g., ntfsinfo, ntfsclone, etc.) for |
| 28 | +creating, checking, and managing NTFS volumes. These utilities can be used |
| 29 | +for filesystem testing with xfstests as well as for recovering corrupted |
| 30 | +NTFS devices. |
| 31 | + |
| 32 | +The project is available at: |
| 33 | + |
| 34 | + https://github.com/ntfsprogs-plus/ntfsprogs-plus |
| 35 | + |
| 36 | + |
| 37 | +Supported mount options |
| 38 | +======================= |
| 39 | + |
| 40 | +The NTFS driver supports the following mount options: |
| 41 | + |
| 42 | +======================= ==================================================== |
| 43 | +iocharset=name Character set to use for converting between |
| 44 | + the encoding is used for user visible filename and |
| 45 | + 16 bit Unicode characters. |
| 46 | + |
| 47 | +nls=name Deprecated option. Still supported but please use |
| 48 | + iocharset=name in the future. |
| 49 | + |
| 50 | +uid= |
| 51 | +gid= |
| 52 | +umask= Provide default owner, group, and access mode mask. |
| 53 | + These options work as documented in mount(8). By |
| 54 | + default, the files/directories are owned by root |
| 55 | + and he/she has read and write permissions, as well |
| 56 | + as browse permission for directories. No one else |
| 57 | + has any access permissions. I.e. the mode on all |
| 58 | + files is by default rw------- and |
| 59 | + for directories rwx------, a consequence of |
| 60 | + the default fmask=0177 and dmask=0077. |
| 61 | + Using a umask of zero will grant all permissions to |
| 62 | + everyone, i.e. all files and directories will have |
| 63 | + mode rwxrwxrwx. |
| 64 | + |
| 65 | +fmask= |
| 66 | +dmask= Instead of specifying umask which applies both to |
| 67 | + files and directories, fmask applies only to files |
| 68 | + and dmask only to directories. |
| 69 | + |
| 70 | +showmeta=<BOOL> |
| 71 | +show_sys_files=<BOOL> If show_sys_files is specified, show the system |
| 72 | + files in directory listings. Otherwise the default |
| 73 | + behaviour is to hide the system files. |
| 74 | + Note that even when show_sys_files is specified, |
| 75 | + "$MFT" will not be visible due to bugs/mis-features |
| 76 | + in glibc. Further, note that irrespective of |
| 77 | + show_sys_files, all files are accessible by name, |
| 78 | + i.e. you can always do "ls -l \$UpCase" for example |
| 79 | + to specifically show the system file containing |
| 80 | + the Unicode upcase table. |
| 81 | + |
| 82 | +case_sensitive=<BOOL> If case_sensitive is specified, treat all filenames |
| 83 | + as case sensitive and create file names in |
| 84 | + the POSIX namespace (default behavior). Note, |
| 85 | + the Linux NTFS driver will never create short |
| 86 | + filenames and will remove them on rename/delete of |
| 87 | + the corresponding long file name. Note that files |
| 88 | + remain accessible via their short file name, if it |
| 89 | + exists. |
| 90 | + |
| 91 | +nocase=<BOOL> If nocase is specified, treat filenames |
| 92 | + case-insensitively. |
| 93 | + |
| 94 | +disable_sparse=<BOOL> If disable_sparse is specified, creation of sparse |
| 95 | + regions, i.e. holes, inside files is disabled for |
| 96 | + the volume (for the duration of this mount only). |
| 97 | + By default, creation of sparse regions is enabled, |
| 98 | + which is consistent with the behaviour of |
| 99 | + traditional Unix filesystems. |
| 100 | + |
| 101 | +errors=opt Specify NTFS behavior on critical errors: panic, |
| 102 | + remount the partition in read-only mode or |
| 103 | + continue without doing anything (default behavior). |
| 104 | + |
| 105 | +mft_zone_multiplier= Set the MFT zone multiplier for the volume (this |
| 106 | + setting is not persistent across mounts and can be |
| 107 | + changed from mount to mount but cannot be changed |
| 108 | + on remount). Values of 1 to 4 are allowed, 1 being |
| 109 | + the default. The MFT zone multiplier determines |
| 110 | + how much space is reserved for the MFT on the |
| 111 | + volume. If all other space is used up, then the |
| 112 | + MFT zone will be shrunk dynamically, so this has no |
| 113 | + impact on the amount of free space. However, it |
| 114 | + can have an impact on performance by affecting |
| 115 | + fragmentation of the MFT. In general use the |
| 116 | + default. If you have a lot of small files then use |
| 117 | + a higher value. The values have the following |
| 118 | + meaning: |
| 119 | + |
| 120 | + ===== ================================= |
| 121 | + Value MFT zone size (% of volume size) |
| 122 | + ===== ================================= |
| 123 | + 1 12.5% |
| 124 | + 2 25% |
| 125 | + 3 37.5% |
| 126 | + 4 50% |
| 127 | + ===== ================================= |
| 128 | + |
| 129 | + Note this option is irrelevant for read-only mount. |
| 130 | + |
| 131 | +preallocated_size= Set preallocated size to optimize runlist merge |
| 132 | + overhead with small chunck size.(64KB size by |
| 133 | + default) |
| 134 | + |
| 135 | +acl=<BOOL> Enable POSIX ACL support. When specified, POSIX |
| 136 | + ACLs stored in extended attributes are enforced. |
| 137 | + Default is off. Requires kernel config |
| 138 | + NTFS_FS_POSIX_ACL enabled. |
| 139 | + |
| 140 | +sys_immutable=<BOOL> Make NTFS system files (e.g. $MFT, $LogFile, |
| 141 | + $Bitmap, $UpCase, etc.) immutable to user initiated |
| 142 | + modifications for extra safety. Default is off. |
| 143 | + |
| 144 | +nohidden=<BOOL> Hide files and directories marked with the Windows |
| 145 | + "hidden" attribute. By default hidden items are |
| 146 | + shown. |
| 147 | + |
| 148 | +hide_dot_files=<BOOL> Hide names beginning with a dot ("."). By default |
| 149 | + dot files are shown. When enabled, files and |
| 150 | + directories created with a leading '.' will be |
| 151 | + hidden from directory listings. |
| 152 | + |
| 153 | +windows_names=<BOOL> Refuse creation/rename of files with characters or |
| 154 | + reserved device names disallowed on Windows (e.g. |
| 155 | + CON, NUL, AUX, COM1, LPT1, etc.). Default is off. |
| 156 | +discard=<BOOL> Issue block device discard for clusters freed on |
| 157 | + file deletion/truncation to inform underlying |
| 158 | + storage. |
| 159 | +======================= ==================================================== |
0 commit comments