Black screen before luks encryption password boot prompt, after failed dom0 upgrade

Hello,
my last dom0 update failed round about 10 days before.
I have done no changes to bios settings, etc.
My backups are not useable.

I do use a Lenovo Thinkpad T15, Core i7 CPU with the following specs

Notebook type number: 20S6-003NGE
Production date 2021/01
UEFI Bios Version N2XET29W (1.19)
Machine Type Model 20S003NGE
CPU Type: Intel(R) Core™ i7-10510U

I can mount the luks partition with a live cd.

Main problems:

  • Booting not possible.
  • I cant find my actual Ubuntu container in the luks encrypted partition.

The first problem was, that I get a black boot screen, before the luks encryption password field appears:
Fixed by removing the quiet option from boot options (choosing e, for editing boot menu),
as described here:
https://forum.qubes-os.org/t/black-screen-after-blue-select-operating-system-screen/17425/5
The cursor needs 0,5 seconds to move from one letter to another, in the boot menu. Running an os from a live cd doesn`t show this behaviour.

The boot process hangs with the error message:

xen_acpi_processor: Uploading Xen processor PM info

The operating systems list to choose from, looks like this:
Xen hypervisor, version 4.14.5
Xen hyervisor, version 4.14.5.config
Submenu:

  • Qubes, with Xen 4.14.5.config and Linux 5.15.94-1.qubes.fc32.x86_84
  • Qubes, with Xen 4.14.5.config and Linux 5.15.89-1.qubes.fc32.x86_64
  • Qubes, with Xen 4.14.5.config and Linux 5.15.81-1.fc32.qubes.x86_64

Whatever entry I choose to boot from, the error message is always the same:

Loading Xen 4,14,5 config …
error: no multiboot header found
Loading Linux 5.15.<$version-from-above-bulletpoints>
error: you need to load the kernel first
Loading initial ramdisk …
error: you need to load the kernel first

There is a forum post, that suggests, to check the bootloader for spelling mistakes and to check the multiboot segment in the linker.ld, but I dont know how to do so.

If I start the rescue shell from the usb installer, the output is:

Warning: /dev/root doesnt exist.
[…]
acpi: duplicate WMI GUID
ACPI Warning: _SB.PC10.GFX0._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20210730/nsarguments-61)
sda: cant restore path info
Failedt to switch Root
nvme nvme0: Missing or invalid SUBMQN field.

Can I just download the missing files from somewhere and make the appropriate adjustments, like adding the disk id, on one of the config files?

Thanks a ton in advance for hands on tipps.

This is how the boot folder structure looks like:
Main folder:

When you press e to edit the boot menu, how does the lines from multiboot2 /xen-4.. to echo 'Loading initial ramdisk look?

Hey @ChrisA, it looks like this:

Sorry - the image is to small for me to read :-/ - can you compare to this:

menuentry 'Qubes, with Xen 4.14.5 and Linux 5.15.94-1.qubes.fc32.x86_64' --class qubes --class gnu-linux --class gnu --class os --class xen $menuentry_id_option 'xen-gnulinux-5.15.94-1.qubes.fc32.x86_64-advanced-/dev/mapper/qubes_dom0-root' {
  insmod part_gpt
                      
  insmod ext2
  if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root  515d20d3
  else
    search --no-floppy --fs-uuid --set=root 515d20d3
  fi
  echo    'Loading Xen 4.14.5 ...'
  if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
      xen_rm_opts=
  else
      xen_rm_opts="no-real-mode edd=off"
  fi
  multiboot2      /xen-4.14.5.gz placeholder  console=none dom0_mem=min:1024M dom0_mem=max:4096M ucode=scan smt=off gnttab_max_frames=2048 gnttab_max_maptrack_frames=4096 ${xen_rm_opts}
  echo    'Loading Linux 5.15.94-1.qubes.fc32.x86_64 ...'
  module2 /vmlinuz-5.15.94-1.qubes.fc32.x86_64 placeholder root=/dev/mapper/qubes_dom0-root ro rd.luks.uuid=luks-5e938f35 rd.lvm.lv=qubes_dom0/root rd.lvm.lv=qubes_dom0/swap plymouth.ignore-serial-consoles rd.driver.pre=btrfs rhgb quiet rd.qubes.hide_all_usb 
  echo    'Loading initial ramdisk ...'
  module2 --nounzip   /initramfs-5.15.94-1.qubes.fc32.x86_64.img
}

?

(my default kernel is kernel-latest - that’s why the kernel version is included in the menuentry name)

Hey @ChrisA its exactly the same content, I do have. Besides of the fact, that I see full uuids and there are line breaks included for longer entries, like this.

\