grub_修复

Catalogue
  1. 1. 简单方法:
  2. 2. 复杂方法:
  • 参考资料
  • 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

    参考资料