如何克隆到较小的硬盘?

如何克隆到较小的硬盘?

如何将硬盘克隆为较小尺寸的硬盘。

  1. Clonezilla 很棒,但是它不支持这样的功能。
  2. 而且ddPartImage 也不支持这种需求。
  3. rsync不会复制 MBR,因为 MBR 不是文件。

我需要克隆硬盘而不是进行备份,所以这rsync不是一个可接受的答案。

有什么建议么?

答案1

你显然不能克隆将较大的分区更改为较小的分区(使用dd等),因为空间根本不够。

但是,如果较大分区上的文件也适合较小的分区,则可以使用rsync来复制这些文件。要使用的确切选项取决于您的特定用例,但要简单地复制所有文件,应该执行以下操作:

rsync -av /mount/point/of/large/partition/ /mount/point/of/small/partition

编辑: 再次:无法将较大的分区克隆到较小的分区上(但请继续阅读,您的问题仍然可以得到解决。)

原因很简单:源分区比目标分区大。您期望什么?应该删除一些块吗?哪些块?又该如何dd知道?当然,您可以使用dd'sbs=count=选项仅复制源分区的前多少个块,以便将其复制到目标分区中,但最终会得到一个损坏的分区。这肯定不是您想要的。

所以,既然你无法克隆将较大的分区放到较小的分区上,你唯一能做的就是第一的使用类似这样的软件将源分区的大小减小到小于或等于目标分区的大小gparted,这样你就不会丢失数据。而且只有然后您可以使用dd它来克隆分区。理想情况下,源分区的新大小应为平等的到目标分区的大小(而不仅仅是小于或等于),否则克隆后目标分区上会留下一些未分配的空间。

另请注意,您应该不是只需将较大驱动器的 MBR 复制到较小驱动器的 MBR 上(反之亦然)。MBR 的大小为 512 字节,是硬盘的第一部分,其中包含有关硬盘布局的信息:

  • 446 字节 - 引导。
  • 64 字节——分区表。
  • 2 个字节 - 签名。

(注意446+64+2=512。)

如果您坚持要克隆 MBR,那么只需克隆前 446 个字节,如下所示:

dd if=/dev/source of=/tmp/mbr.bak bs=512 count=1
dd if=/tmp/mbr.bak of=/dev/target bs=446 count=1

...用源硬盘和目标硬盘的设备名称分别替换/dev/source和,例如和。(/dev/target/dev/sda/dev/sdb更多信息请点击这里。

但是,正确的方法是在新硬盘上重新安装一个干净的 Grub(或 MBR 上的任何内容)。

总而言之,如果您想将较大的驱动器克隆到较小的驱动器上,请按以下步骤操作:

  1. 在目标驱动器上布置分区表,分区数量与源驱动器上的分区数量相同。源驱动器上的分区和目标驱动器上的分区应该一一对应,但目标驱动器上的(某些)分区可能小于源驱动器上的相应分区。为此, 请使用fdisk或之类的工具。cfdisk

  2. 对于目标驱动器上小于源驱动器上相应分区的每个分区,请减小源驱动器上相应分区的大小,以匹配目标驱动器上分区的大小。gparted为此,请使用诸如 的工具。

  3. 对于源驱动器上的每个分区,发出命令

    dd if=/dev/sdaX of=/dev/sdbY
    

    ...将源驱动器的分区克隆/dev/sdaX到目标驱动器上的相应分区/dev/sdbY(当然,适当地替换设备名称。)

  4. 如果您坚持要克隆 MBR,请使用dd本文后面提到的两个命令(带有/tmp/mbr.bak内容的命令)。但是,请记住,最好重新安装一个干净的 Grub。

答案2

精确克隆是不可能的,正如 Malte Skoruppa 已经发布的那样。但是,只要较大的磁盘未满,clonezilla 就可以完成此任务(Malte 已经提到了这一点)。

基本上,您需要启用高级选项并“忽略”有关较小磁盘的警告消息。请参阅Clonezilla 文档请参阅带有屏幕截图的详细信息。我在将 160GB HDD 的备份恢复到 64GB SSD 时遇到了同样的问题。对我来说,这种方法很有效。

另一个解决方案应该是您想要的结果,即恢复到相同大小的磁盘并重新分区,以使新的分区模式适合较小的磁盘。请参阅jsm-techblog.blogspot.de了解有关如何执行此操作的详细信息。

答案3

分区应该做这项工作

  1. 使用 gparted 调整大小后,从驱动器启动,以便操作系统有机会在使用 Clonezilla 进行映像处理之前修复任何错误。

  2. 然后运行 ​​Clonezilla 并复制所需的硬盘分区

我发现另一个对我来说很棒的选择:蒙多救援

Mondo Rescue 是一个 GPL 灾难恢复解决方案。

它支持磁带、磁盘、网络和 CD/DVD 作为备份介质、多种文件系统、LVM、软件和硬件 Raid。

可以找到一个简单的指南这里

我将发布一些截图:

步骤 1 备份(分区截图)

1.从支持的备份媒体类型列表中选择。

在此处输入图片描述

2.如果您要备份到 CD/DVD-+R[W],Mondo 会询问您的 CD 刻录机是否具有 BurnProof 技术、是否位于笔记本电脑内,或者是否存在其他异常。如果您要备份到磁带机,则不会看到此消息

3. 你想要多少压缩?如果你的磁带播放器有内置硬件压缩,则不需要。如果你的 CPU 速度超快,则需要最大压缩。在大多数情况下,平均压缩就足够了。

在此处输入图片描述

4.如果您要备份整个计算机(当然不包括 /sys、/run 和 /proc,以及 /tmp),则保留默认的 /。否则,请指定子集(例如 /usr/local|/home),确保在每个路径之间放置一个管道。

在此处输入图片描述

5.如果您要备份整个计算机,那么您可能需要排除某些目录,例如 /shared/MP3。请在“排除目录”对话框中指定它们。请在每个路径之间添加一个管道,例如 /shared/private|/scratch|/nfs|/windows

在此处输入图片描述

6. 您的内核是否合理?Red Hat、Mandrake、SuSE、Debian 和 Slackware 用户通常应该回答“是”,因为这些供应商擅长生产可靠的内核。如果您使用的是 Gentoo 或 LFS,那么您的内核可能不是标准的,在这种情况下,请说“否”,使用 Mondo 的故障安全内核(单独提供)。

在此处输入图片描述

7.如果您想在将档案写入媒体后对其进行验证,请在此处选择“是”。如果您对您的硬件和 Linux 发行版有绝对的信心,请说“否”... 并祈祷一下。

在此处输入图片描述

8.如果您确定要继续,请说“是”,然后在 Mondo 备份您的计算机时找点其他事情做。如果您说“否”,那么您将被毫不客气地丢弃在 shell 提示符下。:-)

