在新驱动器上全新安装后交换到新 grub

在新驱动器上全新安装后交换到新 grub

我曾经在 /dev/sda 上的旧 SSD 上运行 Ubuntu,它有以下分区:

  • sda1——EFI 分区(500 mb fat)
  • sda2——Linux 文件系统(258 mb ext2)
  • sda3-Linux LVM。(119 gb lvm2 pv)

我最近购买了一个新的 ssd,并将其挂接到 /dev/sdd,目的是将我的所有数据和启动过程移动到这个新磁盘,最终擦除旧磁盘并将其用作存储。

因此,我得到了一个新的 Linux 映像,将其放入闪存中,从中启动,并在这个新的 sdd 驱动器上安装了 Linux。我最终创建了分区:

  • sdd1-主可启动 ext4 分区(983 gb)
  • sdd2-扩展分区(17 gb)
  • sdd5-Linux 交换 (17 gb)

当我现在启动时,grub 会在启动时出现并询问从哪里启动。我可以从我的旧 sda 和我的新的 sdd 启动,只需从 grub 菜单手动选择即可。我思考我准备清除旧的 sda 驱动器,但我想确保在新驱动器上安装了 grub 来替换旧驱动器。虽然我在新的 sdd 上确实有一个可启动的安装,但我担心 grub 可能只存在于 sda 上,而我会破坏我的启动。

我对我创建的分区类型以及新 sdd 上的分区类型有点不满意,我真正想要的是一个用于所有东西的分区(或者根据最佳实践,一个用于启动,一个用于数据),以及一个用于交换的分区。我不知道这个我已经拥有的扩展分区是否保存了现有的新 grub,是否在做任何事情,或者是否可以用它来安装新的 grub。显然,当我使用通过 sdd 启动时,sdd1 正在用于启动并且包含所有数据......只是在我关闭旧驱动器后,它是否准备好承受自己的重量?

真的,任何关于如何简化此过程的提示、建议或链接都​​将不胜感激。谢谢!

PS. 我的 sdd3/4 去哪儿了??? 我并不是需要它们,但是我在分区时是否做了一些奇怪的事情?

答案1

看起来你的新 ( /dev/sdd) 磁盘使用了旧的主引导记录 (MBR)分区系统,大概意味着 Ubuntu 以 BIOS/CSM/传统模式安装。/dev/sda另一方面,你的原始 () 磁盘似乎使用了较新的GUID 分区表 (GPT)系统,并且它可能以 EFI/UEFI 模式启动。不过,根据您提供的信息,我无法肯定这一点。(一般来说,不总结程序输出;相反,剪切并粘贴此类输出或提供屏幕截图。 的输出sudo parted -l将消除您对分区布局的所有疑问。)

如果我对你的分区和启动模式的判断是正确的,那么是否存在名为 的目录/sys/firmware/efi将表明你正在从哪个安装的 GRUB 启动。如果该目录存在,则说明你是在 EFI 模式下启动的(因此是从原始安装启动的);如果不存在该目录,则说明你是在 BIOS 模式下启动的(因此是从新安装启动的)。不过,鉴于你对分区和启动模式的确定性略低于 100%,因此会存在一些不确定性 —— 可能有 2% 的几率是错误的。

您还可以通过检查/boot/grub/grub.cfg两个安装上的文件并将其与启动计算机时看到的内容进行比较来了解一些信息。不过,该文件的格式非常复杂。

你可以通过下载我的 USB 闪存驱动器或 CD-R 版本来获得一些保险rEFInd 启动管理器。它应该能够让您以 EFI 模式启动任一安装。(但是,要从内核直接启动旧安装,您需要按 F2 或 Insert 并添加一个root=参数来标识根 ( /) 文件系统。)如果您在 CD-R 或 USB 闪存驱动器上获取并测试 rEFInd,那么在擦除旧磁盘导致系统无法启动的情况下,您就会做好准备;然后您仍然应该能够启动新系统并进行修复。

相关内容