在使用“dd”和实时 cd 之前,我曾使用 dd 来克隆硬盘,但遇到了问题。
问题:
dd 在 /dev/sda3 上失败并出现“输入/输出错误”,即使 Windows“检查磁盘”(chkdsk)说一切正常。
语境:
- 尝试用相同大小的更快硬盘替换我的笔记本电脑硬盘
- 笔记本电脑有 320GB 硬盘,采用 NTFS 文件系统
- 启动进入 knoppix
- Knoppix 识别“原始”驱动器(
/dev/sda
) - 我正在使用 USB 连接“新”驱动器(无关紧要,仅供参考)
- Knoppix 将 USB 驱动器识别为
/dev/sdb
使用
dd
,如下所示:dd if=/dev/sda of=/dev/sdb
`dd 在 82Gb 处给出上述 I/O 错误(总共 320Gb)
然后我尝试按如下方式检查每个分区,发现失败
/dev/sda3
:dd if=/dev/sda1 of=/dev/null dd if=/dev/sda2 of=/dev/null dd if=/dev/sda3 of=/dev/null
我已在“仅查找”和“查找并修复”模式下对有问题的驱动器运行了 windows xp chkdsk,并且它未报告任何错误
问题
我如何才能找到并修复原始硬盘分区(即 /dev/sda3)上的错误,以便 dd 成功读取它?
答案1
使用救援为此,它能够读取损坏的磁盘。
而且 chkdsk 可能无法发现问题,因为它只对文件系统完整性进行基本检查;默认情况下,它不会检查所有分区空间是否存在因损坏而导致的读取错误。
答案2
我遇到了同样的问题,我的 OpenSUSE livecd 没有包含 ddrescue 或 Clonezilla。但是,当我查看 dd 手册时,我发现有一个选项“conv=noerror”,它允许 dd 在出现 I/O 错误后继续运行。
dd conv=noerror if=/dev/sda of=/dev/sdc
答案3
要将数据复制到不同的硬盘,请尝试使用特殊工具。Norton Ghost(商业)或 Clonezilla(开源)http://clonezilla.org/