使用 DD 克隆硬盘可能会损坏 PC 吗?

使用 DD 克隆硬盘可能会损坏 PC 吗?

我希望克隆一个 500GB 的硬盘,因此我启动了 Kali Linux 并运行以下命令:

dd if=/dev/sda of=/media/root/usb/windows.img bs=64k conv=noerror

这一切都运行良好,映像已制作完成并能够启动。但是,当实际 PC 启动时,会显示以下消息:

An operating system wasn't found. Try disconnecting any drives that don't contain an operating system. Press Ctrl+alt+Del to restart.

这可能只是巧合,但似乎不太可能。我目前无法物理访问这台计算机,我的问题是,运行此 dd 命令是否会导致计算机无法找到任何可启动驱动器?

答案1

不太可能dd 命令本身不会对启动产生任何不利影响,因为它所做的就是从驱动器 /dev/sda 读取数据并将其写入物理位于另一个存储设备上的映像文件中。

不太可能并不意味着不可能。检查是否可以排除以下两种情况。

例外 1:我注意到您传递了选项conv=noerror。通常,此选项用于从故障存储设备中提取数据(实际上,您将使用conv=sync,noerror与硬盘物理扇区大小匹配的 bs 值)。它的作用是导致 dd 在遇到正在读取的驱动器上的坏扇区后继续进行,因此您希望可以从映像文件中提取数据,该文件可能仍包含由故障驱动器导致的数据损坏,但现在位于安全存储中。从另一个角度来看,如果您怀疑驱动器是健康的,那么您确实不是想要通过conv=noerror,这样如果 dd 失败,您就知道驱动器有问题。

假设您正在读取坏驱动器,那么 dd 本身的读取可能会导致驱动器上出现更多坏扇区,就像任何其他程序的任何其他读取操作(如正常启动 PC)一样。如果这是真的,那么 dd 很可能是该扇区的最后一次成功读取。

例外 2:此外,虽然上面引用的 dd 调用是正确的,但是在手动输入 dd 命令时,很容易将“if”换成“of”,这很容易导致硬盘上的数据无法使用。

即使您现在不确定 dd 是否弄乱了您的数据,也不要忽视查看启动失败的其他原因。以下是一些可能对您有所帮助的提示,也许可以让您更准确地描述问题:

您正在阅读的消息 ( An operating system wasn't found [...]) 来自 Windows 引导加载程序。因此,BIOS 找到了一个带有此引导加载程序的磁盘,但该磁盘却找不到与之配合的 Windows 安装。您是否希望引导至 Windows?

您是否尝试运行描述中的源硬盘驱动器、具有新磁盘映像的硬盘驱动器或其他安装?

您是否更改过任何 bios 启动选项,例如启动 Kali 时?您确定 bios 现在指向正确的驱动器吗?(或者可能是以前用于 Windows 安装的驱动器?)

如果您的描述完整,则说明您实际上并没有“克隆”硬盘,而只是在现有文件系统中创建了一个映像文件(可用作备份)。可以将正确克隆的硬盘插入 PC 以替换原始硬盘,但目前为止,这还不起作用。此外,如果源硬盘出现故障,映像可能会损坏。您可能想阅读有关使用 dd 进行克隆的更多信息在这个基本例子中在有关 conv=sync,noerror 的讨论中

相关内容