仮想化 · 1 min read · Dec 18, 2025

KVM仮想化でUEFIサポートを有効にする

コンピュータのマザーボードには2種類のファームウェアがあります:

  1. BIOS(基本入出力システム)
  2. UEFI(統一拡張ファームウェアインターフェース)

BIOSとは?

BIOSはコンピュータが起動する際にハードウェアの機能を初期化およびテストするためにロードされます。POST(パワーオンセルフテスト)を使用してハードウェア構成が有効で正常に動作していることを確認し、ブートデバイスを格納したMBR(マスターブートレコード)を探し、それを使用してブートローダー、次にカーネル、そしてオペレーティングシステムを起動します。

BIOSでのこれらのブートプロセスは「レガシーブート」と呼ばれ、以下はBIOSでのブートプロセスの簡単な説明です。

BIOS > MBR > Bootloader > Kernel > Operating System

BIOSは古くて時代遅れのファームウェアと見なされますが、常に使用している人がいます。BIOSは現代のコンピュータや最新のPCに対して機能が制限されており、16ビットプロセッサ上でのみ実行され、実行するためのスペースは1MBしかありません。また、複数のハードウェアを同時に初期化するため、ブートプロセスが遅くなります。

BIOSのファームウェアの代替はUEFIであり、これは現代のマザーボードで利用可能です。

UEFIとは?

UEFI(統一拡張ファームウェアインターフェース)は、BIOSのファームウェアの代替と見なされます。BIOSで制限されているより多くの機能と機能を備えており、現代のマザーボードや最新のPCで利用可能です。

BIOSの代替と見なされているにもかかわらず、UEFIは異なる方法で動作し、BIOSとは逆の概念を持っています。UEFIは初期化および起動に関するすべての情報を、ESP(EFIシステムパーティション)パーティションに格納されている.efiファイルに保存します。また、ESPはコンピュータにインストールされたオペレーティングシステムのブートローダープログラムも格納します。

UEFIは、MBRの代わりにパーティションに関するすべての情報を格納するためにGPTを使用します。以下は、UEFIでのオペレーティングシステムのブート方法の簡単な説明です。

UEFI > GPT/ESP > Kernel > Operating System

以下は、従来のBIOSでは利用できない注目すべきUEFIの機能です:

  • より高速なブート
  • 2TB以上のドライブを扱う(現代の環境では大きな問題です)
  • GUIDパーティションテーブルで4つ以上のパーティションをサポート
  • セキュアブートをサポート
  • 64ビットの最新のファームウェアデバイスをサポート
  • シンプルなグラフィカルユーザーインターフェースを持つ
  • その他

KVM仮想化のファームウェア

デフォルトでは、KVM仮想化はゲスト仮想マシンのデフォルトファームウェアとしてBIOSを使用しています。KVMでUEFIサポートを有効にするには、ホストシステムにOVMF(Open Virtual Machine Firmware)パッケージをインストールする必要があります。

OVMFプロジェクトは、IntelのTianoCoreファームウェアの一部で、QEMU仮想マシンに関連しています。

前提条件

このガイドでは、KVM仮想マシンでUEFIサポートを有効にする方法を学びます。ホストマシンにOVMFパッケージをインストールし、UEFIファームウェアを使用して仮想マシンを設定します。

始める前に、KVM仮想化がインストールされたマシンを持っていることを確認してください。

以下は、Arch LinuxでのKVM仮想化のインストールガイドです。

OVMFパッケージのインストール

まず、KVMホストサーバーにログインし、パッケージをインストールする必要があります。デフォルトでは、ovmfパッケージはDebian、Ubuntu、CentOSなどのほとんどのLinuxディストリビューションのリポジトリで利用可能です。

  1. Debianベースのシステムでaptコマンドを使用してovmfをインストールします。
sudo apt install ovmf
  1. CentOS/FedoraなどのRHELベースのシステムでは、DNF/Yumコマンドを使用して「edk2-ovmf」パッケージをインストールする必要があります。
sudo dnf install edk2-ovmf  

または  

sudo yum install edk2-ovmf
  1. ManjaroなどのArch Linuxベースのシステムでは、以下のpacmanコマンドを使用できます。
sudo pacman -S edk2-ovmf

これでKVM仮想化でのUEFIサポートが有効になりました。新しい仮想マシンを作成しましょう。

仮想マシンでのUEFIの有効化

KVM仮想化で仮想マシンを作成する方法はいくつかあります。コマンドラインモード(virt-installコマンドを使用)または「virtual machine manager」などのグラフィカルアプリケーションを使用できます。

virt-installを使用して仮想マシンを作成する

  1. コマンドライン「virt-install」を使用してUEFIファームウェアを持つ仮想マシンを作成するには、コマンドオプションに「–boot uefi」オプションを追加します。

以下は、UEFIファームウェアを持つ新しい仮想マシン「Artix」を作成するためのvirt-installコマンドの例です。

sudo virt-install --name=Artix \  
--os-type=Linux \  
--os-variant=archlinux \  
--vcpu=2 \  
--ram=1024 \  
--disk path=/var/lib/libvirt/images/Artix.img,size=15 \  
--graphics spice \  
--cdrom=/home/user/Desktop/artix-base-openrc-20210726-x86_64.iso \  
--network network=default \  
--boot uefi

これで仮想マシンにブートします。

UEFI設定に入ると、以下のスクリーンショットが表示されます。

以下はKVM仮想マシンのUEFIインタラクティブシェルのスクリーンショットです。

UEFIインタラクティブシェル

以下はUEFI KVM仮想マシンのOVMF設定のスクリーンショットです。

OVMF UEFIメニュー設定

Virtual Machine Managerを使用して仮想マシンを作成する

仮想マシンマネージャーアプリケーションは、KVM仮想化を管理するためのグラフィカルインターフェースを提供します。

KVM仮想化に不慣れな場合は、仮想化環境を設定するためにvirt-manager(仮想マシンマネージャー)を使用することをお勧めします。

virt-managerアプリケーションを使用してUEFIファームウェアサポートを持つ仮想マシンを作成するには、仮想マシン自体の作成中に設定する必要があります。

  1. virt-managerを使用して仮想マシンを作成する際の最後のウィンドウで、以下の確認ウィンドウが表示されます。

virt-managerで仮想マシンを作成

インストール前に設定をカスタマイズ」オプションをチェックし、「完了」ボタンをクリックします。

  1. 新しいウィンドウで、「概要」メニューをクリックし、「ハイパーバイザーの詳細」セクションに移動します。

ファームウェアオプションで「UEFI x86_64: …」を選択し、「適用」ボタンをクリックします。

KVMでUEFIを有効にする

インストールを開始」ボタンをクリックして仮想マシンのインストールを開始します。

  1. 仮想マシンのブートプロセス中に、以下のTianoCoreブートスプラッシュが表示されます。

TianoCore UEFIブートスプラッシュ

  1. その後、以下のようにオペレーティングシステムが表示されます。

UEFIでの仮想マシンブート

これでKVM仮想化で仮想マシンを正常に作成し、仮想マシンはデフォルトのBIOSの代わりにUEFIファームウェアを使用しています。

結論

おめでとうございます!KVM仮想化でUEFIサポートを有効にする方法を学びました。また、virt-installコマンドラインとvirt-managerグラフィカルアプリケーションの両方を使用して仮想マシンを設定し、仮想マシンでUEFIファームウェアを有効にする方法を学びました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。