使用持久实时 USB 在 grub 中设置默认启动选项

使用持久实时 USB 在 grub 中设置默认启动选项

我尝试了很多次在旧的 Acer Spin 1 上安装 Ubuntu Budgie 20.04.3。每次几乎都能顺利完成,但在尝试安装 grub 时失败。经过几天的尝试,似乎问题出在硬盘类型上,而且我觉得修复它超出了我的能力范围,所以我放弃了,转而选择了具有持久存储的可启动 USB 棒。

启动后,它一直运行良好,但每次我重新启动时,它都会将我发送到 grub,我必须运行

set prefix=(hdx,y)/boot/grub
set root=(hdx,y)
insmod normal
normal

然后它会带我进入 grub 启动屏幕并最终启动。

几篇帮助文章建议/etc/default/grub按如下方式编辑该文件:

GRUB_SAVEDEFAULT=true
GRUB_DEFAULT=saved

我照做了,但这没有帮助。我无法在从实时 USB 运行时运行update-grub(当我尝试时,我得到error: failed to get canonical path of '/cow'),我假设出于此答案中引用的原因:无法在永久实时 USB 上更新 grub,但该问题没有我能理解的解决方案。

从永久实时 USB 运行时,有没有什么方法可以修复 grub?如果没有 USB 记忆棒,我根本无法启动,因为 ubuntu 安装在 grub 时总是失败。我可以看到笔记本电脑硬盘上的所有 budgie 桌面文件,但我就是无法启动它。

如果这是唯一的解决方案,我不介意从持久可启动 USB 运行,我只是希望能够直接启动它而不必set prefix每次set root都手动操作。

ETA:我发现我的问题与这个问题非常相似:设置默认 grub 分区但我无法运行 grub-customizer,原因可能与我无法运行 grub-update 相同——我收到了相同的错误消息(failed to get canonical path of '/cow'

答案1

如果您只编辑 grub.cfg 中容易识别的选项,并且可以接受在安装新版本的 GRUB 时这些选项被清除,那么可以很容易地完成:

  1. 在永久可启动 USB 上找到带有“boot”标志的分区的 /dev/sdX 名称(打开 GParted 或使用sudo parted -l它来查找它)。

  2. sudo mount /dev/sdX /mnt如果 /mnt 上没有任何内容,则用 挂载该分区。

  3. 使用或您选择的编辑器从此分区编辑 grub.cfg 中的所需内容sudo nano /mnt/boot/grub/grub.cfg。如果您要更改菜单首次显示时预选的默认 GRUB 菜单选项,请记住选项编号从 0 开始,并对应于您在 grub.cfg 最后部分中看到的菜单配置块,从上到下排序。

  4. 卸载sudo umount /dev/sdX并重新启动进行测试。

如果事情没有解决,您可以随时使用相同的程序将其改回来,只要您仍然可以启动到完整的 Ubuntu,您就可以挂载分区和编辑文件。

这对我来说刚刚在 Xubuntu 20.04 持久实时 USB 上起作用。

相关内容