I/O 错误和不可删除的目录

I/O 错误和不可删除的目录

由于某种未知的原因,有 2 个目录我无法删除。

第一个目录名为旧版本为空,只能由 删除rm,因为rmdir无法识别它。然而,即使在之后rm,它仍然出现:

[02:11:36] user@user:/media/user/exthdd/docs$ ls -il
total 1072064
1456 drwx------ 1 user user          0 Aug 12 10:04 1old.or.probably.unfinished
5717 drwx------ 1 user user       8192 Jan 27 22:58 videos
6528 -rw------- 1 user user 1097779088 Nov  5 16:15 release_Remix_OS_for_PC_Android_M_64bit_B2016112101.zip
8008 drwx------ 1 user user       4096 Jan 28 00:55 txt
  64 drwx------ 1 user user          0 Dec 25 22:15 sw.old
[02:12:03] user@user:/media/user/exthdd/docs$ rmdir sw.old/
rmdir: failed to remove ‘sw.old/’: No such file or directory
[02:12:57] user@user:/media/user/exthdd/docs$ rm -rf sw.old/
[02:13:15] user@user:/media/user/exthdd/docs$ ls -il
total 1072064
1456 drwx------ 1 user user          0 Aug 12 10:04 1old.or.probably.unfinished
5717 drwx------ 1 user user       8192 Jan 27 22:58 videos
6528 -rw------- 1 user user 1097779088 Nov  5 16:15 release_Remix_OS_for_PC_Android_M_64bit_B2016112101.zip
8008 drwx------ 1 user user       4096 Jan 28 00:55 txt
  64 drwx------ 1 user user          0 Dec 25 22:15 sw.old

第二个叫杂项里面有一个损坏的文件:

[02:24:32] user@user:/media/user/exthdd/docs/txt$ ls -il
total 0
22607 drwx------ 1 user user 0 Dec 31 16:09 misc
[02:24:36] user@user:/media/user/exthdd/docs/txt$ ls -il misc/
ls: cannot access misc/patterns.mp4: Input/output error
total 0
? -????????? ? ? ? ?            ? patterns.mp4
[02:24:54] user@user:/media/user/exthdd/docs/txt$ rm -rf misc/
rm: cannot remove ‘misc/patterns.mp4’: Input/output error

如何在不格式化的情况下删除这些目录(以及其中一个目录中损坏的文件)?

答案1

只有当访问驱动器本身出现问题时,我才会显示该错误消息。鉴于它似乎是一个外部驱动器,我会检查电缆、接口、电缆连接和驱动器:如果其中任何一个无法正常工作,您就会收到这些错误。

在检查驱动器并fsck在文件系统上运行之前,我建议不要进一步尝试。

答案2

您可以使用 来检查写入该位置或文件的内容lsof。例如:

lsof /media/user/exthdd/docs/

甚至:

lsof / |grep sw.old

此外,您可以在单独的磁盘或存档上创建备份,并尝试修复底层文件系统(如果存在损坏)。但是,这取决于您现有的文件系统类型和/或存储设置。

相关内容