无法删除外部硬盘上的损坏文件:“未找到文件或目录”

无法删除外部硬盘上的损坏文件:“未找到文件或目录”

我将一些文件从上网本复制(剪切和粘贴)到外部硬盘上。复制过程中,整个操作系统冻结,很长时间没有反应,因此我决定重新启动。重新启动后,我发现并非所有文件都已正确复制。

现在,硬盘上有损坏的文件,无法使用任何rm文件管理器或任何文件管理器删除。错误消息是:“找不到文件或目录“。只需重新复制剩余的文件也会导致同样的错误。

  • 操作系统:Lubuntu 18.04 LTS
  • 外部硬盘文件系统:NTFS

如何才能删除这些文件?

编辑:我只有 Linux 工具可用(即没有chkdsk)。我曾尝试ntfsfix -bd /dev/sdc1以超级用户身份运行,但未能解决我的问题。现在,我正在运行testdisk,这需要花费相当长的时间,因此明天之前我都不会知道结果。

答案1

写入过程中操作系统冻结可能表示某些硬件出现故障。判断磁盘是否健康应该是您的首要任务。

磁盘是外置的,可能是机箱的问题。直接连接磁盘是合理的。您没有告诉我们详细信息,但它可能是 SATA 磁盘,您通过 USB 连接机箱。如果您想通过 SATA 直接连接磁盘,请注意这个可能的问题:为什么当我的 USB 驱动器作为内部 SATA 驱动器插入时会显示损坏的数据?

要诊断磁盘:

  1. 检查 SMART 状态(smartctl -a /dev/sdX)并进行解释。
  2. 运行 SMART 测试(smartctl -t short /dev/sdX… -t long …);再次检查状态以查看结果。
  3. 可选择使用badblocks
  4. 或者使用 (Windows) chkdsk /r。我想你chkdsk无论如何都会需要它,所以你最好从它开始。

根据磁盘的行为方式和结果,有时您可能需要从磁盘备份文件。如有疑问,请尽早备份。

  • 该磁盘仍然可安装,因此您可以使用普通文件或其他在文件级别运行的工具保存几乎所有cp文件rsync
  • 或者您可以使用 读取整个磁盘(或者至少是带有文件系统的分区)ddrescue

如果磁盘健康,那么您可以修复磁盘上的文件系统。不幸的是,据我所知Linux 下没有工具可以修复损坏的 NTFS。您很可能需要chkdsk来自 Windows。

如果磁盘不健康,您仍可以尝试修复那里的文件系统(使用chkdsk)。根据情况的严重程度,您可能会成功也可能不会成功,并且您可能不想再使用该磁盘。

如果出于某种原因你不能或不想再使用磁盘,而剩下的最好的东西就是映像,那么ddrescue你应该修复映像中的文件系统;同样,使用chkdsk。在 Windows 中,可能可以使用图像文件;或者将图像写入另一个物理设备(如果还没有写入设备的话ddrescue),这样就chkdsk不需要额外的技巧了。

我认为修复 Linux 中的 NTFS 文件系统的可能性很小(即没有chkdsk)。一种解决方法是将所有文件复制到其他地方,然后在同一设备上从头重建文件系统(如果设备正常)。

相关内容