Thank you very much for reporting this bug! Considering your finding from comment #1 about the combination of "strict=on" and "bootindex=1", I think we're seeing the expected behavior on Jammy and Noble.
I found this upstream commit introducing the "strict" option: https://gitlab.com/qemu-project/qemu/-/commit/c8a6ae8bb95477d5ac11d9b491b603b2d190a96e It describes it as: "Qemu can add "HALT" at the end of bootindex string, then seabios will halt booting after trying to boot from all selected devices." This means if the (non-default) "strict=on" option is specified, it will only try to boot from the explicitly specified locations in the order given by "bootindex". I confirmed this by adding a "bootindex=2" to the 2nd virtio disks, which makes it show up in GRUB (see below). This means the "issue" you're seeing on Jammy is a configuration problem, e.g. you should drop "strict=on" or add "bootindex=2" to your 2nd disk. Whereas the behavior on Focal is broken, or might just not have been fully implemented back then. Considering Focal is already past the end of its standard support, I'm marking this bug as WONTFIX for Focal and Invalid for Jammy and above (things are working as expected). Please re-open and reply with your rationale if you think otherwise. # Create a virtual machine with two disks, both using virtio. With "strict=on" and "bootindex=1" and "bootindex=2": sudo /usr/bin/qemu-system-x86_64 \ -machine q35,accel=kvm,usb=off,vmport=off,dump-guest-core=off \ -cpu host \ -m 2048 \ -smp 1 \ -nodefaults \ -boot strict=on \ -blockdev '{"driver":"file","filename":"/var/lib/uvtool/libvirt/images/f.qcow","node-name":"libvirt-1-storage"}' \ -blockdev '{"node-name":"libvirt-1-format","driver":"qcow2","file":"libvirt-1-storage"}' \ -device virtio-blk-pci,drive=libvirt-1-format,id=virtio-disk0,addr=0x2,bootindex=1 \ -blockdev '{"driver":"file","filename":"/var/lib/uvtool/libvirt/images/j.qcow","node-name":"libvirt-2-storage"}' \ -blockdev '{"node-name":"libvirt-2-format","driver":"qcow2","file":"libvirt-2-storage"}' \ -device virtio-blk-pci,drive=libvirt-2-format,id=virtio-disk1,addr=0x3,bootindex=2 \ -boot menu=on -nographic -serial mon:stdio GNU GRUB version 2.04 Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device or file completions. ESC at any time exits. grub> ls (hd0) (hd0,gpt15) (hd0,gpt14) (hd0,gpt1) (hd1) (hd1,gpt15) (hd1,gpt14) (hd1,gpt 1) => We can see both disks! ** Changed in: grub2 (Ubuntu) Status: New => Invalid ** Also affects: grub2 (Ubuntu Focal) Importance: Undecided Status: New ** Also affects: qemu (Ubuntu Focal) Importance: Undecided Status: New ** Changed in: qemu (Ubuntu) Status: New => Invalid ** Changed in: qemu (Ubuntu Focal) Assignee: (unassigned) => Lukas Märdian (slyon) ** Changed in: qemu (Ubuntu) Assignee: (unassigned) => Lukas Märdian (slyon) ** Changed in: qemu (Ubuntu Focal) Status: New => Won't Fix ** Changed in: grub2 (Ubuntu Focal) Status: New => Invalid -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2125827 Title: Jammy grub2 failed to detect 2nd virtio disk To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/2125827/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
