我在 Linux 和 Windows 上使用外部磁盘存储媒体,其格式为 NTFS(在 Linux 下使用 ntfs-3g)。我注意到文件系统上有两个可疑文件,我无法访问或删除它们:
# ls -alhi
ls: cannot access '#batch.txt#': Input/output error
ls: cannot access '.#batch.txt': Input/output error
total 24K
292727 drwxrwxrwx 1 krampus users 4.0K Dec 27 21:08 ./
5 drwxrwxrwx 1 krampus users 8.0K Dec 22 03:34 ../
? -????????? ? ? ? ? ? .#batch.txt
? -????????? ? ? ? ? ? '#batch.txt#'
[...]
# file -s \#batch.txt\#
#batch.txt#: cannot open `#batch.txt#' (Input/output error)
# rm -f \#batch.txt\#
rm: cannot remove '#batch.txt#': Input/output error
batch.txt
是一个文本文件,大概是我前段时间在 emacs 中编辑过的,所以这表面上应该是自动保存的文件,但显然有些不对劲,我无法将rm
其归档。
这个磁盘已经用了好几年了,可能已经到了使用寿命的尽头——SMART 测试没有问题,但我发现读/写操作时不时会无限期地挂起。这可能是文件系统损坏造成的,还是我发现了 ntfs-3g 错误?无论是哪种情况,我有什么办法可以删除这些文件,还是应该忽略它?我有备份,所以我只是出于好奇才问的。
答案1
由于文件所有者、大小和时间戳等基本属性都以问号形式列出,因此这看起来非常像是文件系统损坏。您可能会在该dmesg
命令生成的列表中找到有关输入/输出错误的更多信息。
您可能需要运行“检查磁盘错误”GUI 选项或chkdsk
Windows 中的命令,因为ntfsfix
Linux ntfs-3g 中的命令的功能仍然不如原生 Windows 工具。