系统事件日志中存在如下错误:“设备\ Device \ Harddisk1 \ DR1有一个坏块”。
因为上面我在这个磁盘上创build了Raid 1。 我正在使用Windows Server 2008 R2软件RAID卷。
磁盘pipe理器中的卷标记为“失败冗余”和“风险”。 我可以命令“重新激活磁盘”,并开始重新同步,但过了一段时间,它会停止并返回到以前的状态。 它会停止旧磁盘上坏块的重新同步,并在系统事件日志中创build相同的错误。
旧磁盘状态为错误,新磁盘状态为联机。
我如何检查新磁盘上是否有完整的旧磁盘副本? 这是服务器机器,所以我希望在检查期间保持运行。
我只是想摆脱这个错误的磁盘,并保持它在新的一个。 我不关心坏道,因为我有数据备份。 我只是不想重新安装整个事情。

首先:
在事实之后创build一个RAID 1卷并不是处理磁盘错误的有用方法。
由于RAID 1镜像的创build在达到坏块的位置时失败,因此可以安全地假定您没有具有坏块的原始磁盘的完整副本。 没有必要validation这个假设。
卸载磁盘1后,在驱动器C:和G:上运行chkdsk /r 应标记坏扇区,将任何可读数据移动到驱动器的其他区域,并防止将来读取有关相同坏扇区的错误。 它不会阻止有坏扇区的磁盘进一步恶化。
如果chkdsk /r没有解决这个问题,这里有一种将所有可恢复数据移动到新磁盘的方法,避免由于坏块而导致的故障:
mount命令的输出,不带任何参数运行可能会有所帮助。) 使用dd命令将旧硬盘复制到新硬盘。 一定要指定noerror和sync选项,以便坏块将被忽略。 他们的内容(已经丢失)将被replace为新的驱动器上的零,因此跨越坏块的任何文件都将被损坏。 但是,这些文件已经不可读了,所以不会造成额外的伤害:
dd if=/dev/<Disk0> of=/dev/<Disk1> bs=512 conv=noerror,sync
用上面的<Disk0>和<Disk1>代替实际的设备标识符(例如sd0 , sd1等)。 不要不小心从新磁盘复制到旧磁盘,因为这将是灾难性的。 此外,由于块大小较小,因此应预先警告此操作将运行缓慢 (即比磁盘的顺序读取/写入速度慢得多)。 但是,我不认为它会工作,使用noerror和sync (忽略坏扇区和填补零新的驱动器上,而不会丢失任何可恢复的数据),除非dd的块大小设置为实际大小一个磁盘部门。
从概念上说,为了使镜像的创build成功,来自源卷的所有数据必须是可读的,以便目标磁盘包含源的精确副本。
所有现代SATA驱动器都有内部机械装置,可以将坏块自动重新映射到备用位置。 驱动器可以在某些情况下自动进行重新映射,例如写入失败到某个位置。 然而,由于无法读取磁盘的内容以重新映射数据,驱动器不能在随后的读取失败时重新映射。 因此,留下错误是对磁盘驱动器可能的破坏性最小的行为。
今天的大规模多TB驱动器甚至发生在一个完全健康的磁盘上。 只是因为几块不可读不会自动跟随磁盘坏或需要更换。
当您在Windows和大多数其他操作系统中设置镜像时,用于检测和修复坏块的chkdsk命令毫无意义。 Chkdsk将不会纠正这些问题。 原因是chkdsk在文件系统级别工作,并在文件系统结构中存储坏块。 RAID在文件系统下面的磁盘级别工作,因此完全忽略了NTFS和NTFS坏块列表的存在。
通过内部重新映射修复磁盘读取错误的方法只是写入无法读取的块。 如果该区域有缺陷,则磁盘将透明地重新映射该区域,并且对其进行的后续读取将成功。 这是纠正读取错误的最快速和最less的途径,因此可以同步磁盘,但可能不是最安全的,因为写入行为密封了恢复不可读数据的所有希望。 此外,如果适用于写入磁盘,您可能会怀疑是有缺陷的不是一个获胜的政策。
不幸的是,我不知道一个实用程序的存在,它将读取和覆盖坏块,如果在经过合理数量的读取尝试已经耗尽后无法读取。 以前,我不得不使用'dd'来手动完成这个工作,方法是扫描不可读的位置并在其上面写字。
更安全的方法是使用诸如ddrescue(可从sourceforge获得的g4l(Ghost4Linux)iso映像引导)的工具制作磁盘的副本。dd恢复通过复制尽可能多的数据,然后最终重试那些具有读取错误的块直到所有的重试都已经耗尽。 如果你怀疑驱动器可能会失败,这是一个更安全的方法。
更新:这不是 根据Microsoft的正确答案。
您可以运行文件系统检查坏块,它会告诉您磁盘上是否有任何不可读的数据。 右键单击每个磁盘(C:和G :),select工具,错误检查。 并确保select“扫描并尝试恢复坏道”。
如果在磁盘0上有一些不可读的数据,你就会知道它,因为Windows最终也会把Disk 0标记为坏。
对于命令行用户:
chkdsk /RG: chkdsk /RC:
不知道该怎么做100MB的启动分区,但我敢打赌,你可以检查它(它确实说它是NTFS)。