This document lists errors that you might encounter when creating or updating Arm VMs.
Errors when creating VMs
If you can't create an Arm VM instance, it might be due to one of the common issues that are described in Troubleshooting creating and updating VMs, such as:
- Insufficient quota
not ready
error when creating multiple resources simultaneously- Resource availability issues
- Zone availability issues
- Insufficient permissions
- Resource names
- Constraint violated
- Required CPU platform
Arm VM instance doesn't boot
You are trying to create an Arm VM, but it doesn't enter the Started state. The most common issues are using an incompatible machine type or OS image for your Arm VM.
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.
For information about the available Arm images, see Operating system details.
Instance boot looping
Your instance is looping during the boot stage. Common causes of this issue are:
- Your Arm VM uses a boot disk with an x86 operating system.
- You have an
organization policy
that requires all new Compute Engine VM
instances to use Shielded disk images with secure boot, or you created your VM
with the
--shielded-secure-boot
option.
Resolution:
If you created a boot disk for your VM with the wrong operating system image, recreate the Arm VM with an Arm OS image. For information about the available Arm OS images, see Operating system details.
If the VM is using an Arm OS image, it might be that the OS image doesn't
support Secure boot. If you run into this issue with your Arm VM, then modify
your VM to set the --no-shielded-secure-boot
option. To see how to set
this option, see
Modifying a shielded VM.
Errors when updating VMs
If you can't update a VM instance, it might be due to the following issue.
Error when changing the machine type
The following errors might occur when you try to change the machine type of a VM:
ERROR: (gcloud.compute.instances.set-machine-type) Could not fetch resource: - Invalid resource usage: 'Requested boot disk architecture (X86_64) is not compatible with machine type architecture (ARM64).'
Resolution:
Make sure that your VM supports the processor of the new machine type. For more information about the processors supported by different machine types, see Machine family comparison.
Try to change the machine type by using the Google Cloud CLI.
If you switch from an x86 machine type to an Arm T2A machine type, you might receive a `INVALID_RESOURCE_USAGE' error indicating that your disk type is not compatible with an Arm machine type. Create a new T2A Arm instance using a compatible Arm OS and disk.
What's next?
- To learn more about the Arm platform, see Arm VMs on Compute.
- To learn about the T2A machine series, see Tau T2A machine series.
For troubleshooting NVMe issues, see Troubleshooting NVMe disks.