错误的 GRUB 处理启动菜单

错误的 GRUB 处理启动菜单

我有一个带有三个操作系统的多引导系统:Ubuntu Studio 20.04、Ubuntu 20.04 和 Windows 10。引导时应出现的 GRUB 启动菜单是 Ubuntu Studio 图形菜单。但是,每当 Ubuntu 框执行某些更新时,图形菜单就会被基于文本的菜单取代,菜单中的 Ubuntu Studio 和 Ubuntu 条目也会被反转:也就是说,我必须选择 Ubuntu 20.04 菜单项才能启动 Ubuntu Studio。它似乎一直保持这种状态,直到 Ubuntu Studio 操作系统执行自己的更新并重置 GRUB 图形启动菜单。GRUB 不在 MBR 中。它位于分区上。我是否安装了多个 GRUB?如果是这样,我可以删除其中一个以停止这种情况吗?我绝不是什么专家,但以下是 bootinfoscript 的输出,以防万一有帮助:

                 Boot Info Script 0.78      [09 October 2019]


============================= Boot Info Summary: ===============================


============================ Drive/Partition Info: =============================

no valid partition table found
"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/nvme0n1p1   481A3E271A3E1284                       ntfs       Recovery
/dev/nvme0n1p2   5C3E-76AD                              vfat       
/dev/nvme0n1p3                                                     
/dev/nvme0n1p4   708444198443DFE8                       ntfs       
/dev/nvme0n1p5   cce2e2bc-1369-4ed6-b652-50c47072e214   ext4       
/dev/nvme0n1p6   23cbea46-2abb-4681-b364-0a503e455caf   ext4       

========================= "ls -l /dev/disk/by-id" output: ======================

total 0
lrwxrwxrwx 1 root root  9 Feb 15 09:40 ata-ASUS_BW-16D1HT_KLZK2L81033 -> ../../sr0
lrwxrwxrwx 1 root root 13 Feb 15 09:40 nvme-eui.6479a732f004000b -> ../../nvme0n1
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-eui.6479a732f004000b-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-eui.6479a732f004000b-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-eui.6479a732f004000b-part3 -> ../../nvme0n1p3
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-eui.6479a732f004000b-part4 -> ../../nvme0n1p4
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-eui.6479a732f004000b-part5 -> ../../nvme0n1p5
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-eui.6479a732f004000b-part6 -> ../../nvme0n1p6
lrwxrwxrwx 1 root root 13 Feb 15 09:40 nvme-Sabrent_Rocket_Q_BC710704047C01600011 -> ../../nvme0n1
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-Sabrent_Rocket_Q_BC710704047C01600011-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-Sabrent_Rocket_Q_BC710704047C01600011-part2 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-Sabrent_Rocket_Q_BC710704047C01600011-part3 -> ../../nvme0n1p3
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-Sabrent_Rocket_Q_BC710704047C01600011-part4 -> ../../nvme0n1p4
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-Sabrent_Rocket_Q_BC710704047C01600011-part5 -> ../../nvme0n1p5
lrwxrwxrwx 1 root root 15 Feb 15 09:40 nvme-Sabrent_Rocket_Q_BC710704047C01600011-part6 -> ../../nvme0n1p6

================================ Mount points: =================================

Device           Mount_Point              Type       Options

/dev/nvme0n1p2   /boot/efi                vfat       (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/nvme0n1p6   /                        ext4       (rw,relatime,errors=remount-ro)

答案1

经过进一步研究后,似乎 GRUB2 不应该安装在 EFI 系统(尤其是 WINDOWS)的 MBR 中,它应该只列在分区下。

可能是因为找不到 GRUB2 的 MBR,所以您可能必须将 GPARTED 挂载到 /boot 分区并运行命令。
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo update-grub
这将运行一个 os-probe 命令,该命令应该能够指向驱动器上的其他分区。Ubuntu 和 Ubuntu Studio 的每个特定分区中的内核也可能被反转,可以通过检查每个分区的 grub.cfg 来进一步调查。如果您从 Ubuntu Studio 更新 GRUB,则 /boot 中的 grub.cfg 最终应该指向该分区。


sudo apt-get install efibootmgr
可能是由启动循环➿引起的。然后使用命令删除或重新配置 grub EFI。@dascream对于以下情况是正确的:关于双启动误解和可能由于 [例如] 启动循环而出现的问题的详细解释。
跳至步骤 4.1

答案2

经过多次 Google 搜索,建议包括从实时 CD/USB 启动并安装 /boot/efi,以便可以通过重新安装 grub 进行修复。就我而言,系统已经可以启动,因此不需要实时 CD/USB。最有用的信息在这里找到:16.04 新安装最后给出 grub-efi-amd64-signed 安装失败 /target/ ubuntu 16.04和这里:https://superuser.com/questions/376470/how-to-reinstall-grub2-efi

最终的修复措施是:

sudo apt-get install --reinstall grub-efi-amd64
sudo update-grub

相关内容