在此处输入图片描述

9.现在将开始备份过程。首先需要执行一些备份前的任务,但备份实际上正在进行中。为了简化备份过程,系统会询问您一系列问题。下次,如果您愿意,您可以使用各种命令行开关调用 mondoarchive 来控制其行为,而不是回答一系列问题。有关详细信息,请参阅手册页。

在此处输入图片描述

10.Mondo 将对所有要备份的文件进行编目。这可能需要长达五分钟的时间。文件列表将分为几组,每组文件大小约为 4 MB(压缩前)。这通常需要一分钟。

在此处输入图片描述

11.Mondo 调用 Mindi。Mindi 会根据您现有的 Linux 发行版和文件系统生成可启动媒体映像和辅助数据磁盘映像。这样,您就可以确保 Mondo 的工具与您现有的文件系统和二进制文件兼容:Mondo 的工具就是您的工具。Mindi 最多需要五分钟才能运行。

在此处输入图片描述

12.最后,Mondo 开始备份您的计算机。此过程可能需要几分钟或几个小时,具体取决于您要存档的数据量、CPU 的速度、RAM 的大小等等。它将备份您的常规文件,然后备份您的大文件(大于约 32MB 的文件)。如果您选择验证您的备份,Mondo 也会这样做。

在此处输入图片描述

步骤 2 恢复(分区克隆)

1.选择备份媒体的类型。实时恢复过程与从 ​​Mondo 媒体启动后输入不带参数的 mondorestore 时所经历的过程非常相似。

在此处输入图片描述

2.插入磁带/CD 后点击“确定”。如果您生成了磁带备份,磁带本身就足够了。如果您生成了 CD 备份,第一张 CD 就足够了。否则,您可能需要启动媒体。

在此处输入图片描述

3.标记要恢复的文件和目录。使用“更多”和“更少”按钮打开和关闭子目录。

在此处输入图片描述

4.指定要将文件还原到的位置。通常,“/”是合适的。如果您不想覆盖要还原的文件的较新版本,请指定 /tmp/BKP 或类似文件作为还原路径。

在此处输入图片描述

5.Mondorestore 将从媒体中检索配置信息。(示例屏幕适用于磁带用户。CD 用户将看到不同的内容。)

在此处输入图片描述

6.数据将被恢复到硬盘 - 首先是常规文件,然后是恢复集中的任何大文件(32MB 或更大)。

在此处输入图片描述

答案4

可以使用 Clonezilla 将较大的硬盘“伪克隆”到较小的硬盘。您可以有效地保存和恢复磁盘的分区。以下步骤(针对 HDD 到 SSD 的传输而开发)将帮助您实现此目的:

  1. 第一个技巧是使用 Gparted 调整硬盘上的分区大小,缩小每个分区以减少其中包含的未使用空间量。显然,分区的大小必须使得所有分区所需的总空间小于 SSD 的容量。

  2. 然后运行 ​​Clonezilla 并复制各个硬盘分区(使用 saveparts 选项),将其临时存储在外部 USB 驱动器上。请注意,必须保存分区(saveparts),而不是制作整个磁盘的映像(savedisk)。

  3. 在目标机器上安装 SSD 后,第二个技巧是再次使用分区管理器在 SSD 上创建所需的分区结构。
  4. 然后使用 Clonezilla 将保存的分区(使用 restoreparts)恢复到 SSD 上。

看:将硬盘“克隆”到较小的 SSD了解有关该过程的更多讨论以及一些参考资料的链接。

相关内容