Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

migrating AWS to Google Cloud - encountering UEFI issue

Hi,

I am trying to migrate an AWS t2 instance to GCP. I have run the Migrate to VM tool and successfully replicated a source which looks like it's about the right size (45 GB).  However, when I run the Test-Clone, it succeeds in building the clone, but then fails to start with an error message like this visible on the Serial Console.


UEFI: Failed to load image.
Description: UEFI Misc Device
FilePath: PciRoot(0x0)/Pci(0x2,0x0)/NVMe(0x1,00-00-00-00-00-00-00-00)
OptionNumber: 1.
Status: Not Found.

BdsDxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x0)/NVMe(0x1,00-00-00-00-00-00-00-00): Not Found
UEFI firmware (version built at 13:09:19 on Apr 28 2023)
EMU Variable FVB Started
EMU Variable invalid PCD sizes
Found PL031 RTC @ 0x9010000
InitializeRealTimeCl

So, this seems more or less self-explanatory, it doesn't like my UEFI device, but how do I fix it?  























 


UEFI: Failed to load image.

Solved Solved
0 1 892
1 ACCEPTED SOLUTION

Hello @nimblebooks,

Welcome to Google Cloud Community!

The most common issue is using an incompatible machine type or OS image for your Arm VM.

As stated in this document:


You are trying to create an Arm VM, but it doesn't enter the Started state. 

Another possible cause is creating an Arm VM using a boot disk from an x86 VM. The architecture of the boot disk must match that of the virtual machine. Compute Engine checks that the boot disk architecture matches the VM architecture, but the validations might not work with custom images.

Error message:

Using a boot disk with an x86 architecture with an Arm VM results in a failure very early in the boot process, with the main symptom being that you can't access the VM using ssh. Because the VM is not functional, the only way to verify the problem is through serial console logs, which should look similar to the following, repeating infinitely:

BdsDxe: failed to load Boot0001 "UEFI nvme_card-pd" from PciRoot(0x0)/Pci(0x2,
0x0)/NVMe(0x1,00-00-00-00-00-00-00-00): Not Found
EMU Variable FVB Started
EMU Variable invalid PCD sizes
Found PL031 RTC @ 0x9010000
InitializeRealTimeClock: using default timezone/daylight settings
[2J[01;01H[=3h[2J[01;01H
UEFI: Failed to load image.
Description: UEFI nvme_card-pd
FilePath: PciRoot(0x0)/Pci(0x2,0x0)/NVMe(0x1,00-00-00-00-00-00-00-00)
OptionNumber: 1.
Status: Not Found.

Resolution:

Check that your VM instance is running on an Arm compatible machine type and OS image. Don't use a boot disk from an x86 VM to create the VM. Recreate the Arm VM.

View solution in original post

1 REPLY 1

Hello @nimblebooks,

Welcome to Google Cloud Community!

The most common issue is using an incompatible machine type or OS image for your Arm VM.

As stated in this document:


You are trying to create an Arm VM, but it doesn't enter the Started state. 

Another possible cause is creating an Arm VM using a boot disk from an x86 VM. The architecture of the boot disk must match that of the virtual machine. Compute Engine checks that the boot disk architecture matches the VM architecture, but the validations might not work with custom images.

Error message:

Using a boot disk with an x86 architecture with an Arm VM results in a failure very early in the boot process, with the main symptom being that you can't access the VM using ssh. Because the VM is not functional, the only way to verify the problem is through serial console logs, which should look similar to the following, repeating infinitely:

BdsDxe: failed to load Boot0001 "UEFI nvme_card-pd" from PciRoot(0x0)/Pci(0x2,
0x0)/NVMe(0x1,00-00-00-00-00-00-00-00): Not Found
EMU Variable FVB Started
EMU Variable invalid PCD sizes
Found PL031 RTC @ 0x9010000
InitializeRealTimeClock: using default timezone/daylight settings
[2J[01;01H[=3h[2J[01;01H
UEFI: Failed to load image.
Description: UEFI nvme_card-pd
FilePath: PciRoot(0x0)/Pci(0x2,0x0)/NVMe(0x1,00-00-00-00-00-00-00-00)
OptionNumber: 1.
Status: Not Found.

Resolution:

Check that your VM instance is running on an Arm compatible machine type and OS image. Don't use a boot disk from an x86 VM to create the VM. Recreate the Arm VM.

Top Labels in this Space