我想将我当前的 Linux 系统复制/克隆到另一台笔记本上,因为我担心我当前的系统迟早会死掉,并且我会丢失所有的 Linux 设置、工具和文件结构。
我听说过,rsync
但我很不确定这个工具是否真的能达到我想要的效果。主要部分是安装快照我当前的linux到另一台机器。
答案1
最简单的方法
最简单的方法是从连接旧磁盘和新磁盘的计算机上的实时安装启动,并使用 批量复制数据cat
。例如,假设旧磁盘是/dev/sdo
,新磁盘是/dev/sdn
(确保您的设备名称正确 - 如果您复制到旧磁盘,您的数据将会丢失!):
cat /dev/sdo >/dev/sdn
这假设新磁盘至少与旧磁盘一样大。然后放大新磁盘上的分区以根据需要填充它。
一些让您拥有更多控制权的方法
如果新磁盘更大,您可能更愿意首先创建分区表,然后复制每个分区(例如cat /dev/sdo1 >/dev/sdn1
)。您可以跳过交换分区并调用mkswap
(例如mkswap /dev/sdn1
)。复制文件系统后,如果目标分区较大,则需要扩大文件系统以匹配,以便从增加的大小中受益(resize2fs /dev/sdn1
如果/dev/sdn1
包含 ext4 文件系统)。
或者,您可以通过复制分区的所有文件来复制分区。您需要在目标分区上创建一个文件系统,安装源分区和新分区(例如分别在/media/old
和/media/new
)并运行
cp -ax /media/old /media/new
这可能比复制原始分区慢或快,具体取决于它包含的文件数量。
如果您不批量复制磁盘,则需要在新磁盘上安装引导加载程序。执行此操作的典型方法是将新安装安装在例如上/media/new
并运行
chroot /media/new
grub-install /dev/sdn
但这取决于您的引导加载程序和磁盘配置。另一种可能最不痛苦的方法是使用发行版安装程序中的“恢复引导加载程序”选项(如果有)。
完成复制后
请按照以下步骤操作 将 Linux 安装移动到新计算机使安装不同。如果不这样做,继续使用旧安装可能会遇到麻烦。
答案2
rsync 的行为更像 scp,通过网络连接复制小文件。将硬盘驱动器拉出并将其用作新计算机的外部并从那里克隆会容易得多。也就是说,用于该特定目的的最佳工具可能是 tar 和 ssh,因为它避免了 rsync 和 scp 执行的单个文件检查:
tar -c /path/to/dir | ssh remote_server 'tar -xvf - -C /absolute/path/to/remotedir'