如何备份 Ubuntu 系统并在另一台具有完全不同硬件的机器上恢复它?

如何备份 Ubuntu 系统并在另一台具有完全不同硬件的机器上恢复它?

我刚刚完成了 Ubuntu 安装。它包含我需要的所有软件包,并且我正确配置了我的应用程序。

我想备份此安装并能够将其恢复到具有不同硬件的不同计算机。

我读到的解决方案如下:

1- Save a list of the installed packages.
2- Backup the home directory.

3- Install the same version of Ubuntu on the new machine.
4- Restore the list of installed packages on the new machine.
5- Restore the backup of the home directory on the new machine.

这会保留我安装的所有软件及其配置吗?

答案1

这确实应该可以恢复所有软件及其设置,因为它们存储在您的主文件夹中(不要忘记复制隐藏文件夹,因为配置文件保存在那里!)。但是,以 root 身份运行的应用程序很可能会以这种方式丢失其配置。
为了避免麻烦,只需在目标计算机上选择与您从中复制所有内容的机器上相同的用户名和密码。我认为选择相同的主机名也是一个好主意。

答案2

我设置机器,对它们进行一些定制,然后将它们恢复到其他机器上,几乎总是使用不同的硬件,所以这是我通常所做的:

笔记:有时,当我在没有图形驱动程序或具有不同版本的机器之间移动时,我会遇到图形驱动程序的问题(通常是 nvidia)。


第一的:使用 sudo 以 root 身份运行大部分程序(你可以使用 锁定 root 命令行sudo -s


备份
1. 使用实时 CD 启动源机器
2. 插入足够大以容纳机器快照的存储设备。
3. 使用 tar 命令将所有内容备份到外部硬盘驱动器。
     例如:     tar cvpzf /media/BackupDrive/SystemBackup.tar.gz ./


恢复
1. 从实时 CD 启动目标机器
2. 使用分区工具 (gparted) 创建 ext4 和交换分区
3. 将备份解压到最近创建的分区上。
     例如:     tar xvpzf /media/BackupDrive/SystemBackup.tar.gz ./


修复 Grub 和引导扇区
我通常使用启动修复盘来实现这一点 https://sourceforge.net/projects/boot-repair-cd/

  • 如果机器位于同一个网络中,您可能需要更改它的名称(编辑 /etc/hostname )

  • 你可能还想用正确的硬盘 ID 来更新 /etc/fstab,为此运行命令blkid并获取每个分区的 UUID 字符串,然后使用你最喜欢的文本编辑器在相应的 fstab 文件行中替换它

答案3

我已经成功使用时间移位在 rsync 模式下将系统传输到另一台机器。


在旧系统上您可以:
  1. 启动到 Live CD(例如 LinuxMint),
  2. 插入外部硬盘,然后
  3. 在 rsync 模式下运行 Timeshift 备份并将其指向外部硬盘驱动器
    (您可能必须将外部硬盘驱动器格式化为 ext4)。

然后在新电脑上

  1. 使用 Live CD 启动,
  2. 插入外部硬盘,然后
  3. 使用 Timeshift 将外部硬盘上的备份恢复到新计算机。

注0: 您可能需要使用 EXT4 或 Linux rsync 兼容文件系统格式化外部硬盘或足够大的 USB 驱动器


注 1:如果你正在备份/恢复北卡罗莱纳州系统,仍然在 rsync 模式下使用 timeshift
(timeshift 的 btrfs 模式仅在同一驱动器/分区内拍摄和恢复快照)


笔记2:如果你正在备份/恢复北卡罗莱纳州具有多个子卷的系统,
您可能必须至少先创建:(
@根子卷)
@home(主子卷)
该问题可能已经修复




相关内容