I am trying to debug why a virtual machine refuses to finish booting. I believe I have narrowed down the problem to using UEFI as the firmware, though the UEFI is not the core problem.
When booting, UEFI executes properly. I see the TianoCore logo, I can get into the UEFI settings page and change settings. From there, UEFI loads GRUB from disk. GRUB displays properly and selects a boot option properly.
The problems begin when GRUB loads the initrd. The initrd has garbled output (the characters per-line are not lining up to actually form legible characters). This continues throughout the boot until the VM makes more progress, until it eventually hangs on a pink garbled screen (Screenshot included) forever.

Once the VM reaches this point, nothing happens and there is no activity. During the initrd stage, XCP-ng and XO record CPU, memory, and disk activity. Once the pink screen happens, there is no activity.
I believe I have narrowed this down to UEFI because I duplicated this VM and switched its firmware to BIOS, did a re-install, and everything worked perfectly. I never have this hanging or garbled line output happening when using BIOS firmware.
Host Details:
- Up-to-date on patches
- Build number: release/yangtze/master/58
- Version: 8.2.1 ()
Guest Details:
- Guix System from commit
hw8j6ygy3qx0ciq8v3qwl4zz6jrj3srw
- Install went fine
- UEFI Boot
- No Disk encryption
- No guest tools
I have already discussed this with the Guix community, and they see no reason why this would be happening, and I agree with them. I am using UEFI firmware on all of my physical machines (1 desktop and 2 laptops) with Guix and everything is working correctly.
I have tried replicating this setup in Proxmox as well (TianoCore UEFI). I get the same screen garbling in the initrd, and early kernel, but the initrd completes and the VM boots completely. Once I reach the login prompt (or more likely init), the screen fixes itself, showing legible text. Proxmox's monitoring tools show signs of system activity throughout this whole process.
To be clear, I am fine using BIOS as the firmware here, but I want to understand why UEFI is causing problems with the VM.