我有一台 Linux 机器想要克隆,但我必须经常使用它,无法将其关闭以使用 CloneZilla 或其他需要从实时媒体启动的软件。有没有什么方法可以克隆正在运行的 Ubuntu 机器而无需关闭操作系统?理想情况下,我想要一个可以帮我处理细节的程序。因此,单击或单击几下即可完成的程序将是理想的选择。
我已经看到您可以使用 rsync 来执行此操作,但需要进行大量设置,尤其是因为我的驱动器大小不完全相同。我更喜欢使用更简单的方法。
答案1
免责声明:我是 WereSync 的原作者
同步可以克隆正在运行的驱动器。它还可以克隆到不同大小的驱动器,如果需要,还可以克隆到较小的驱动器。
安装方式pip
:
pip install weresync
然后以 root 权限运行该程序。它需要 root 权限,因为它必须访问您的块设备才能进行复制。以下是 GPT 分区表:
sudo weresync -C --grub-partition 2 --efi-partition 1 /dev/sda /dev/sdb
此命令将在 /dev/sdb 上创建 /dev/sda 的可启动克隆。该-C
标志表示目标驱动器可能没有与源驱动器相同的分区方案。如果检查失败,WereSync 将重新分区目标驱动器,使其与源驱动器匹配。在第一次备份后,您可能希望删除此标志,因为检查机制有时会返回误报并会删除之前的备份。WereSync 会增量备份,因此如果您之前的备份完整无缺,备份速度会更快。
应将 grub 安装到的分区号传递给标志--grub-partition
。这通常是安装在 上的分区/
。因此,如果您的根分区为 /dev/sda2,请传递--grub-partition 2
给 WereSync。
该--efi-partition
标志仅与 UEFI 系统相关。它应该是您的 efi 分区的编号。如果您的 efi 分区位于 /dev/sda1 上,请传递--efi-partition 1
给 WereSync。要查找您的 efi 分区,请使用sudo parted /dev/sda p
并查找带有“boot”标志的分区。它的编号位于最左边的列中。
如果您的启动目录位于单独的分区上,则需要将该分区的编号传递给标志--boot-partition
。
此命令将删除 /dev/sdb 上的所有数据,因此请确保保存您想要的任何数据。更多文档和命令行选项可以在以下位置找到WereSync 文档。
WereSync 使用 rsync,正如问题中提到的那样,但可以自动完成复制过程。它还将更新您的 fstab 并重新安装 grub 以使克隆可启动。但是,由于 Linux 系统的差异,某些设置可能无法正常工作。
由于使用 rsync,使用 WereSync 制作的克隆将会逐步更新,大大提高克隆的速度。