NTFS - Arch Linux 中文维基

跳转到内容

# NTFS

来自 Arch Linux 中文维基

相关文章

- 文件系统
- NTFS-3G
- Ufsd

翻译状态：

- 本文（或部分内容）译自 NTFS，最近一次同步于 2026-7-21，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

来自维基百科：

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

Linux有两个内核驱动提供了对NTFS读写支持。

- ntfs3—最初被 Paragon 提交到Linux内核中。ntfs3 内核驱动并没有配套的用户空间工具。安装 来自 NTFS-3G 的 ntfsprogs包 或使用 Windows 设备以格式化分区和执行维护。

- ntfs— 从 Linux 7.1 其可用，基于在 Linux 6.9 被移除的老旧只读驱动，用户空间工具在 ntfsprogs-plusAUR 中可用。

目前来看，没有哪个驱动系统明显更好，两者各有优缺点，操作上也存在一些细微差别。值得注意的是：

- ntfs 的整体性能应该略好一些。
- ntfs 不支持 Windows 原生符号链接（计划 7.2 支持 [1]）
- 在 TRIM 实现上的差异

## 提示与技巧

### 防止创建 Windows 不支持的命名

NTFS 本身对字符和名称没有限制，但 Windows 对此有限制。

内核驱动支持 `windows_names` mount(8) 选项。使用该选项可严格保证兼容性。

### 在 GUI 文件管理器中使用 ntfs 驱动

大多 GUI 文件管理器使用 udisks 挂载，它默认偏向使用 ntfs3 驱动。参见Udisks#默认挂载选项以使用 ntfs 驱动替代。

## 已知问题

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

在7.1版本之前的内核上，NTFS 分区默认可能以只读方式挂载或完全无法挂载。

这种情况下，需要明确指定`ntfs3`为文件系统类型。例如，使用 mount(8) 的 `-t`/`--types` 选项：

    # mount -t ntfs3 /dev/sdxY /mnt

或者使用 fstab：

    /etc/fstab

    /dev/sdxY /mnt ntfs3 defaults 0 0

## 排障

### 文件系统挂载为只读

如果使用版本旧于 7.1 的内核，使用`ntfs3`挂载文件系统以读写。详见#挂载时需要明确的文件系统类型。

### unknown filesystem type 'ntfs'

挂载 NTFS 时，可能会遇到如下错误：

    mount: /mnt: unknown filesystem type 'ntfs'

请检查是否已安装 ntfs-3g：

    $ pacman -Qi ntfs-3g

如果尚未安装，可安装之。也可以使用 `-t ntfs3` 参数来指定使用内核的 ntfs3 驱动。

### 无法用 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(8) 来清理它。 [2]

## 参见

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

分类：​

- 文件系统

NTFS
添加话题