xref: /linux/Documentation/filesystems/ntfs3.rst (revision d683c67c5f50802b9b14ea29d89d66a25327e965)
112dad495SKonstantin Komarov.. SPDX-License-Identifier: GPL-2.0
212dad495SKonstantin Komarov
312dad495SKonstantin Komarov=====
412dad495SKonstantin KomarovNTFS3
512dad495SKonstantin Komarov=====
612dad495SKonstantin Komarov
712dad495SKonstantin KomarovSummary and Features
812dad495SKonstantin Komarov====================
912dad495SKonstantin Komarov
10a0fc05a3SKari ArgillanderNTFS3 is fully functional NTFS Read-Write driver. The driver works with NTFS
11a0fc05a3SKari Argillanderversions up to 3.1. File system type to use on mount is *ntfs3*.
1212dad495SKonstantin Komarov
1312dad495SKonstantin Komarov- This driver implements NTFS read/write support for normal, sparse and
1412dad495SKonstantin Komarov  compressed files.
15a0fc05a3SKari Argillander- Supports native journal replaying.
1612dad495SKonstantin Komarov- Supports NFS export of mounted NTFS volumes.
17a0fc05a3SKari Argillander- Supports extended attributes. Predefined extended attributes:
18a0fc05a3SKari Argillander
19a0fc05a3SKari Argillander	- *system.ntfs_security* gets/sets security
20a0fc05a3SKari Argillander
21a0fc05a3SKari Argillander		Descriptor: SECURITY_DESCRIPTOR_RELATIVE
22a0fc05a3SKari Argillander
23a0fc05a3SKari Argillander	- *system.ntfs_attrib* gets/sets ntfs file/dir attributes.
24a0fc05a3SKari Argillander
25a0fc05a3SKari Argillander	  Note: Applied to empty files, this allows to switch type between
26a0fc05a3SKari Argillander	  sparse(0x200), compressed(0x800) and normal.
2712dad495SKonstantin Komarov
2812dad495SKonstantin KomarovMount Options
2912dad495SKonstantin Komarov=============
3012dad495SKonstantin Komarov
3112dad495SKonstantin KomarovThe list below describes mount options supported by NTFS3 driver in addition to
32a0fc05a3SKari Argillandergeneric ones. You can use every mount option with **no** option. If it is in
33a0fc05a3SKari Argillanderthis table marked with no it means default is without **no**.
3412dad495SKonstantin Komarov
35a0fc05a3SKari Argillander.. flat-table::
36a0fc05a3SKari Argillander   :widths: 1 5
37a0fc05a3SKari Argillander   :fill-cells:
3812dad495SKonstantin Komarov
39a0fc05a3SKari Argillander   * - iocharset=name
40a0fc05a3SKari Argillander     - This option informs the driver how to interpret path strings and
41a0fc05a3SKari Argillander       translate them to Unicode and back. If this option is not set, the
42a0fc05a3SKari Argillander       default codepage will be used (CONFIG_NLS_DEFAULT).
4312dad495SKonstantin Komarov
44a0fc05a3SKari Argillander       Example: iocharset=utf8
4512dad495SKonstantin Komarov
46a0fc05a3SKari Argillander   * - uid=
47a0fc05a3SKari Argillander     - :rspan:`1`
48a0fc05a3SKari Argillander   * - gid=
4912dad495SKonstantin Komarov
50a0fc05a3SKari Argillander   * - umask=
51a0fc05a3SKari Argillander     - Controls the default permissions for files/directories created after
52a0fc05a3SKari Argillander       the NTFS volume is mounted.
5312dad495SKonstantin Komarov
54a0fc05a3SKari Argillander   * - dmask=
55a0fc05a3SKari Argillander     - :rspan:`1` Instead of specifying umask which applies both to files and
56a0fc05a3SKari Argillander       directories, fmask applies only to files and dmask only to directories.
57a0fc05a3SKari Argillander   * - fmask=
5812dad495SKonstantin Komarov
59a0fc05a3SKari Argillander   * - noacsrules
60a0fc05a3SKari Argillander     - "No access rules" mount option sets access rights for files/folders to
61a0fc05a3SKari Argillander       777 and owner/group to root. This mount option absorbs all other
62a0fc05a3SKari Argillander       permissions.
6312dad495SKonstantin Komarov
64a0fc05a3SKari Argillander       - Permissions change for files/folders will be reported as successful,
65a0fc05a3SKari Argillander	 but they will remain 777.
6612dad495SKonstantin Komarov
67a0fc05a3SKari Argillander       - Owner/group change will be reported as successful, butthey will stay
68a0fc05a3SKari Argillander	 as root.
6912dad495SKonstantin Komarov
70a0fc05a3SKari Argillander   * - nohidden
71a0fc05a3SKari Argillander     - Files with the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) attribute
72a0fc05a3SKari Argillander       will not be shown under Linux.
7312dad495SKonstantin Komarov
74a0fc05a3SKari Argillander   * - sys_immutable
75a0fc05a3SKari Argillander     - Files with the Windows-specific SYSTEM (FILE_ATTRIBUTE_SYSTEM) attribute
76a0fc05a3SKari Argillander       will be marked as system immutable files.
7712dad495SKonstantin Komarov
78*d683c67cSDaniel Pinto   * - windows_names
79*d683c67cSDaniel Pinto     - Prevents the creation of files and directories with a name not allowed
80*d683c67cSDaniel Pinto       by Windows, either because it contains some not allowed character (which
81*d683c67cSDaniel Pinto       are the characters " * / : < > ? \\ | and those whose code is less than
82*d683c67cSDaniel Pinto       0x20), because the name (with or without extension) is a reserved file
83*d683c67cSDaniel Pinto       name (CON, AUX, NUL, PRN, LPT1-9, COM1-9) or because the last character
84*d683c67cSDaniel Pinto       is a space or a dot. Existing such files can still be read and renamed.
85*d683c67cSDaniel Pinto
86a0fc05a3SKari Argillander   * - discard
87a0fc05a3SKari Argillander     - Enable support of the TRIM command for improved performance on delete
88a0fc05a3SKari Argillander       operations, which is recommended for use with the solid-state drives
89a0fc05a3SKari Argillander       (SSD).
9012dad495SKonstantin Komarov
91a0fc05a3SKari Argillander   * - force
92a0fc05a3SKari Argillander     - Forces the driver to mount partitions even if volume is marked dirty.
93a0fc05a3SKari Argillander       Not recommended for use.
9412dad495SKonstantin Komarov
95a0fc05a3SKari Argillander   * - sparse
96a0fc05a3SKari Argillander     - Create new files as sparse.
9712dad495SKonstantin Komarov
98a0fc05a3SKari Argillander   * - showmeta
99a0fc05a3SKari Argillander     - Use this parameter to show all meta-files (System Files) on a mounted
100a0fc05a3SKari Argillander       NTFS partition. By default, all meta-files are hidden.
101a0fc05a3SKari Argillander
102a0fc05a3SKari Argillander   * - prealloc
103a0fc05a3SKari Argillander     - Preallocate space for files excessively when file size is increasing on
104a0fc05a3SKari Argillander       writes. Decreases fragmentation in case of parallel write operations to
105a0fc05a3SKari Argillander       different files.
106a0fc05a3SKari Argillander
107a0fc05a3SKari Argillander   * - acl
108a0fc05a3SKari Argillander     - Support POSIX ACLs (Access Control Lists). Effective if supported by
109a0fc05a3SKari Argillander       Kernel. Not to be confused with NTFS ACLs. The option specified as acl
110a0fc05a3SKari Argillander       enables support for POSIX ACLs.
111a0fc05a3SKari Argillander
112a0fc05a3SKari ArgillanderTodo list
11312dad495SKonstantin Komarov=========
114a0fc05a3SKari Argillander- Full journaling support over JBD. Currently journal replaying is supported
115a0fc05a3SKari Argillander  which is not necessarily as effectice as JBD would be.
11612dad495SKonstantin Komarov
11712dad495SKonstantin KomarovReferences
11812dad495SKonstantin Komarov==========
11912dad495SKonstantin Komarov- Commercial version of the NTFS driver for Linux.
120a0fc05a3SKari Argillander	https://www.paragon-software.com/home/ntfs-linux-professional/
12112dad495SKonstantin Komarov
12212dad495SKonstantin Komarov- Direct e-mail address for feedback and requests on the NTFS3 implementation.
123a0fc05a3SKari Argillander	almaz.alexandrovich@paragon-software.com
124