ubuntu和archlinux双系统安装过程中引导工具grub无法识别对应系统的启动项且os-prober也报错:Warning: os-prober will not be executed...

问题描述

  • 我首先通过官网下载ubuntu系统和archlinux系统.iso镜像,
    接着制作系统盘设置均为gpt分区

  • 我的硬盘是SSD:465G(1024字节)

    • 我对硬盘分区为
      /dev/sdb1: FAT32 1G EFI分区
      /dev/sdb2: ext4 64G ubuntu根目录
      /dev/sdb3: ext4 192G ubuntu home目录
      /dev/sdb4: brtfs 192G arch设置了@和@home
      /dev/sdb5: swap
  • 我首先安装的是ubuntu24.04,接着安装archlinux

  • 当我在archLinux输入以下命令设置引导项时,os-prober显示警告

Warning: os-prober will not be executed to detect other bootable
partitions

  • 该问题的解决方法是

sudo vim /etc/default/grub
//找到GRUB_DISABLE_OS_PROBER=false,删除注释#,或者直接添加这一行
GRUB_DISABLE_OS_PROBER=false

  • 然后我重新更新我的grub配置项,发现依然报错

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

Warning: os-prober will be executed to detect other bootable partitions

  • 当我重启archlinux后进入到grub菜单界面,并未显示ubuntu启动项

问题解决

  • 采用手动添加启动项配置的方式,如果不太了解,尽量不要自己写,直接复制配置文件grub.cfg里的菜单模板
  • 首先找到对应系统菜单配置项

sudo vim /boot/grub/grub.cfg
##再匹配 menuentry,
:/menuentry
##找到ubuntu的菜单启动项,然后复制
menuentry “ubuntu” {

set root=‘(hd1,4)’ # 对应 /dev/sdb4
linux /boot/vmlinuz-linux root=UUID=1234-5678 rw rootflags=subvol=@
initrd /boot/initramfs-linux.img

}

  • 参考上面模板,然后粘贴到Archlinux的/etc/grub.d/40_custom
  • ,因为我设置的Archlinux的grub菜单项,如果你是ubuntu的grub,就去arclinux系统对应的/boot/grub/grub.cfg ,然后将菜单配置项粘贴到另一个系统的40_custom里
  • 最后更新grub

ubuntu:sudo update-grub
archlinux:sudo grub-mkconfig -o /boot/grub/.cfg

  • 重启系统,进入grub菜单,测试添加的系统启动项是否可用,可能会报错显示grub无法识别菜单配置项里的部分宏,此时只需要回到40_custom依次注释掉即可

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翠花是少女

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值