Linux 下的 CHKDSK:Paragon 的 NTFS 和 HFS+ 工具

仅仅用于软件推荐,不适合发求软件或软件使用问题方面的贴子
回复
sxgpic
帖子: 112
注册时间: 2013-12-13 6:57

Linux 下的 CHKDSK:Paragon 的 NTFS 和 HFS+ 工具

#1

帖子 sxgpic » 2024-06-13 21:02

一直以来, Linux 下缺乏修复 NTFS 文件系统错误的可靠工具。

ntfs-3g 里面的 ntfsfix 并没有真正的 NTFS 文件系统修复功能,它只会简单地移除 dirty 标记,假装修好,接着将就用。这样会造成错误积累,最终危及数据安全。所以,NTFS 文件系统出现问题,一般建议回到 Windows 下用 chkdsk 工具检查修复。

ntfs-3g 对有 dirty 标记的问题 NTFS 分区也会假装看不到问题,继续挂载。而内核里的 ntfs3 模块则出于数据安全考虑直接拒绝挂载。

这里找到了一组来自 Paragon 的 NTFS/HFS+ 工具,包括:

chkdsk:检查 NTFS/HFS+ 分区完整性并与 Windows 的 chkdsk.exe 一样真正修复文件系统错误
fsck.ntfs:指向 chkdsk 的软链接,检查 NTFS 分区完整性并与 Windows 的 chkdsk.exe 一样真正修复文件系统错误
fsck.hfs+:指向 chkdsk 的软链接,检查 HFS+ 分区完整性并修复错误
mkfs.ntfs:指向 chkdsk 的软链接,创建并格式化 NTFS 分区(这个会跟 ntfs-3g 中指向 mkntfs 的软链接 mkfs.ntfs 冲突,因为文件名相同)
mkfs.hfs+:指向 chkdsk 的软链接,创建并格式化 HFS+ 分区
paragon-ntfs-hfs-tools_9.6.7-2_amd64.deb
(810.77 KiB) 已下载 94 次
其实就是 Paragon 的 UFSD 工具集。

代码: 全选

somebody@somewhere:~$ sudo chkdsk
Check NTFS/HFS+ partition integrity and fix errors
Usage: chkdsk device [-a]
  -fs:ntfs        Force to treat volume as NTFS.
  -fs:hfs         Force to treat volume as HFS+/HFSJ.
  -n              Run chkdsk in read-only mode.
  -a              Auto check. Full check if volume is dirty
  -b:size         Override the default block (sector) size. Default settings
                  are strongly recommended for general use.
                  One can use 512, 1024, 2048, 4096.
  -m:size         Memory limit
  -h              Display this help
  --short         Check the minimum
  --safe          Do not try to fix errors;
                  Only clear 'dirty' flag if there are no errors
  --help          Display this help
  --showminors    Show minor errors
  --no-orphans    Do not restore real orphan files
  --trace         Turn on disk trace
  --verbose       Explain what is being done
  --nopercents    Do not print percents
  --version       Display version
Example: chkdsk /dev/hdb1
上次由 sxgpic 在 2024-10-29 18:01,总共编辑 5 次。
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: Linux 下的 CHKDSK:Paragon 的 NTFS 和 HFS+ 工具

#2

帖子 astolia » 2024-06-14 12:21

sxgpic 写了: 2024-06-13 21:02 ntfs-3g 里面的 ntfsfix 并没有真正的 NTFS 文件系统修复功能,它只会简单地移除 dirty 标记,假装修好,接着将就用。
这种说法是错误的,ntfsfix能够修复一些最基本的问题。就算你懒得去读源码,看一眼manpage的说明总费不了太多时间吧
ntfsfix is a utility that fixes some common NTFS problems. ntfsfix is
NOT a Linux version of chkdsk. It only repairs some fundamental NTFS
inconsistencies, resets the NTFS journal file and schedules an NTFS
consistency check for the first boot into Windows.
sxgpic
帖子: 112
注册时间: 2013-12-13 6:57

Re: Linux 下的 CHKDSK:Paragon 的 NTFS 和 HFS+ 工具

#3

帖子 sxgpic » 2024-06-14 14:12

确切地说,ntfsfix 功能不完善,只能修理一些基本的(fundamental)不一致问题并重置日志,经常会掩盖深层问题(没有真正修复)。有时候 ntfsfix 修完后还会报错,需要进 Windows 用 chkdsk.exe 进一步检查。例如 https://github.com/tuxera/ntfs-3g/issues/67 https://www.reddit.com/r/linuxquestions ... partition/

所以 ntfsfix 尽量少用,如果连续使用很多次而中间没有用 Windows 的 chkdsk.exe 检查过,会带来潜在的数据安全问题。

这里并没有说 paragon 的 ufsd 工具就完全等同于甚至可以代替微软的 chkdsk.exe,但至少在功能上比 ntfsfix 更完善,更可靠一些,可以作为一个更好的 ntfsfix 代替品。
回复