如何使用“dd”将 Windows 7 备份的原始文件恢复到新硬盘中?

如何使用“dd”将 Windows 7 备份的原始文件恢复到新硬盘中?

这是典型的情况,Windows 7 安装创建了一个大小约为 1.1GB 的系统分区,并创建了另一个分区,用于占用硬盘驱动器中剩余的可用空间。

目前我们手上有两个文件,它们是来自 dd 命令的原始备份:一个system.raw(~1.1GB)文件和一个win7.raw(~80GB)文件。

编辑问题附加信息:但我们也有初始硬盘。然而,这个硬盘总共有 500GB,更大比目标驱动器(SSD 90GB)大。这就是为什么简单的整个驱动器传输不起作用的原因

我们如何使用 dd 命令将这些独立的分区恢复到单个硬盘驱动器? 注意:硬盘驱动器是空的并且有足够的可用空间

编辑问题:我们还需要有关如何对齐分区正确。请记住,原始驱动器是 HDD,而目标驱动器是 SSD。从各种教程和 wiki 中无法理解目标是什么,对齐扇区还是对齐字节,以及如何以安全的方式准确地做到这一点。

答案1

最好对整个磁盘进行映像处理(或者至少对克隆的分区末尾的所有内容进行映像处理),因为这样就不需要重新创建分区,但这仍然是可能的。

基本上,您需要重新创建旧分区表。首先,确保您已将磁盘正确初始化为 MBR(有时称为 DOS)模式或 GPT 模式(无论原始磁盘使用哪种模式)。如果您不确定,并且磁盘小于 2TB,请先使用 MBR。

gparted使用 Linux liveCD/live flashdrive等工具qtparted初始化磁盘(如果需要)并创建分区,确保它们的大小正确。使大小尽可能接近完美 - 您应该能够使其完全匹配 - 但太大总比太小好。太大的分区只会导致一点空间浪费,这没什么害处。

如果您使用的是 MBR(主引导记录),请将系统分区标记为可引导(“引导标志”或“活动”)。如果您使用的是 GPT(GUID 分区表),请将系统(1.1GB)分区为 EFI 系统分区。不必费心格式化它们或执行任何其他操作,它们只需存在于磁盘的分区表中(并具有正确的大小和元数据)。

创建分区后,您可以将备份中的数据复制到新驱动器上。您不需要格式化的原因是备份包含所有文件系统元数据 - 格式化工具会写出的相同内容 - 因此您只需要一个分区来放置每个映像文件的内容。命令将如下所示:

dd if=/mount/backup/system.raw of=/dev/sda1 bs=4M
dd if=/mount/backup/win7.raw of=/dev/sda2 bs=4M

/mount/backup/*.raw部分是备份映像的路径,这些映像可能位于某些外部或辅助存储上。该部分/dev/sda*是您刚刚创建的原始分区的路径;sda表示系统中的第一个硬盘,后面的数字表示哪个分区。如果您不确定,分区工具应该会指示您想要的路径。最后一部分只是告诉dd使用 4MB 块大小,以便复制速度更快;dd默认为非常小的块大小,这会导致现代硬件上的复制速度非常慢。

将映像扩展回磁盘后,您可以使用 的gparted“修复文件系统”功能使文件系统长度与分区长度匹配,尽管此步骤不是必需的(只是避免浪费空间)。尝试从硬盘启动。希望它能起作用。如果不行,并且您使用的是 GPT,则可能需要重新执行该过程,将磁盘初始化为 MBR。此外/或者,您可能需要从 Win7 安装或修复磁盘启动,并告诉它执行启动修复过程;这应该会重新安装引导加载程序并修复分区元数据。

在 Win7 再次启动后,您可以使用它gparted来修复长度(如果还没有这样做)和/或使用 Windows 中的磁盘管理将操作系统分区扩展到磁盘上的任何额外空间。

相关内容