[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-04。"],[],[],null,["This document is for platform administrators and application owners that run\nvirtual machines (VMs) in VM Runtime on GDC. This document shows\nyou how to enable the Unified Extensible Firmware Interface (UEFI) boot process\ninstead of the default BIOS booting process for virtual machines (VMs) that use\nVM Runtime on GDC. This document also shows how to enable [Secure\nBoot](/compute/shielded-vm/docs/shielded-vm#secure-boot) and how to set up\nemulated `smbios` fields.\n\nBefore you begin\n\nTo complete this document, you need access to the following resources:\n\n- Access to Google Distributed Cloud version 1.12.0 (`anthosBareMetalVersion: 1.12.0`) or higher cluster. You can use any cluster type capable of running workloads. If needed, [try Google Distributed Cloud on Compute\n Engine](/kubernetes-engine/distributed-cloud/bare-metal/docs/try/gce-vms) or see the [cluster\n creation\n overview](/kubernetes-engine/distributed-cloud/bare-metal/docs/installing/creating-clusters/create-clusters-overview).\n\nEnable UEFI booting\n\nYou can enable UEFI booting for both new and existing VMs. To enable UEFI\nbooting in an existing VM, the VM must have an EFI partition.\n\n1. [Create a manifest](/kubernetes-engine/distributed-cloud/bare-metal/docs/vm-runtime/tutorial-create-vm#create_a_vm) that defines a `VirtualMachine` or edit the manifest of an existing `VirtualMachine`.\n2. Add the `firmware` field to the `VirtualMachine` manifest as shown in the\n example below:\n\n apiVersion: vm.cluster.gke.io/v1\n kind: VirtualMachine\n metadata:\n labels:\n kubevirt.io/vm: vm1\n name: vm1\n namespace: test-vm-ns\n spec:\n compute:\n cpu:\n vcpus: 2\n memory:\n capacity: 4Gi\n interfaces:\n - name: eth0\n networkName: pod-network\n default: true\n firmware:\n bootloader:\n type: \"uefi\"\n enableSecureBoot: false\n disks:\n - virtualMachineDiskName: disk-from-gcs\n boot: true\n readOnly: true\n\nEnable secure boot\n\nIf UEFI booting is enabled for a VM you can also enable Secure Boot by setting\nthe `enableSecureBoot` field to `true` as shown below: \n\n firmware:\n bootloader:\n type: \"uefi\"\n enableSecureBoot: true\n\nFor more information about Secure Boot, see [Secure\nBoot](/compute/shielded-vm/docs/shielded-vm#secure-boot) in the Compute Engine\ndocumentation.\n\nProvide emulated `smbios` fields\n\nYou can set up emulated `smbios` fields like `uuid` and `serial` by adding them\nin the firmware field of the `VirtualMachine` manifest as shown in the example\nbelow: \n\n firmware:\n \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-nt\"\u003eFIELD_NAME\u003c/span\u003e\u003c/var\u003e: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eFIELD_VALUE\u003c/span\u003e\u003c/var\u003e\n \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-nt\"\u003eFIELD_NAME\u003c/span\u003e\u003c/var\u003e: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eFIELD_VALUE\u003c/span\u003e\u003c/var\u003e\n\nReplace \u003cvar translate=\"no\"\u003eFIELD_NAME\u003c/var\u003e and \u003cvar translate=\"no\"\u003eFIELD_VALUE\u003c/var\u003e with the `smbios` field\nnames and values that your application requires.\n\nYou can set up emulated `smbios` fields when using either UEFI or BIOS booting."]]