xref: /linux/Documentation/filesystems/ntfs3.rst (revision dc0fcc99b1756c3c703326aa0015ed73fc4e9a73)
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*dc0fcc99SDaniel Pinto   * - hide_dot_files
7960adc860SDaniel Pinto     - Updates the Windows-specific HIDDEN (FILE_ATTRIBUTE_HIDDEN) attribute
8060adc860SDaniel Pinto       when creating and moving or renaming files. Files whose names start
8160adc860SDaniel Pinto       with a dot will have the HIDDEN attribute set and files whose names
8260adc860SDaniel Pinto       do not start with a dot will have it unset.
8360adc860SDaniel Pinto
84d683c67cSDaniel Pinto   * - windows_names
85d683c67cSDaniel Pinto     - Prevents the creation of files and directories with a name not allowed
86d683c67cSDaniel Pinto       by Windows, either because it contains some not allowed character (which
87d683c67cSDaniel Pinto       are the characters " * / : < > ? \\ | and those whose code is less than
88d683c67cSDaniel Pinto       0x20), because the name (with or without extension) is a reserved file
89d683c67cSDaniel Pinto       name (CON, AUX, NUL, PRN, LPT1-9, COM1-9) or because the last character
90d683c67cSDaniel Pinto       is a space or a dot. Existing such files can still be read and renamed.
91d683c67cSDaniel Pinto
92a0fc05a3SKari Argillander   * - discard
93a0fc05a3SKari Argillander     - Enable support of the TRIM command for improved performance on delete
94a0fc05a3SKari Argillander       operations, which is recommended for use with the solid-state drives
95a0fc05a3SKari Argillander       (SSD).
9612dad495SKonstantin Komarov
97a0fc05a3SKari Argillander   * - force
98a0fc05a3SKari Argillander     - Forces the driver to mount partitions even if volume is marked dirty.
99a0fc05a3SKari Argillander       Not recommended for use.
10012dad495SKonstantin Komarov
101a0fc05a3SKari Argillander   * - sparse
102a0fc05a3SKari Argillander     - Create new files as sparse.
10312dad495SKonstantin Komarov
104a0fc05a3SKari Argillander   * - showmeta
105a0fc05a3SKari Argillander     - Use this parameter to show all meta-files (System Files) on a mounted
106a0fc05a3SKari Argillander       NTFS partition. By default, all meta-files are hidden.
107a0fc05a3SKari Argillander
108a0fc05a3SKari Argillander   * - prealloc
109a0fc05a3SKari Argillander     - Preallocate space for files excessively when file size is increasing on
110a0fc05a3SKari Argillander       writes. Decreases fragmentation in case of parallel write operations to
111a0fc05a3SKari Argillander       different files.
112a0fc05a3SKari Argillander
113a0fc05a3SKari Argillander   * - acl
114a0fc05a3SKari Argillander     - Support POSIX ACLs (Access Control Lists). Effective if supported by
115a0fc05a3SKari Argillander       Kernel. Not to be confused with NTFS ACLs. The option specified as acl
116a0fc05a3SKari Argillander       enables support for POSIX ACLs.
117a0fc05a3SKari Argillander
118a0fc05a3SKari ArgillanderTodo list
11912dad495SKonstantin Komarov=========
120a0fc05a3SKari Argillander- Full journaling support over JBD. Currently journal replaying is supported
121a0fc05a3SKari Argillander  which is not necessarily as effectice as JBD would be.
12212dad495SKonstantin Komarov
12312dad495SKonstantin KomarovReferences
12412dad495SKonstantin Komarov==========
12512dad495SKonstantin Komarov- Commercial version of the NTFS driver for Linux.
126a0fc05a3SKari Argillander	https://www.paragon-software.com/home/ntfs-linux-professional/
12712dad495SKonstantin Komarov
12812dad495SKonstantin Komarov- Direct e-mail address for feedback and requests on the NTFS3 implementation.
129a0fc05a3SKari Argillander	almaz.alexandrovich@paragon-software.com
130