Grub 未显示所有 Linux 发行版

Grub 未显示所有 Linux 发行版

我安装了多个 Linux 发行版来测试它们并了解每个发行版的更多信息,看看我最喜欢哪个。我在 256 GB SSD (sdc) 上安装了两个(Ubuntu 18.04 LTS 和 Mint 19),在 1 TB HDD (sde) 上安装了四个(按顺序是 KDE Neon、Fedora 29、Manjaro Deepin 和 CentOS 7)。

当我启动到 SSD (sdc) 时,我可以看到两个发行版,并且我可以在 HDD (sde) 的 grub 菜单中看到前三个发行版,但是在安装 CentOS、启动并登录后,它锁定了我。我重新启动,但发现当我启动到 HDD (sde) 时,只能在 grub 中看到 KDE Neon。

我读过很多关于使用 grub-install、update-grub 和 update-initramfs 的文章,但我不确定哪个选项(或组合)在这里适用。我能够使用我找到的指令成功删除 SSD (sdc) 上的交换分区这里,但我不知道在这种情况下这会有多大帮助。如果可能的话,我希望在 sdc 或 sde 的 grub 菜单中看到所有六个发行版,以及 Windows 10(在 sda 上)。 Windows 可以从其单独的 SDD 正常启动,因此不需要将其放入 grub 中。

答案1

我过去使用“启动修复”磁盘有过一些很好的经验,它有助于 grub 修复\mods:https://help.ubuntu.com/community/Boot-Repair#Getting_Boot-Repair

其他人在使用 Centos 多重引导时遇到了问题,有些人将其归咎于 EFI 实现:https://askubuntu.com/questions/506082/ubuntu-grub-menu-after-installing-centos尽管有些人甚至在较旧的 EFI 之前的系统上也遇到过这个问题:https://askubuntu.com/questions/962838/dual-boot-grub-and-2-hdds。所以这看起来很可疑。查看 BIOS\EFI 设置不会有什么坏处。

当您安装多个发行版时,您将从最新安装中“获取”grub,除非您尝试以其他方式进行安装。有时您可以选择不自动安装 grub(取决于发行版\安装程序)。也可以看看:https://askubuntu.com/questions/503417/how-to-prevent-ubuntu-from-overwriting-grub-bootloader-after-update

最后一个想法:您安装了哪个版本的 Centos? grub 有两个版本,新的 grub2 和旧的“grub-legacy”。我认为 Centos 7 版本之前使用的是 grub-legacy。如果您安装了 Centos 7 之前的版本,也许 grub-legacy 无法像 grub2 一样处理您的情况。也许尝试重新安装 Ubuntu 18.04 之类的方法会给你一个可以运行的 grub。即使您使用的是 Centos 7 并且 grub 遗留业务不适用于您,这也可能值得尝试。

答案2

当我在 sde5 上重新安装 CentOS 7 时,它“找到”了所有其他五个发行版并将它们添加到 grub 中,所以现在一切都很好。如果我理解正确的话,如果我更新任何这些发行版上的内核,情况可能会发生变化,但如果发生这种情况,我只需要返回到 CentOS 并执行update-grub /dev/sde5.感谢您的反馈。

相关内容