您有組織政策,要求所有新的 Compute Engine VM 都必須使用具有安全啟動的受防護磁碟映像檔,或是您使用 --shielded-secure-boot 選項建立 VM。
解決方法:
如果您為 VM 建立開機磁碟時使用錯誤的作業系統映像檔,請使用 Arm 作業系統映像檔重新建立 Arm VM。如要瞭解可用的 Arm OS 映像檔,請參閱「作業系統詳細資料」。
如果 VM 使用 Arm 作業系統映像檔,可能是作業系統映像檔不支援安全開機。如果您在 Arm VM 中遇到這個問題,請修改 VM 以設定 --no-shielded-secure-boot 選項。如要瞭解如何設定這個選項,請參閱「修改受防護的 VM」。
更新 VM 時發生錯誤
如果無法更新 VM,可能是因為下列問題。
變更機器類型時發生錯誤
嘗試變更 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).'
解決方法:
請確認您的 VM 支援新機器類型的處理器。x86 VM 必須具備與 x86 相容的 CPU,就像 Arm VM 必須具備與 Arm 相容的 CPU 一樣。如要進一步瞭解不同機器類型支援的處理器,請參閱「機器系列比較」頁面。
Editing VM instance "t2a-vm" failed. Error: [pd-balanced, c4a-standard-1]
features are not compatible for creating instance.
在這個範例中,您無法將 t2a-standard-1 Arm VM 的機器類型變更為 c4a-standard-1 Arm VM,因為 C4A 僅支援開機磁碟的 Hyperdisk Balanced,而 T2A 只使用永久磁碟磁碟。您無法變更 T2A VM 的機器類型。如要解決這項錯誤,請按照遷移至 Arm VM 中的步驟操作。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-04 (世界標準時間)。"],[[["\u003cp\u003eArm VM creation can fail due to issues like insufficient quota, resource availability, or incompatible machine types and OS images.\u003c/p\u003e\n"],["\u003cp\u003eAn Arm VM may fail to boot if it uses a boot disk from an x86 VM, as the architecture of the boot disk must match that of the VM, and this can be verified through the serial console logs.\u003c/p\u003e\n"],["\u003cp\u003eBoot looping in Arm VMs can be caused by using an x86 operating system on the boot disk or having an organization policy that requires Shielded disk images with secure boot, and is resolved by changing these issues.\u003c/p\u003e\n"],["\u003cp\u003eUpdating a VM's machine type can result in errors if the new machine type's processor or disk type is incompatible with the existing VM's configuration, particularly when switching between x86 and Arm architectures.\u003c/p\u003e\n"],["\u003cp\u003eWhen switching from an x86 machine type to an Arm C4A or T2A machine type, an 'INVALID_RESOURCE_USAGE' error can occur if the current disk type is not compatible with the new Arm machine type, but a work around using snapshots is available.\u003c/p\u003e\n"]]],[],null,["# Troubleshooting Arm VMs\n\n*** ** * ** ***\n\nThis document lists errors that you might encounter when creating or updating\nArm VMs.\n\n\nErrors when creating VMs\n------------------------\n\nIf you can't create an Arm virtual machine (VM) instance, it might be due to one\nof the common issues that are described in\n[Troubleshooting creating and updating VMs](/compute/docs/troubleshooting/troubleshooting-vm-creation),\nsuch as:\n\n- Insufficient quota\n- `not ready` error when creating multiple resources simultaneously\n- Resource availability issues\n- Zone availability issues\n- Insufficient permissions\n- Resource names\n- Constraint violated\n- Required CPU platform\n\n### Arm VM instance doesn't boot\n\nYou are trying to create an Arm VM, but it doesn't enter the Started state.\nThe most common issues are using an incompatible machine type or OS image for\nyour Arm VM.\n\nAnother possible cause is creating an Arm VM using a boot disk from an x86 VM.\nThe architecture of the boot disk must match that of the VM.\nCompute Engine checks that the boot disk architecture matches the VM\narchitecture, but the validations might not work with custom images.\n\n**Error message**:\n\nUsing a boot disk with an x86 architecture with an Arm VM results in a failure\nvery early in the boot process, with the main symptom being that you\ncan't access the VM using `ssh`. Because the VM is not functional, the only way\nto verify the problem is through serial console logs, which should look similar\nto the following, repeating infinitely: \n\n```\nBdsDxe: failed to load Boot0001 \"UEFI nvme_card-pd\" from PciRoot(0x0)/Pci(0x2,\n0x0)/NVMe(0x1,00-00-00-00-00-00-00-00): Not Found\nEMU Variable FVB Started\nEMU Variable invalid PCD sizes\nFound PL031 RTC @ 0x9010000\nInitializeRealTimeClock: using default timezone/daylight settings\n[2J[01;01H[=3h[2J[01;01H\nUEFI: Failed to load image.\nDescription: UEFI nvme_card-pd\nFilePath: PciRoot(0x0)/Pci(0x2,0x0)/NVMe(0x1,00-00-00-00-00-00-00-00)\nOptionNumber: 1.\nStatus: Not Found.\n```\n\n**Resolution**:\n\nCheck that your VM is running on an Arm compatible machine type and\nOS image. Don't use a boot disk from an x86 VM to create the VM.\nRecreate the Arm VM.\n\nFor information about the available Arm images, see\n[Operating system details](/compute/docs/images/os-details).\n\n### Instance boot looping\n\nYour VM is looping during the boot stage. Common causes of this issue are:\n\n- Your Arm VM uses a boot disk with an x86 operating system.\n- You have an [organization policy](/resource-manager/docs/organization-policy/org-policy-constraints) that requires all new Compute Engine VMs to use Shielded disk images with secure boot, or you created your VM with the `--shielded-secure-boot` option.\n\n**Resolution:**\n\nIf you created a boot disk for your VM with the wrong operating system image,\nrecreate the Arm VM with an Arm OS image. For information about the available\nArm OS images, see [Operating system details](/compute/docs/images/os-details).\n\nIf the VM is using an Arm OS image, it might be that the OS image doesn't\nsupport Secure boot. If you run into this issue with your Arm VM, then modify\nyour VM to set the `--no-shielded-secure-boot` option. To see how to set\nthis option, see\n[Modifying a shielded VM](/compute/shielded-vm/docs/modifying-shielded-vm#modify-shielded-vm-instance).\n\nErrors when updating VMs\n------------------------\n\nIf you can't update a VM, it might be due to the following issue.\n\n### Error when changing the machine type\n\nThe following errors might occur when you try to change the machine type of\na VM: \n\n```\nERROR: (gcloud.compute.instances.set-machine-type) Could not fetch resource:\n - Invalid resource usage: 'Requested boot disk architecture (X86_64) is not\n compatible with machine type architecture (ARM64).'\n```\n\n**Resolution:**\n\n- Make sure that your VM supports the processor of the new machine type. An x86\n VM must have an x86-compatible CPU, just as an Arm VM must have an Arm-compatible\n CPU. For more information about the processors supported by different machine\n types, see the\n [Machine family comparison](/compute/docs/machine-resource#machine_type_comparison)\n page.\n\n- Try to [change the machine type](/compute/docs/instances/changing-machine-type-of-stopped-instance#changing_a_machine_type)\n by using the Google Cloud CLI.\n\n### x86 to Arm storage type error\n\nIf you switch from an x86 machine type to an Arm C4A or T2A machine type, you\nmight receive an \\`INVALID_RESOURCE_USAGE' error indicating that your disk type\nisn't compatible with an Arm machine type.\n\n- If the error is on the boot disk, then create a new C4A or T2A VM using a\n compatible Arm OS and disk type.\n\n- If you receive this error for Persistent Disk that was attached to your x86 VM,\n you can create a snapshot of the disk and use that snapshot to create a\n Hyperdisk Balanced disk. You can then attach the Hyperdisk Balanced to the C4A VM.\n\nTo learn more about how to snapshot Persistent Disk boot and disk data, see\n[Move your workload to a new compute instance](/compute/docs/import/migrate-to-new-vm#storage-resources).\n\n#### Example\n\n```\nEditing VM instance \"t2a-vm\" failed. Error: [pd-balanced, c4a-standard-1]\nfeatures are not compatible for creating instance.\n```\n\nIn this example, you can't change the machine type of a `t2a-standard-1` Arm VM\nto a `c4a-standard-1` Arm VM because C4A only supports Hyperdisk Balanced for the boot\ndisk but T2A uses only Persistent Disk disks. You can't\nchange the machine type of the T2A VM. To resolve this error, follow the steps in\n[Migrating to an Arm VM](/compute/docs/instances/arm-on-compute#arm-to-arm).\n\nWhat's next?\n------------\n\n- To learn more about migrating to an Arm VM, see [Arm VMs on Compute](/compute/docs/instances/arm-on-compute).\n- To learn about the C4A machine series, see [C4A machine series](/compute/docs/general-purpose-machines#c4a_series).\n- To learn about the T2A machine series, see [Tau T2A machine series](/compute/docs/general-purpose-machines#t2a_machines).\n- For troubleshooting NVMe issues, see\n [Troubleshooting NVMe disks](/compute/docs/troubleshooting/troubleshooting-disk-nvme)."]]