我如何才能将可启动的 Windows 分区(而不是磁盘)克隆到文件中?

我如何才能将可启动的 Windows 分区(而不是磁盘)克隆到文件中?

我有一块大小为 的硬盘1 Tb。我已创建并安装了windows Xp大小为 的分区10 Gb。我想将该分区克隆到另一个磁盘上的文件,以便我可以dd将该分区克隆到任何新磁盘,从而使其成为10 Gb分区的完全相同的克隆。

笔记我不想将整个1Tb磁盘克隆到一个文件中,而只是克隆可启动10Gb分区。分区是一种GPT类型。

我正在专门寻找可以通过 启动系统时使用的任何命令live CD

欢迎任何建议。

答案1

所以我可以做我想做的事。

我使用gnu parteddd仅复制可启动分区。

我首先使用parted命令来print获取驱动器的开始和结束/dev/sda,然后记下可启动驱动器的开始和结束。例如,结束位置为 7890Mb,只需将其转换为字节并除以 512(这是我正在使用的驱动器的块大小)。假设这个结果是N。结果将是您将提供给dd命令的计数。

现在只需使用dd if=/dev/driveWhereBootablePartionExist of=/backup/img.img上面的 count=N bs=512(或块大小)

这导致分区的完全可启动映像文件等于分区大小。

答案2

您可以使用dd复制整个分区,如下所示:

dd if=/dev/sda3 of=windows-xp.img

/dev/sda3根据需要更改输出文件名。)然后,您可以逆转该过程将其复制回来:

dd if=windows-xp.img of=/dev/sda3 bs=4096

请注意,我已将其添加bs=4096为一个选项。这会导致输出以 4096 字节的块发送,这在大多数现代磁盘上可能会更快。(不过,这在创建备份时几乎没有影响。)

虽然使用dd(如您在问题中所述)可以工作,但效率不高。更好的方法是使用名为 的工具ntfsclone,至少假设分区使用 NTFS。(这是一个 Linux 工具。根据您指定dd并表示您正在使用实时 CD 的事实,我假设它是 Linux。)要使用 克隆分区ntfsclone,您可以使用类似下面的方法:

ntfsclone --save-image --output windows-xp.img /dev/sda3

恢复它需要这样的命令:

ntfsclone --restore-image --overwrite /dev/sda3 windows-xp.img

在手册页的末尾有更多使用示例ntfsclone(输入man ntfsclone即可阅读)。

的优点ntfsclone是它使用稀疏文件格式,这意味着它不会备份未使用的扇区。相比之下,dd复制所有内容,因此如果分区有大量未使用的空间,dd可能会花费更长时间,并且肯定会占用更多磁盘空间。根据安装 XP 之前的磁盘状态,压缩备份dd可能没有太大帮助,因为未使用的扇区上可能有旧数据。

无论哪种方式,都需要牢记以下几点:

  • ntfsclone和都dd将备份 Windows 分区中的引导加载程序数据,但不会备份磁盘 MBR 上的引导加载程序数据。您必须单独备份它。(另一方面,您说磁盘是 GPT,而 Windows XP 无法从 GPT 磁盘启动,除非是一些奇特的 Itanium 版本,如果我没记错的话。您是在虚拟化环境中使用它吗?)
  • ddntfsclone如果您输入了错误的设备文件名,尤其是在恢复映像时,这非常小心!
  • 您需要有root权限才能执行这些命令。根据您的 Live CD 环境,这可能是默认设置,或者您可能需要将其添加sudo到每个命令的开头。

答案3

尝试分区。它可以将分区复制到另一个磁盘。或者可以像这样使用 dd:

dd if=/dev/sda1 of=/dev/sdb1 bs=1M

您需要重新安装引导加载程序,以使其在复制后可引导。

相关内容