![如何设置默认 grub 配置文件](https://linux22.com/image/1500459/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%E9%BB%98%E8%AE%A4%20grub%20%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.png)
我正在启动四个操作系统:Windows 7、Ubuntu、Kali Linux 和 Linux Mint。它们是按此顺序安装的,Linux Mint 是最近安装的,Windows 7 是第一个安装的。我可以编辑 /etc/default/grub 文件并使用 更新 grub sudo update-grub
,但只能使用 Linux Mint 配置文件中保存的配置。有没有办法指定 grub 使用哪个配置文件或设置默认值?
答案1
部分答案:当您的系统启动时,它会运行引导加载程序,该加载程序过去是从引导分区第一个扇区上的主引导记录 (MBR) 启动的。较新的系统会执行类似的事情,但有点复杂(UEFI),我目前还不明白。
关键在于启动过程决定了会发生什么以及要加载哪个菜单系统(如 grub)。这就是问题需要解决的地方。
我不知道 UEFI 系统如何处理这个问题,但可能仍然可以用同样的方式修复。
在您选择的发行版上,安装 grub-customizer 并运行它。
您可以从这里适用于 Ubuntu。
(您实际上并不需要这个包,但如果没有它,我不知道如何手动执行此操作。)
当它读取完所有 grub 内容后,您应该会看到一个菜单,其中包含所有分区以及它们的启动配置。确保它看起来符合您的要求,并在必要时进行编辑,然后保存。
到目前为止,这与您手动完成的操作相同。
选择文件->安装到 MBR(或 UEFI 系统上的任何内容)。这将确保启动过程使用您刚刚编辑的 grub 版本。
现在,希望一切顺利。但是...
稍后,当您在其他发行版之一中运行内核更新时,该发行版使用的 grub 文件将会被更新 - 不一定是您所偏好的文件,并且在某些情况下,引导加载程序也可能会被重写。
如果发生这种情况,只需重新启动您首选的发行版并再次执行整个过程。 Grub-customizer 将找到其他发行版所做的更新并将其合并到新菜单中。
需要注意的一点是,删除旧内核时,请务必运行 grub-customizer 或从首选发行版手动更新内容。如果不这样做,首选 grub 菜单可能会过时并指向已删除的内核。