如何使用Ubuntu将一个可引导的NTFS分区从一台物理硬盘复制到另一台硬盘?

我有一个安装了Ubuntu 11.10的USB闪存驱动器,我想用它来完成以下任务:
我有一个硬盘,分为4个分区。第二个分区采用NTFS格式,并包含一个完全功能的Windows安装。我想将该第二个分区复制到另一个空的物理硬盘上。
然而,有一个问题 - 我不能同时将两个硬盘连接到计算机上。不过,我有一个外部硬盘始终保持连接,并且比其他两个硬盘的空间多一倍以上。
我意识到这里有很多要考虑的事情:
- 这个过程显然涉及制作第二个分区的某种“镜像”,将其存储在外部硬盘上,然后将镜像复制到新的硬盘上。 - 我正在复制的分区是可引导的,并且在复制到新的硬盘上后也应该是可引导的。如果需要,我可以修复分区上的MBR。 - 旧硬盘和新硬盘的制造商、型号或大小并不相同。但是,新硬盘上有足够的空间容纳第二个分区。
非常感谢您对如何继续进行或可能遇到的问题提供的任何建议。如果我漏掉了重要的细节,请随时提问。

根据您的要求,在下面添加了一些指南,请告诉我是否理解错误。祝好运! - Bruno Pereira
2个回答

无需额外软件,使用您已有的工具

dd if=/dev/sda2 of=foo_file.img会创建一个与sda完全相同的副本,并将其保存为您指定的.img文件。

将其保存到外部设备上,并使用dd if=foo_file.img of=/dev/sday进行恢复。

逐步操作

  1. 从Ubuntu LiveCD启动并打开磁盘管理工具(或者在终端中使用sudo fdisk -l),找出要复制的磁盘。

  2. 挂载外部设备,将.img文件保存到其中,不要挂载要制作镜像的磁盘!

  3. 使用dd if=/dev/sda2 of=foo_file.img命令,将/dev/sda2替换为要复制的实际分区,将foo_image.img替换为之前挂载的外部磁盘上的文件。

  4. 重新启动计算机,拔掉制作镜像的磁盘,并将新磁盘安装到计算机上。使用Ubuntu LiveCD启动计算机。

  5. 挂载包含.img文件的外部磁盘,并打开磁盘工具,确保我们要写入的设备正确。(可能会使用与刚刚拔掉的设备相同的设备路径)。千万不要尝试挂载新磁盘,因为根本没有需要挂载的东西!

  6. 使用dd if=foo_file.img of=/dev/sdax命令,将之前创建并存储在外部设备上的镜像写入新安装的磁盘。将sdax替换为正确的分区。

  7. 运行gparted,调整新创建的分区大小以适应新磁盘的额外空间。

  8. 重新启动并使用新磁盘启动计算机。

完成后,你可以将文件保留作为备份,直到确保一切正常运行。
我现在已经使用了这种方法很多次了,从来没有出过问题,但是谁也说不准。保留一个备份一段时间吧。

是的,如果出了什么问题,我总是可以恢复到原始驱动器。 - Nathan Osman
那也是,我在处理数据时只是个怪物。忽略任何你觉得绝对必要的东西吧 ;) - Bruno Pereira
1如果你使用的是最近版本的 dd,请一定要包含 status=progress,磁盘复制会花费很长时间! - Tobias J
如果您没有任何未使用的空间或外部存储器足够大以容纳磁盘映像,那么这种方法将无法奏效。 - Zauberin Stardreamer
1例子可能有点误导,我认为你想使用/dev/sda(没有任何数字)来复制整个磁盘(至少这对我有效,而仅复制单个分区则不行)。 - Martin Modrák

Clonezilla - clonezilla.org
一个免费的软件灾难恢复、磁盘克隆和部署解决方案。允许用户克隆单个计算机或多台计算机...

2但是我如何使用Clonezilla来实现上述目标呢?此外,克隆神龙似乎没有包含在存档中,所以安装说明也会很有帮助 :) - Nathan Osman