配置启动

本文档适用于在 GDC 上的 VM Runtime 中运行虚拟机 (VM) 的平台管理员和应用所有者。本文档介绍了如何为在 GDC 上使用虚拟机运行时的虚拟机启用统一可扩展固件接口 (UEFI) 启动过程,而不是默认的 BIOS 启动过程。本文档还介绍了如何启用安全启动以及如何设置模拟 smbios 字段。

准备工作

要完成本文档,您需要拥有以下资源的访问权限:

启用 UEFI 启动

您可以为新虚拟机和现有虚拟机启用 UEFI 启动。如需在现有虚拟机中启用 UEFI 启动,虚拟机必须具有 EFI 分区。

  1. 创建清单以定义 VirtualMachine 或修改现有 VirtualMachine 的清单。
  2. firmware 字段添加到 VirtualMachine 清单,如以下示例所示:

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      labels:
        kubevirt.io/vm: vm1
      name: vm1
      namespace: test-vm-ns
    spec:
      compute:
        cpu:
          vcpus: 2
        memory:
          capacity: 4Gi
      interfaces:
      - name: eth0
        networkName: pod-network
        default: true
      firmware:
        bootloader:
          type: "uefi"
          enableSecureBoot: false
      disks:
      - virtualMachineDiskName: disk-from-gcs
        boot: true
        readOnly: true
    

启用安全启动

如果为虚拟机启用了 UEFI 启动,您还可以通过将 enableSecureBoot 字段设置为 true 来启用安全启动,如下所示:

  firmware:
    bootloader:
      type: "uefi"
      enableSecureBoot: true

如需详细了解安全启动,请参阅 Compute Engine 文档中的安全启动

提供模拟 smbios 字段

您可以设置模拟 smbios 字段(如 uuidserial),方法是将它们添加到 VirtualMachine 清单的固件字段中,如以下示例所示:

  firmware:
    FIELD_NAME: FIELD_VALUE
    FIELD_NAME: FIELD_VALUE

FIELD_NAMEFIELD_VALUE 替换为应用所需的 smbios 字段名称和值。

使用 UEFI 或 BIOS 启动时,您可以设置模拟 smbios 字段。