NTFS
来自维基百科:
- 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。
提示与技巧[编辑 | 编辑源代码]
提高性能[编辑 | 编辑源代码]
可以启用一些 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 性能比较