ブートを構成する

このドキュメントは、GDC 上の VM ランタイムで仮想マシン(VM)を実行するプラットフォーム管理者とアプリケーション オーナーを対象としています。このドキュメントでは、GDC 上の VM ランタイムを使用する仮想マシン(VM)において、デフォルトの BIOS 起動プロセスではなく、Unified Extensible Firmware Interface(UEFI)の起動プロセスを有効にする方法について説明します。このドキュメントでは、セキュアブートを有効にする方法と、エミュレートされた smbios フィールドを設定する方法についても説明します。

始める前に

このドキュメントの内容を実施するには、次のリソースへのアクセス権が必要です。

UEFI ブートを有効にする

UEFI ブートは、新しい VM と既存の VM の両方で有効にできます。既存の VM で UEFI ブートを有効にするには、VM に EFI パーティションが必要です。

  1. VirtualMachine を定義するマニフェストを作成するか、既存の VirtualMachine のマニフェストを編集します。
  2. 次の例に示すように、VirtualMachine マニフェストに firmware フィールドを追加します。

    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
    

セキュアブートを有効にする

VM の UEFI ブートが有効になっている場合は、次のように enableSecureBoot フィールドを true に設定して、セキュアブートを有効にすることもできます。

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

セキュアブートの詳細については、Compute Engine ドキュメントのセキュアブートをご覧ください。

エミュレートされた smbios フィールドを指定する

uuidserial などのエミュレートされた smbios フィールドは、下の例に示すように、VirtualMachine マニフェストのファームウェア フィールドにそれらを追加することで設定できます。

  firmware:
    FIELD_NAME: FIELD_VALUE
    FIELD_NAME: FIELD_VALUE

FIELD_NAMEFIELD_VALUE は、アプリケーションに必要な smbios フィールドの名前と値に置き換えます。

UEFI ブートまたは BIOS ブートを使用する場合、エミュレートされた smbios フィールドを設定できます。