访问目录时出现“输入/输出错误”

Tim*_*Tim 93 ubuntu directory ntfs

我想列出和删除可移动硬盘驱动器上目录的内容。但我遇到过“输入/输出错误”:

$ rm  pic -R
rm: cannot remove `pic/60.jpg': Input/output error
rm: cannot remove `pic/006.jpg': Input/output error
rm: cannot remove `pic/008.jpg': Input/output error
rm: cannot remove `pic/011.jpg': Input/output error

$ ls -la pic
ls: cannot access pic/60.jpg: Input/output error
-????????? ? ?    ?         ?            ? 006.jpg
-????????? ? ?    ?         ?            ? 006.jpg
-????????? ? ?    ?         ?            ? 011.jpg
Run Code Online (Sandbox Code Playgroud)

我想知道是什么问题?

如何恢复或删除目录pic及其所有内容?

我的操作系统是 Ubuntu 12.04,可移动硬盘驱动器有 ntfs 文件系统。pic可移动硬盘驱动器上不包含或不包含的其他目录工作正常。


添加:

dmesg我尝试列出目录内容后输出的最后一部分:

[19000.712070] usb 1-1: new high-speed USB device number 2 using ehci_hcd
[19000.853167] usb-storage 1-1:1.0: Quirks match for vid 05e3 pid 0702: 520
[19000.853195] scsi5 : usb-storage 1-1:1.0
[19001.856687] scsi 5:0:0:0: Direct-Access     ST316002 1A               0811 PQ: 0 ANSI: 0
[19001.858821] sd 5:0:0:0: Attached scsi generic sg2 type 0
[19001.861733] sd 5:0:0:0: [sdb] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[19001.862969] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.865223] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.865232] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.867597] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.869214] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.869218] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.891946]  sdb: sdb1
[19001.894713] sd 5:0:0:0: [sdb] Test WP failed, assume Write Enabled
[19001.895950] sd 5:0:0:0: [sdb] Cache data unavailable
[19001.895953] sd 5:0:0:0: [sdb] Assuming drive cache: write through
[19001.895958] sd 5:0:0:0: [sdb] Attached SCSI disk
[19113.024123] usb 2-1: new high-speed USB device number 3 using ehci_hcd
[19113.218157] scsi6 : usb-storage 2-1:1.0
[19114.232249] scsi 6:0:0:0: Direct-Access     USB 2.0  Storage Device   0100 PQ: 0 ANSI: 0 CCS
[19114.233992] sd 6:0:0:0: Attached scsi generic sg3 type 0
[19114.242547] sd 6:0:0:0: [sdc] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[19114.243144] sd 6:0:0:0: [sdc] Write Protect is off
[19114.243154] sd 6:0:0:0: [sdc] Mode Sense: 08 00 00 00
[19114.243770] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.243778] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.252797] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.252807] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.280407]  sdc: sdc1 < sdc5 >
[19114.289774] sd 6:0:0:0: [sdc] No Caching mode page present
[19114.289779] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[19114.289783] sd 6:0:0:0: [sdc] Attached SCSI disk
Run Code Online (Sandbox Code Playgroud)

Sha*_*dur 47

文件系统访问尝试期间的输入/输出错误通常意味着硬件问题。

输入dmesg并检查输出的最后几行。如果光盘或其连接出现故障,则会在那里注明。

编辑您是通过ntfs还是安装它ntfs-3g?我记得,遗留ntfs驱动程序没有稳定的写入支持,当它变得ntfs-3g更加稳定和安全时,基本上被放弃了。

  • 不要“*猜测*”。检查——您可以通过键入 `mount` 命令并查看输出来查看所有内容是如何安装的。 (10认同)
  • `fuseblk` 意味着它使用的是 `ntfs-3g` 使用的 `fuser` 文件系统用户空间方法。所以你在这方面做得很好。 (6认同)
  • 我将可移动硬盘连接到我的 Ubuntu 12.04,它会自动安装。所以我猜`ntfs-3g`? (3认同)
  • (1) 在我尝试列出目录的内容后,我添加了 `dmesg` 输出的最后一部分。我不知道它有什么帮助。(2) 通过查看`mount`的输出:`/dev/sdb1 on /media/removable_drive type fuseblk (rw,nosuid,nodev,allow_other, default_permissions,blksize=4096)` (2认同)

jip*_*pie 23

正如 Sadhur 所说,这可能是由磁盘硬件问题引起的,dmesg输出是检查此问题的正确位置。

您可以从 Linux 发出磁盘表面扫描/sbin/badblocks /dev/sda

查看手册页以获得更彻底的测试和基本修复(块重定位)。这完全与文件系统无关,因此即使使用 NTFS 文件系统也是安全的,因为它在“磁盘表面”级别上运行。

我个人让这个从 cron 每月运行一次。当然,您需要检查是否在邮箱中收到了 cron 邮件(默认情况下通常不是这种情况)。这些邮件最终以/var/mail/$USER或类似的方式结束。

我创建了/etc/cron.d/badblocks

30 4 * * 3 root [ -x /sbin/badblocks ] && [ $(date +\%d) -le 7 ] && /sbin/badblocks /dev/sda
Run Code Online (Sandbox Code Playgroud)

  • 根据`man badblocks`,“强烈建议用户不要直接运行backblocks,而是使用e2fsck 和mke2fs 程序的-c 选项。” (3认同)

dai*_*isy 11

您的文件系统已损坏,对于 NTFS 卷,您应该chkdsk在 Windows 系统下运行,但几乎不可能恢复。有时您可能需要格式化磁盘。

  • 在格式化之前,请在 Linux 上尝试使用 `badblocks` 命令。 (3认同)

小智 7

对我有用的解决方案是将ntfs-3g版本从 2014 版本降级到 2012 版本。这应该可以解决您的 ntfs 分区访问问题。从长远来看,这不是一个解决方案,因为最终您将需要运行最新版本。

更多信息在这里

  • 非常感谢。那解决了我的问题。我从源代码安装了最新的稳定版本 (2016.2.22),现在它可以完美运行。我使用的安装说明:http://www.tuxera.com/community/open-source-ntfs-3g/ (3认同)