Jump to content
From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи NTFS. Дата последней синхронизации: 27 марта 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Ссылки по теме

- Файловые системы
- NTFS-3G (Русский)

Википедия:

  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.

Примечание: В udisks этот параметр используется по умолчанию.

## Известные проблемы

### Необходимо явно указывать тип файловой системы при монтировании

При монтировании всегда указывайте тип `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{ID_FS_TYPE}=="ntfs", ENV{ID_FS_TYPE}="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

Смотрите также: Cannot mount NTFS with the new ntfs3 module from Linux 5.15

### Не удаётся примонтировать раздел, отмеченный как 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]

## Смотрите также

- NTFS3 — документация ядра
- NTFS3 Driver FAQ – Paragon Software Group
- Сравнение производительности NTFS3

Category:

- File systems (Русский)