grub_修复

文章目录
  1. 1. 简单方法:
  2. 2. 复杂方法:
  3. 3. 参考资料

P72重新安装archlinux的grub

P72 开机黑屏,这是有时是bios问题,会在黑屏10多秒以后自动重启,但是重新进入到bios后,我在bios里面重新载入了默认设置,导致原来的UEFI 启动选项都不见了。需要重新添加到bios 的UEFI 启动菜单中。

简单方法:

使用ventoy u盘,下载一个manjaro的安装iso文件,放到u盘启动。在启动的时候会有一个探测其他UEFI 启动的选项,选择这个选项,会自动探测列出硬盘上所有的UEFI启动选项。选择archlinux 对于的选项就可以启动到archlinux系统。重新安装一下grub即可

安装grub

1
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch-Linux-grub

生成grub配置

1
grub-mkconfig -o /boot/grub/grub.cfg

复杂方法:

也是使用ventoy u盘,但是使用archlinux的安装镜像

1
2
3
4
5
6
iwctl
station waln0 get-networks
station waln0 connect xxx
#输入WIFI密码
exit
ping www.baidu.com

然后需要arch-chroot到原来的系统重新安装grub

1
2
3
4
5
6
7
8
9
sudo mount /dev/nvme0n1p3 /mnt -o subvol=@ 
#挂载主分区
sudo mount /dev/nvme0n1p1 /mnt/boot
#挂载boot分区
sudo arch-chroot /mnt
#进入到原来的系统
sudo grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch-Linux-grub
sudo grub-mkconfig -o /boot/grub/grub.cfg
#重新生成配置文件

需要注意的地方

1
----efi-directory=/boot #不是/boot/efi ----bootloader-id=Arch-Linux-grub  #不是=grub

应该是前面的选项导致,bios里面可以成功添加一个grub 选项,但是无法引导进入系统,点击uefi里面的grub会黑屏然后跳入到下一条启动选项。

windows 开机项添加

编辑/etc/default/grub并取消下面这一行的注释,如果没有相应注释的话就在文件末尾添加上:

1
GRUB_DISABLE_OS_PROBER=false

然后运行 grub-mkconfig 再试一次。

注意: 记得每次运行 grub-mkconfig 之前都把包含其他操作系统的分区挂载上,以免忽略了这些操作系统的启动项

开启os-prober 后运行 grub-mkconfig -o /boot/grub/grub.cfg 出现如下错误:

1
rmdir: 删除 '/var/lib/os-prober/mount' 失败: 设备或资源忙
1
rmdir: failed to remove '/var/lib/os-prober/mount': Device or resource busy

解决方法:

1
sudo umount /var/lib/os-prober/mount
1
sudo grub-mkconfig -o /boot/grub/grub.cfg

参考资料