如何将 Linux 安装迁移到更新的硬件?

如何将 Linux 安装迁移到更新的硬件?

我现有的家庭服务器安装了 CentOS 7,运行在硬件和 SSD 上,但 SSD 已经相当旧了。该系统基于 Intel:

  • 酷睿 i7 4770K @ 3.5 GHz
  • 16 GB 海盗船复仇 DDR3 内存
  • 技嘉 GA-B85-HD3
  • 三星 840 EVO 500 GB 固态硬盘
  • Linux内核:3.10.0-1127.19.1.el7

我刚刚尝试在基于 AMD Ryzen 的较新机器中启动驱动器,启动过程一点也不愉快,几乎立即出现内核恐慌和锁定。

memtest 上的当前机器显示了许多错误,列出了数百个随机内存位置,每次测试都不同。 SSD 被列为有坏扇区,所以我想升级机器。在保留当前操作系统的同时,我该如何解决这个问题?操作系统可以运行的兼容硬件的标准是什么?

答案1

因此,首先:如果您的 RAM 显示错误,SSD 也显示错误,则您当前的系统无法运行,并且不会丢失任何内容:) 这也意味着您无法使用旧系统执行创建备份等操作或者制作可启动的 USB 拇指驱动器,因为损坏的 RAM 很可能会干扰。因此,首先要做的事情是:对当前的 SSD 进行备份。

为了那个原因,

  1. 获取备份介质,例如外部硬盘驱动器
  2. 使用没有 RAM 错误的机器下载实时 USB 介质。我确实使用 Fedora 实时安装程序介质,但这并不重要:只需要是在您的新 PC 上启动的现代 Linux 即可。
  3. 将旧 SSD 连接到新 PC 中
  4. 从实时 USB 介质启动
  5. 使用现代文件系统(例如 XFS、btrfs)格式化外部介质。 (fedora USB 镜像附带,blivet-gui说实话,它是一个非常好的工具。)
  6. 用于ddrescue在备份介质上制作旧 SSD 的映像。 (fedora live:您可以使用安装它sudo dnf install ddrescue
  7. 使图像只读

所以。没关系。现在我们知道,我们可以扔掉旧的、损坏的 SSD,而不会丢失更多数据。

现在,老实说,我建议您在新 PC 中安装一个新的 SSD,并在其上设置一个现代 Linux 来工作,并尝试让您的“旧”SSD 在它旁边工作。你不过,您也可以继续使用您的实时 USB 进行工作。

  1. 使用cp(奖励:如果您使用上面的 XFS 或 btrfs,该副本不会花费时间或速度,它只是未修改数据的镜像,直到您开始修改内容,当受影响的块然后获取实际修改的副本)
  2. 用于losetup -P -f /pat/to/imagefile让 Linux 扫描映像中的分区表,并/dev/loopNpM为每个分区创建一个分区表。
  3. fsck在这些分区上使用来修复文件系统。有的会坏掉。
  4. 创建一个要在其下挂载根文件系统的目录,例如 /sysimage;将其安装/dev/loopNpM在那里;mount -t bind/sys 和 /proc、/dev、/run 从“主机”进入 /sysimage/sys、/sysimage/proc、... 文件系统。
  5. 使用 chroot 在该根文件系统中生成一个 shell,该 shell 看起来像 /;在那里使用mount -a来挂载其余分区(特别是 /boot、/boot/EFI)
  6. 您现在实际上是在旧的 CentOS 安装中工作。尽可能更新你的centOS。
  7. 使用 blivet-gui,在新 SSD 上重新创建必要的分区(/、/boot、...)。安装它们并复制内容。
  8. 使用相同的chroot技巧,但使用新的 SSD 目标
  9. 在该 chroot 中,运行yum reinstall kernel以重新创建 initramfs;
  10. 确保 /boot/efi/EFI 已安装。
  11. 在 chroot 运行中grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
  12. 在该 chroot 中,运行yum reinstall grub2-efi grub2-efi-modules shim以将引导加载程序安装到新的 SSD 上。

这将使您的系统能够在新硬件上正常启动。但。无法保证旧的 CentOS 7 可以在新硬件上运行。

两种选择:

  1. 更新到较新的 CentOS 或 Fedora
  2. 从虚拟机中的文件系统映像运行旧的 CentOS

答案2

您的家庭服务器配备非常旧内核,我敢打赌,当您在闪亮的新 Ryzen 系统上启动它时,这是许多问题的根源。

我认为 Linux 可以在硬件之间无缝移动,但作为强制性先决条件,软件必须与两种硬件兼容。

您可以尝试升级开始系统,然后才将其移动到新硬件。

相关内容