Linux下如何备份和恢复到不同的硬件?

Linux下如何备份和恢复到不同的硬件?

我在戴尔笔记本电脑上运行 Fedora 22。我计划很快迁移到也运行 Fedora 22 的台式机。将我的笔记本电脑配置备份和恢复到新系统的最佳方法是什么?我的系统上没有任何第三方备份/恢复软件。 dd 能为我工作吗?系统级备份是否有效,或者我是否需要将 dd 限制为非“硬件或设备”特定的分区。我也愿意接受任何其他建议或想法。

答案1

我支持全新安装然后 rsyncing 的方法/home。但是,为了完整起见,如果您想将磁盘从一台计算机移动到另一台具有其他硬件的计算机(无论是字面上还是通过dd复制内容),请确保运行

sudo dracut --force --no-hostonly

在进行备份或复制之前在计算机上。

这将生成通用的初始启动映像。

默认情况下,Fedora 通过创建可能特定于您的特定硬件的启动映像来节省空间和时间。

如果您忘记执行此操作并且机器无法启动(由于启动映像中缺少硬件支持),请使用初始启动加载程序屏幕上的救援模式菜单项 - 这始终具有更大的通用启动映像,并且会得到进入系统后,您可以运行 dracut 命令来为您的非救援环境生成初始 ramfs。 (不过,在这种情况下,您必须确定内核版本。查看/boot并提供编号,如下所示:dracut --force --no-hostonly --kver 4.2.3-300.fc23。)

答案2

这里有几种不同的选择,每种都有不同的效果和权衡。

首先,您可能不想对 做任何事情dddd运行块级副本;它精确地镜像磁盘映像,而不关心文件。这将在其关联的文件系统中携带文件,但这里存在问题:如果两个设备位于同一台机器上,您可能会由于相同的 UUID 而感到困惑;它显然排除了您可能希望进行的任何文件系统级别的更改,例如在文件系统之间迁移、分配更多 inode 或其他;并且它要求目标块设备与源块设备的大小相同,但情况通常并非如此。 (如果目标大于源,它仍然可以工作,但是在运行单独的调整大小操作之前,您将无法访问额外的空间。如果目标较小,它将失败,您将无法访问”即使文件系统中有足够的可用空间,也无法访问您的数据。)

主要用例dd可能是您将根或启动文件系统从一台计算机克隆到另一台计算机,这本身就是一个令人担忧的话题。这dd是合适的,因为您通常希望保留 FS UUID 等,以保持引导过程正常运行。但您可能不想这样做。 (另一种用途实际上是处理 U 盘、CD 等磁盘映像,但这与这里无关。)

您更可能想要做的是文件级备份/恢复。为此,我发现rsync如果两台机器同时启动,效果会非常好;如果没有,使用 可能会更好tar。假设您在桌面系统上运行了全新的 Fedora 安装,您应该能够通过 rsync/tar 将目录/home从一台计算机迁移到另一台计算机。这将保留所有用户文件和大多数用户级自定义(例外是存储在外部的 crontab 之类的内容/home)。然后,为了正确模仿旧的设置,剩下的就是通过包管理器安装所有相同的软件。由于保留了大多数软件存储其配置的主目录,因此再次安装它应该会让您的工作按原来的方式进行。

相关内容