今天在更新之后发现 grub 引导从启动项菜单中消失了,遂折腾一番,记录在此,以备不时之需。
首先准备一个载有任意 grub 引导的 Live USB,这里使用的是 Manjaro 的安装镜像,在 Windows 下使用 Rufus 烧入 U 盘。
然后重启,使用 USB 引导,在启动项选择菜单里按 c
进入 GRUB Commandline
模式
然后会进入 grub 模式,你会看到类似这样的命令符界面
1 | grub> |
首先使用 ls
命令查看当前的分区情况,你会得到类似于下面这样的结果:
1 | grub> ls |
这时候我们需要知道哪个是现在的 EFI 启动分区,可以使用 ls (hd*,gpt*)/boot/grub
命令来查看有没有 grub 引导,如果得到类似下面的结果说明已经找到了正确的 grub 分区(此处以 (hd2,gpt4)
为例,下同)
1 | grub> ls (hd2,gpt4)/boot/grub |
得知 grub 分区之后,依次执行下列命令,执行完最后一条命令之后便会回到引导菜单,看到熟悉的 Manjaro Linux 引导项了
1 | set prefix=(hd2,gpt4)/boot/grub |
注意:请务必根据实际情况修改分区,切勿直接照抄!
选择 Manjaro Linux
引导进入系统,打开终端,输入如下命令查看 /boot
分区位置
1 | mount | grep boot |
得到类似如下的输出
1 | /dev/nvme0n1p1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) |
这里的 /dev/nvme0n1p1
就是接下来要使用的内容
依次执行如下命令
1 | sudo update-grub |
重启进入 BIOS,就会发现熟悉的 manjaro 他回来了!
# EOF