- NTFS
- Tips and tricks
- Improving performance
- Prevent creation of names not allowed by Windows
- Known issues
- Explicit file system type required to mount
- Troubleshooting
- unknown filesystem type ‘ntfs’
- udisks support
- Unable to mount with ntfs3 with partition marked dirty
- See also
- NTFS (Русский)
- Советы и рекомендации
- Увеличение производительности
- Запрет использования имён, не разрешённых в Windows
- Известные проблемы
- Необходимо явно указывать тип файловой системы при монтировании
- Решение проблем
- unknown filesystem type ‘ntfs’
- Поддержка udisks
- Не удаётся примонтировать раздел, отмеченный как dirty, с помощью ntfs3
- Смотрите также
NTFS
NTFS (New Technology File System) is a proprietary journaling file system developed by Microsoft. Starting with Windows NT 3.1, it is the default file system of the Windows NT family.
The ntfs3 kernel driver provides read and write support for the file system.
- All officially supported kernels with versions 5.15 or newer are built with CONFIG_NTFS3_FS=m and thus support it. Before 5.15, NTFS read and write support is provided by the NTFS-3G FUSE file system. Or you can use backported NTFS3 via ntfs3-dkmsAUR .
- Paragon Software, the author of the kernel module, has not yet released userspace utilities for NTFS3. You can use NTFS-3G userspace utilities without NTFS-3G driver via ntfsprogs-ntfs3AUR .
Tips and tricks
Improving performance
You can enable the prealloc mount(8) option to decrease fragmentation in case of parallel write operations (most useful for HDD).
Prevent creation of names not allowed by Windows
NTFS itself does not have restrictions for characters and names used, but Windows does.
Since the kernel version 6.2, ntfs3 supports windows_names mount(8) option. Use it to strictly maintain compatibility.
Known issues
Explicit file system type required to mount
ntfs3 requires the file system type to mount.
To be able to mount the file system, specify its type as ntfs3 . For example, using mount(8) ‘s -t / —types option:
# mount -t ntfs3 /dev/sdxY /mnt
Troubleshooting
unknown filesystem type ‘ntfs’
When mounting NTFS, you can encounter an error such as:
mount: /mnt: unknown filesystem type 'ntfs'
If you want to use ntfs3 as the default driver for ntfs partitions, such udev rule does the trick:
/etc/udev/rules.d/ntfs3_by_default.rules
SUBSYSTEM=="block", ENV=="ntfs", ENV="ntfs3"
Although, this method is not recommended and can confuse some 3rd party tools.
udisks support
This article or section is out of date.
Reason: The described problems have been fixed. Since kernel version 6.2, ntfs3 supports windows_names option. (Discuss in Talk:NTFS)
udisks supports NTFS3, but has some issues at the moment. See udisks ntfs3 PR and issue 932.
Issues can manifest as the following errors, when the NTFS3 driver is used because NTFS-3G is not installed, but with mount options that it does not recognize:
ntfs3: Unknown parameter 'windows_names'
Filesystem type ntfs3,ntfs not configured in kernel
The second error in particular can be encountered with Dolphin. Nautilus can also report the same error message in the case of a dirty NTFS partition (see #Unable to mount with ntfs3 with partition marked dirty).
As a workaround, add a such option to /etc/udisks2/mount_options.conf in [defaults] section:
ntfs_defaults=uid=$UID,gid=$GID,prealloc
Unable to mount with ntfs3 with partition marked dirty
When trying to mount a good NTFS partition (i.e. which successfully mounts with NTFS-3G and for which ntfsfix —no-action does not report any error), you may get the following error:
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error. dmesg(1) may have more information after failed mount system call.
ntfs3 will not mount a partition where the volume is marked dirty without the force option. dmesg explicitly helps recognizing the situation, saying:
sdb1: volume is dirty and "force" flag is not set!
You can try passing the —clear-dirty argument to ntfsfix to clean it. [1]
See also
NTFS (Русский)
Состояние перевода: На этой странице представлен перевод статьи NTFS. Дата последней синхронизации: 27 марта 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
NTFS (аббревиатура от англ. new technology file system — «файловая система новой технологии») — стандартная файловая система для семейства операционных систем Windows NT фирмы Microsoft.
В ядре Linux есть драйвер ntfs3, реализующий возможность чтения и записи для этой файловой системы.
- Все официальные ядра с версии 5.15 собираются с CONFIG_NTFS3_FS=m и таким образом имеют в своём составе этот драйвер. В Linux < 5.15 для работы с NTFS можно использовать NTFS-3G — файловую систему FUSE. Также есть бэкпорт ntfs3-dkmsAUR .
- Paragon — автор модуля ядра — ещё не выпустил пользовательские инструменты для работы с NTFS3.
Советы и рекомендации
Увеличение производительности
Можно использовать параметр монтирования prealloc для уменьшения фрагментации при параллельных операциях записи (полезно для HDD).
Запрет использования имён, не разрешённых в Windows
Сама NTFS не имеет ограничений на используемые символы и имена, но в Windows они есть.
Начиная с версии ядра 6.2, ntfs3 поддерживает параметр монтирования windows_names . Используйте его для обеспечения совместимости с Windows.
Известные проблемы
Необходимо явно указывать тип файловой системы при монтировании
При монтировании всегда указывайте тип ntfs3 :
# mount -t ntfs3 /dev/sdxY /mnt
Решение проблем
unknown filesystem type ‘ntfs’
При монтировании NTFS вы можете получить такую ошибку:
mount: /mnt: unknown filesystem type 'ntfs'
Если вы хотите, чтобы ntfs3 использовался по умолчанию для всех разделов ntfs , можно создать правило udev:
/etc/udev/rules.d/ntfs3_by_default.rules
SUBSYSTEM=="block", ENV=="ntfs", ENV="ntfs3"
Однако это не рекомендуется, так как может вызвать проблемы со сторонними инструментами.
Поддержка udisks
udisks поддерживает NTFS3, но на старых версиях udisks или ядра имелись некоторые проблемы. Смотрите ntfs3 PR и issue 932.
Проблемы могут проявляться в виде следующих ошибок, когда NTFS-3G не установлен и udisks пытается использовать драйвер NTFS3 c параметрами монтирования, которые он не распознаёт:
ntfs3: Unknown parameter 'windows_names'
Filesystem type ntfs3,ntfs not configured in kernel
В качестве обходного пути добавьте следующую опцию в секции [defaults] в файле /etc/udisks2/mount_options.conf :
ntfs_defaults=uid=$UID,gid=$GID,defaults,prealloc
Не удаётся примонтировать раздел, отмеченный как dirty, с помощью ntfs3
При попытке смонтировать хороший NTFS-раздел (то есть который успешно монтируется с помощью NTFS-3G и для которого ntfsfix —no-action не сообщает никаких ошибок), вы можете получить следующую ошибку:
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error. dmesg(1) may have more information after failed mount system call.
ntfs3 не будет монтировать раздел, который отмечен как «грязный» (dirty), без опции force. dmesg помогает распознать эту ситуацию:
sdb1: volume is dirty and "force" flag is not set!
Попробуйте запустить ntfsfix с аргументом —clear-dirty для сброса этой отметки. [1]