NTFS (简体中文) - ArchWiki

Jump to content

相关文章

- 文件系统
- NTFS-3G (简体中文)

翻译状态：本文是 NTFS 的翻译。上次翻译日期：2022-11-12。如果英文版本有所更改，则您可以帮助同步翻译。

来自维基百科：

  NTFS (New Technology File System) 是一个由微软开发的专有日志文件系统。从 Windows NT 3.1 开始是 Windows NT 系列的默认文件系统。

自 Linux 5.15 以来，ntfs3 提供了读写支持。所有 5.15 或更新版本的官方支持的内核都是用 `CONFIG_NTFS3_FS=m` 构建的，因此支持它。

对于内核版本 < 5.15，NTFS 读写支持由 NTFS-3G FUSE 文件系统提供。或者也可以通过 ntfs3-dkmsAUR 使用向后移植的 NTFS3。

注意： Paragon 尚未发布 NTFS3 的用户空间实用程序。

## 提示与技巧

### 提高性能

可以启用一些 mount(8) 选项以提高性能：

- `noatime` ——可以加快文件系统操作。
- `prealloc` ——减少碎片的情况下进行写入（对机械硬盘更有用）。

## 已知问题

### 挂载时需要明确的文件系统类型

`ntfs3` 挂载时需要明确的文件系统类型。

要挂载文件系统，请将其类型指定为 `ntfs3`。例如，使用 mount(8) 的 `-t`/`--types` 选项：

    # 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。

当 NTFS3 驱动因为 NTFS-3G 未被安装时被使用，但是挂载选项未改变时，可能会有以下的错误：

    ntfs3: Unknown parameter 'windows_names'

或

    Filesystem type ntfs3,ntfs not configured in kernel

第二种错误会在 Dolphin 遇到。

作为一种解决办法，添加以下选项到 `/etc/udisks2/mount_options.conf` 的 `[defaults]` 部分中：

    ntfs_defaults=uid=$UID,gid=$GID,noatime,prealloc

见: 无法使用自 Linux 5.15 被引入的新 ntfs3 模块挂载 NTFS。

### 无法用 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 将不会挂载它。`dmesg` 会帮助你判断这个情况，会说：

    sdb1: volume is dirty and "force" flag is not set!

你可以尝试用 `--clear-dirty` 参数来使用 `ntfsfix` 来清理它。 [1]

## 参见

- NTFS3 内核文档
- NTFS3 驱动 FAQ – Paragon Software Group
- NTFS3 性能比较

Category:

- File systems (简体中文)