我运行的是 ubuntu 10.10 作为主机,Windows 7 作为客户机。大约几周前,我开始收到来自 vmware 的错误弹出窗口,报告无法读取或写入特定文件。
经过进一步调查,我发现即使以 root 身份也无法从 linux 命令行复制该特定文件。我得到了相同的输入/输出错误。
SMART 实用程序告诉我磁盘上有 69 个坏扇区(1 TB)
所以我的问题是 1) 我如何知道硬盘是否出现问题?2) 如果我在尝试复制时出现读/写错误,如何将 VM 文件移动到磁盘的其他部分?
答案1
我有很好的跑步经验SpinRite当我遇到坏扇区时,它会非常有效。它可以很好地查找(并且在许多情况下可以修复)硬盘上的坏扇区。如果驱动器状况非常糟糕,有时可能需要很长时间(超过一天),但请忍耐一下。
如果驱动器出现读取错误,最好换一个新的,因为驱动器很便宜。如果你不打算这样做,请确保你有好的备份。:-)
答案2
我会建议更换驱动器。驱动器很便宜。数据不便宜。如果您已经丢失了驱动器上的一些数据,那么我认为是时候换一个新驱动器了。我不会相信它,即使使用了 Scott 建议的实用程序。如果驱动器出现故障,并且这样的实用程序为您赢得了一些时间和虚假的信心,而驱动器在不久的将来完全出现故障,该怎么办。
现在也许也是考虑 RAID 的好时机。
编辑:现在这是一个 SuperUser 问题,而不是 ServerFault 问题,我的答案不太适用。对于服务器,您需要顶级硬件,如果它可能会出现故障现在更换。对于台式机或个人系统,您可能有更多回旋余地。但是数据丢失仍然是数据丢失,所以我会这样说:如果您决定继续使用驱动器,立即备份和经常备份因为根据您看到的症状,驱动器很有可能很快就会出现故障。
您可能需要尝试重新格式化驱动器并将开关传递-c
给它两次。这将以badblocks
读写模式运行程序并找到坏块,并将其映射,以便没有数据存储在那里:
mkfs.ext3 -cc /dev/something
/dev/something
这个分区的 dev 条目在哪里,例如/dev/sdb1
。