您尚未登录。

#1 2024-06-22 16:49:18

auryouth
会员
注册时间: 2024-01-31
帖子: 10

Arch和Debian双系统引导时Debian启动失败

之前装的Arch,最近闲着没事儿想再装一个deb系.

nvme1n1p1~p3装了Arch相关,p4和p5是Debian,p4是swap,p5是/,选择的也是btrfs文件系统
20240622-163154.png

安装Debian时没有再安装bootloader,准备用arch的grub来引导

安装完我在arch运行了grub相关命令
20240622-163842.png

显示是找到了Debian
/boot/grub/grub.cfg如下

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (位于 /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-efi-F4E0-C130' {
        insmod part_gpt
        insmod fat
        search --no-floppy --fs-uuid --set=root F4E0-C130
        chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
menuentry 'Debian GNU/Linux 12 (bookworm) (位于 /dev/nvme1n1p5)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-fbc5f94e-9ccb-42aa-bb80-40e5b8a5d452' {
        insmod part_gpt
        insmod btrfs
        search --no-floppy --fs-uuid --set=root fbc5f94e-9ccb-42aa-bb80-40e5b8a5d452
        linux /boot/vmlinuz-6.1.0-18-amd64 root=/dev/nvme1n1p5
        initrd /boot/initrd.img-6.1.0-18-amd64
}
submenu 'Debian GNU/Linux 12 (bookworm) (位于 /dev/nvme1n1p5) 的高级选项' $menuentry_id_option 'osprober-gnulinux-advanced-fbc5f94e-9ccb-42aa-bb80-40e5b8a5d452' {
        menuentry 'Debian GNU/Linux 12 (bookworm) (位于 /dev/nvme1n1p5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-6.1.0-18-amd64--fbc5f94e-9ccb-42aa-bb80-40e5b8a5d452' {
                insmod part_gpt
                insmod btrfs
                search --no-floppy --fs-uuid --set=root fbc5f94e-9ccb-42aa-bb80-40e5b8a5d452
                linux /boot/vmlinuz-6.1.0-18-amd64 root=/dev/nvme1n1p5
                initrd /boot/initrd.img-6.1.0-18-amd64
        }
}

### END /etc/grub.d/30_os-prober ###

但是重启在menu点击进入Debian时会出错

error: file '/boot/vmlinuz-6.1.0-18-amd64 ' not found.
error: you need to load the kernel first.

Press any key to continue...

不过上边第二张图ls /mnt/boot是有vmlinuz-6.1.0-18-amd64这个文件的,那么为什么启动失败了呢?

离线

#2 2024-06-22 17:01:37

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,698
个人网站

Re: Arch和Debian双系统引导时Debian启动失败

你的分区信息没讲清楚。在 grub 里,路径的 / 是从当前文件系统开始算起的。你的「/mnt/boot」是不是是一个挂载点?
另外好乱……我建议使用 UEFI boot menu 来选择操作系统;每个操作系统使用自己的引导器。os-prober 生成的 Debian 的引导项我猜是错的,缺少参数的。
非要一个 grub 引导所有系统的话,你需要手动维护另外的操作系统的引导参数(或者你写个脚本干这事)。

离线

页脚