After installing 20.04.1 using the ZFS root option I installed Xen. When it rebooted it failed in initramfs with the error "No pool imported". I was able to boot the previous kernel. When I examined the /boot/grub/grub.cfg I found what looked like invalid "root=ZFS=" options like this:
"root=ZFS=/ROOT/ubuntu_xxxxxx"
The previous kernel that boots looks like this:
"root=ZFS=rpool/ROOT/ubuntu_xxxxxx"
As a test saved a copy and edited /boot/grub/grub.cfg adding the rpool to each "root=ZFS=" line where rpool was missing. This time I was able to boot the Xen kernel.
The xen postinst script is using the update-grub command, which runs grub-mkconfig. Running grub-mkconfig produced this output:
root@corona:~# grub-mkconfig -o /boot/grub/grub.cfg
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Sourcing file `/etc/default/grub.d/xen.cfg'
Including Xen overrides from /etc/default/grub.d/xen.cfg
WARNING: GRUB_DEFAULT changed to boot into Xen by default!
Edit /etc/default/grub.d/xen.cfg to avoid this warning.
Generating grub configuration file ...
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found linux image: vmlinuz-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found initrd image: initrd.img-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_4k3sjn
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found linux image: vmlinuz-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found initrd image: initrd.img-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_7ur3n5
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found linux image: vmlinuz-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found initrd image: initrd.img-5.4.0-45-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_l6bt3l
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_3qeu07
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_bxegdn
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_61mm5b
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_uha13z
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_unje59
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_hcto93
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_tft21p
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found linux image: vmlinuz-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found initrd image: initrd.img-5.4.0-47-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_737ehb
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_lqpbmi
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_ont8y3
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found linux image: vmlinuz-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found initrd image: initrd.img-5.4.0-48-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_w0lwby
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_gqzw31
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_260vd0
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_mdizzd
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1fhar
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_xl9cyz
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_qail9a
Found linux image: vmlinuz-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found initrd image: initrd.img-5.4.0-52-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found linux image: vmlinuz-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found initrd image: initrd.img-5.4.0-51-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found linux image: vmlinuz-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found initrd image: initrd.img-5.4.0-42-generic in rpool/ROOT/ubuntu_69vvbr@autozsys_c1dg8m
Found linux image: /boot/vmlinuz-5.4.0-52-generic
Found initrd image: /boot/initrd.img-5.4.0-52-generic
Found linux image: /boot/vmlinuz-5.4.0-51-generic
Found initrd image: /boot/initrd.img-5.4.0-51-generic
Found linux image: /boot/vmlinuz-5.4.0-42-generic
Found initrd image: /boot/initrd.img-5.4.0-42-generic
Found linux image: /boot/vmlinuz-5.4.0-52-generic
Found initrd image: /boot/initrd.img-5.4.0-52-generic
Found linux image: /boot/vmlinuz-5.4.0-51-generic
Found initrd image: /boot/initrd.img-5.4.0-51-generic
Found linux image: /boot/vmlinuz-5.4.0-42-generic
Found initrd image: /boot/initrd.img-5.4.0-42-generic
Found linux image: /boot/vmlinuz-5.4.0-52-generic
Found initrd image: /boot/initrd.img-5.4.0-52-generic
Found linux image: /boot/vmlinuz-5.4.0-51-generic
Found initrd image: /boot/initrd.img-5.4.0-51-generic
Found linux image: /boot/vmlinuz-5.4.0-42-generic
Found initrd image: /boot/initrd.img-5.4.0-42-generic
Found memtest86+ image: /BOOT/ubuntu_69vvbr@/memtest86+.elf
Found memtest86+ image: /BOOT/ubuntu_69vvbr@/memtest86+.bin
device-mapper: reload ioctl on osprober-linux-sda7 failed: Device or resource busy
Command failed.
done
The result in /boot/grub/grub.cfg include lines like this:
"module2 /BOOT/ubuntu_69vvbr@/vmlinuz-5.4.0-52-generic placeholder root=ZFS=/ROOT/ubuntu_69vvbr ro quiet splash"
The "root=ZFS=/ROOT/ubuntu_69vvbr" should be "root=ZFS=rpool/ROOT/ubuntu_69vvbr"
==============================
How to reproduce the problem
From scratch install ubuntu 20.04.1 desktop, select ZFS as root option, then install xen-hypervisor-4.11-amd64.
It will fail to reboot because the grub root=ZFS=/ROOT/ argument is wrong.