Grub 已经接管了我的多重启动的控制权,我需要学习什么才能收回它?

Grub 已经接管了我的多重启动的控制权,我需要学习什么才能收回它?

即使过了很多年,我仍然是 Linux 的“敬而远之”用户。我在 XP 停止时切换到 Mint,使用默认配置,并且之前不必与 Grub 交互。我用它来完成工作(office 和 python),而不是在可能的情况下摆弄操作系统。不过我确实摆弄了硬件。

同事们一直告诉我“尝试不同的发行版”,而且由于我已经运行 Mint 几年了,我想看看是否有任何显着的差异。然而,单杆运行的缓慢体验并不能进行公平的比较。

我碰巧有一堆废弃的 SATA 硬盘,这些硬盘来自以前的台式机和孩子们废弃/损坏的笔记本电脑。我买了一张便宜的eSATA PCI卡,这样我就可以在不打开机箱的情况下切换硬盘,并且当插入不同的硬盘时,我和我的主板之间会有一些消耗品。这个想法是在不同的光盘上安装不同的操作系统,并使用BIOS 来启动我想要的那个。

我在第一台 HD 上安装了不同版本的 Mint,一切似乎都工作正常。在 BIOS 中,我可以选择从 Mint 20.1 的普通 SSD 或外部 HD 启动,一切都很好。移除外部硬盘后,它只是启动到我的 SSD。

然后我将 Kubuntu 20.04 安装到另一个硬盘上。它选择将外部磁盘和 SSD 都放入 grub 菜单中,首先是它。附上光盘就可以了,我可以从 grub 启动到其中一个。但是,如果我删除外部硬盘,并告诉 BIOS 启动 SSD,我只会得到 grub shell 提示,没有选项菜单,所以听起来它把重要的东西放在了我的可移动驱动器上,并更改了启动数据固态硬盘。

我如何确认这个猜测是否正确,或者确实发现发生了什么?如果这是正确的,是否可以将 grub 业务文件移动到我的内部 SSD,如果我这样做,grub 是否会正确处理丢失的外部驱动器,并且在存在不同的外部 HD 时正常运行?

我想到了一个核解决方法,即仅使用内部 SSD 进行核攻击并重建。我有很好的备份,所以这只是时间和麻烦。然后,当我将不同的操作系统安装到外部硬盘时,拔下我的 SSD,以便当时机器中只有安装和目标介质。

这些都会起作用吗?我想我想做的是一种硬件 VirtualBox。我已经使用过它,但它的速度要慢得多,而且我对必须设置的配置层不信任。

答案1

你的预感很有道理。很有可能将 GRUB 安装在一个磁盘上,而其配置文件则位于另一磁盘上。我不知道有什么可靠的方法来检查这种情况,但你可以解决它。

当您运行时sudo grub-install /dev/sdx,GRUB stage 1 将被安装到 MBR 中/dev/sdx。默认情况下,GRUB 第 1 阶段的安装将隐式配置查找/boot/grub系统中的 GRUB stage 2 和配置文件它是从安装的。所以如果/位于/dev/sdxy,一切正常。

但是,如果您设法sudo grub-install /dev/sda在当前启动的系统位于 时执行/dev/sdb1,您最终会遇到像您这样的情况。

一种可能的解决方案是启动您想要继续使用的系统。执行mountlsblk来验证 的位置/。然后sudo grub-install针对该设备(而不是分区)运行。

相关内容