我的机器上安装了 ubuntu 和双引导的 manjaro。安装后,manjaro 没有出现在 grub 中,所以我运行了update-grub
。现在 manjaro 显示在 grub 中,但只能在高级选项 initramfs Fallback` 内核中启动。
我本来打算尝试重新安装 grub,但在尝试其他任何操作之前我想先在这里询问一下。
有什么建议么?
答案1
我也有同样的问题。重点是更新grub为 Manjaro 生成一个菜单项,但它需要 2文件在 initrd 行中:
/boot/amd-ucode.img
/boot/initramfs-5.8-x86_64.img
但它只生成前者。
即:有两个文件需要修改;我已经在 Lubuntu 16.04.1 和 Manjaro Linux 上对其进行了测试。
在Ubuntu中:
文件
/usr/lib/linux-boot-probes/mounted/40grub2
中有一个函数parse_grub_menu()
不处理所有 initrd 参数。您需要修改 'case "$1" in ... initrd)':a) 删除分配
initrd="$(echo "$2" ...)"
b) 添加两行来代替删除的一行:
shift 1 initrd="$(echo "$@" | sed 's/(.*)//')"
/etc/grub.d/30_os-prober
循环内的文件for
修复 的分配LINITRD
:for LINUX in ${LINUXPROBED}; do ... LINITRD="`echo ${LINUX} | cut -d ':' -f 5 | tr '^' ' '`"
第一个修复需要所有可用的初始化程序将 Manjaro 的信息考虑在内。第二个修复清理了生成的初始化程序^
通过将一些字符更改为空格来行。