dd 克隆 2 个硬盘,2 个操作系统和一个加密分区

dd 克隆 2 个硬盘,2 个操作系统和一个加密分区

所以,我对这个复杂的备份过程有疑问。我的电脑有一个 32GB 的 SSD,Ubuntu 13.10 和该系统上运行的所有程序都位于其中。该驱动器上只有一个分区,即/dev/sdb1分区ext4。然后还有另一个 1TB 的 HDD,其中有 4 个主分区:

/dev/sda1    ext4    Data drive
/dev/sda2    NTFS    Data drive
/dev/sda3    NTFS    Windows 8.1
/dev/sda4    ext4    TrueCrypt Encrypted Partition

如果可能的话,我希望有一个解决方案,它使用ddLive CD,可以将/dev/sda和备份/dev/sdb到 4TB 外部硬盘上,并且我想保留 GRUB 引导加载程序和所有其他信息,以便在发生病毒或其他攻击(例如硬盘故障)时恢复映像时,我可以启动 Ubuntu 和 Windows。我应该使用什么命令?我在想这个:

我们假设这/dev/sdd是外部硬盘,我提出了 2 个解决方案:

解决方案 1:

  • 划分dev/sdd/dev/sdd1/dev/sdd2
  • dd if=/dev/sdb of=/dev/sdd1dd if=/dev/sda of=/dev/sdd2

解决方案 2:

  • 分区/dev/sdd/dev/sddX哪里1 <= X <= 5
  • dd if=/dev/sdb of=/dev/sdd1直到。dd if=/dev/sdaX of=/dev/sdd(X + 1)X = 5

对于我的目的来说,这是一个好的解决方案吗,或者还有更好的解决方案?

哦,对了,一个驱动器最多可以有 4 个分区!我突然想起来!那我该怎么办呢?

答案1

我不认为这个计划是正确的,原因有很多:你不能/不应该设备到分区,你忘记在 dd 命令中引入偏移量,因此你将覆盖数据,将复制所有空白,并在目标硬盘上留下许多空白,启动信息将丢失/损坏,您的磁盘上可能有 ms-dos 分区表,而 4TB 磁盘需要 GPT 分区表才能寻址其所有卷,等等。

我会分段进行。从实时发行版启动,例如 Ubuntu(选择无需安装即可试用 Ubuntu...),打开终端并安装分区

 sudo apt-get install gparted.

1)使用 gparted 在 4TB 磁盘上创建 GPT,IE一个与 ms-dos 分区表不同的新格式的分区表,那么...

2)创建与您使用的两个磁盘具有相同尺寸和文件系统类型的分区。

3)如果愿意,可以在 4TB HDD 的剩余区域添加其他分区。

4) 现在您可以克隆分区。卸载所有磁盘后,发出:

  sudo dd if=/dev/sda1 of=/dev/sdc1 bs=4096 conv=notrunc,noerror
  sudo dd if=/dev/sdb1 of=/dev/sdc2 bs=4096 conv=notrunc,noerror

等等。

现在复制已完成,但无法启动。仍在您的直播中,按照说明下载并安装 Boot-Repair这里。系统将询问您要将 Grub 放在哪个磁盘上,以及您希望考虑哪些磁盘。如果,正如您所说,您需要 4TB HDD 作为备份,那么您应该将您当前的两个磁盘排除在检查之外,并指示 Boot-Repair 仅使用 4TB HDD。按照标准说明操作,在大多数情况下它们已经足够了。

现在从 4TB HDD 重新启动,检查一切是否正常。此时,如果有任何问题,则只涉及从新创建的磁盘启动,这是一项小任务。

答案2

mkdir /somewhere
mount /dev/sdd /somewhere
dd conv=noerror if=/dev/sda of=/somewhere/entire-sda.img
dd conv=noerror if=/dev/sdb of=/somewhere/entire-sdb.img

这确实有副作用,即把一个驱动器上的所有分区集中到一个文件中。但是所有内容都会保留下来。但是,dd 不是一种节省空间的处理方式,因为它会克隆出 GB 的可用空间。

相关内容