跳转至内容

NTFS

来自 ArchWiki

来自 Wikipedia

NTFS (New Technology File System) 是微软开发的一种专有日志文件系统。自 Windows NT 3.1 起,它是 Windows NT 系列的默认文件系统。

ntfs3 内核驱动程序提供对该文件系统的读写支持。

内核驱动程序没有配套的用户空间实用程序。要格式化分区或执行维护,您仍然需要一台 Windows 机器或像 NTFS-3G 这样的外部工具。

技巧与提示

提升性能

您可以启用 prealloc mount(8) 选项,以减少并行写操作(对 HDD 最有用)时的碎片。

防止创建Windows不允许的名称

NTFS 本身对使用的字符和名称没有限制,但 Windows 有

ntfs3 支持 windows_names mount(8) 选项。使用它来严格维护兼容性。

提示 udisks 默认启用了此选项。

已知问题

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

ntfs3 可能需要文件系统类型才能挂载,否则可能会以只读方式挂载,请参见 #文件系统挂载为只读

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

# mount -t ntfs3 /dev/sdxY /mnt

或使用 fstab

/etc/fstab
/dev/sdxY /mnt ntfs3 defaults 0 0

故障排除

文件系统挂载为只读

来自 linux 包的内核已启用 CONFIG_NTFS_FS 兼容性选项 [1]。它模仿了旧驱动程序的行为,并在使用 ntfs 类型进行挂载时将文件系统挂载为只读。

要以读写方式挂载文件系统,请使用 ntfs3 类型。请参见 #挂载时明确需要文件系统类型

未知的 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"

尽管如此,不推荐此方法,因为它可能会混淆某些第三方工具。

无法使用 ntfs3 挂载标记为 dirty 的分区

当尝试挂载一个正常的 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!

您可以尝试将 --clear-dirty 参数传递给 ntfsfix(8) 来清理它。[2]

参见

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.