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

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

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

$ 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

我想知道问题出在哪里?

如何恢复或删除该目录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

答案1

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

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

编辑ntfs您是通过或安装它吗ntfs-3g?我记得,旧版ntfs驱动程序有稳定的写入支持,当事实证明ntfs-3g它更加稳定和安全时,它基本上被放弃了。

答案2

正如 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

答案3

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

答案4

没有人提到如果 Linux 工具无法工作并且只有 Mac 而不是 Windows 可用时该怎么办。

可以在 OS X 上修复帕拉贡NTFS

就我而言gparted,我说去找一台Windows PC,但无处可寻。但 Mac 已经出现,可以使用这款出色的软件。安装了试用版,执行核实, 然后维修- 瞧!

相关内容