Ricerca nel sito web

Abilita il supporto UEFI nella virtualizzazione KVM


Su questa pagina

  1. Cos'è il BIOS?
  2. Cos'è UEFI?
  3. Firmware sulla virtualizzazione KVM

  1. Crea una macchina virtuale con virt-install
  2. Crea una macchina virtuale con Virtual Machine Manager

Esistono due tipi di firmware sulle schede madri dei computer:

  1. BIOS o sistema di input/output di base
  2. UEFI o Unified Extensible Firmware Interface

Che cos'è il BIOS?

Il BIOS verrà caricato all'avvio del computer per inizializzare e testare il funzionamento dell'hardware. Viene utilizzato POST o Power On Self Test per garantire che la configurazione hardware sia valida e funzioni correttamente, quindi cercare l'MBR (Master Boot Records) che ha memorizzato il dispositivo di avvio e utilizzarlo per avviare il bootloader, quindi il kernel e quindi il Sistema Operativo.

Tutti questi processi di avvio sul BIOS sono chiamati Legacy Boot, di seguito è riportata una semplice spiegazione del processo di avvio sul BIOS.

BIOS > MBR > Bootloader > Kernel > Operating System

Il BIOS considera un firmware vecchio e obsoleto, anche se ci saranno sempre persone che lo useranno. Il BIOS ha funzionalità limitate per i computer odierni e i PC moderni, deve essere eseguito su un processore a 16 bit con solo 1 MB di spazio per l'esecuzione. Inoltre, inizializzerà più hardware contemporaneamente, il che rende il processo di avvio più lento.

La sostituzione del firmware per il BIOS è UEFI, disponibile sulle moderne schede madri.

Che cos'è l'UEFI?

UEFI o Unified Extensible Firmware Interface è considerata la sostituzione del firmware per il BIOS. Viene fornito con più caratteristiche e funzionalità che sono limitate sul BIOS ed è disponibile su schede madri e PC moderni al giorno d'oggi.

Anche se è considerato un sostituto del BIOS, UEFI funziona in modo diverso e ha un concetto opposto al BIOS. UEFI memorizza tutte le informazioni sull'inizializzazione e l'avvio nel file .efi, che è memorizzato nella partizione ESP (EFI System Partition). e l'ESP memorizzerà anche i programmi bootloader per il sistema operativo installato sul computer.

L'UEFI viene utilizzato GPT per memorizzare tutte le informazioni sulle partizioni, invece di MBR. E sotto una semplice spiegazione di come il sistema operativo si avvia su UEFI.

UEFI > GPT/ESP > Kernel > Operating System

Di seguito sono riportate alcune importanti funzionalità UEFI che non sono disponibili nel BIOS tradizionale:

  • Avvia più velocemente
  • Gestire più di 2 TB o unità (il che è un grosso problema per l'ambiente odierno)
  • Supporta più di 4 partizioni con tabella delle partizioni GUID
  • Supporta l'avvio sicuro
  • Supporta dispositivi firmware moderni a 64 bit
  • Ha una semplice interfaccia utente grafica
  • ecc.

Firmware sulla virtualizzazione KVM

Per impostazione predefinita, la virtualizzazione KVM utilizza il BIOS come firmware predefinito per le macchine virtuali guest. Per abilitare i supporti UEFI su KVM, è necessario installare il pacchetto OVMF (Open Virtual Machine Firmware) sul sistema host.

Il progetto OVMF fa parte del firmware intels tianocore per la macchina virtuale qemu.

Prerequisiti

In questa guida imparerai come abilitare il supporto UEFI sulla macchina virtuale KVM. Installerai il pacchetto OVMF sulla macchina host e configurerai la macchina virtuale con il firmware UEFI.

Prima di iniziare, assicurati di avere una macchina con la virtualizzazione KVM installata su di essa.

Di seguito è riportata una guida per l'installazione della virtualizzazione KVM su Arch Linux.

Installazione del pacchetto OVMF

Innanzitutto, devi accedere al server host KVM e installare i pacchetti. Per impostazione predefinita, i pacchetti ovmf sono disponibili sulla maggior parte dei repository di distribuzione Linux come Debian, Ubuntu, CentOS, ecc.

1. Installa ovmf sui sistemi basati su Debian usando il comando apt come di seguito.

sudo apt install ovmf

2. E per i sistemi basati su RHEL come CentOS/Fedora, è necessario installare il pacchetto edk2-ovmf utilizzando il comando DNF/Yum come di seguito.

sudo dnf install edk2-ovmf

or

sudo yum install edk2-ovmf

3. Per i sistemi basati su Arch Linux come Manjaro, puoi utilizzare il comando pacman di seguito.

sudo pacman -S edk2-ovmf

E il supporto UEFI sulla virtualizzazione KVM è abilitato. Ora creiamo nuove macchine virtuali.

Abilita UEFI sulla macchina virtuale

Esistono diversi modi per creare una macchina virtuale sulla virtualizzazione KVM. Puoi usare la modalità a riga di comando (usando il comando virt-install), o usando l'applicazione grafica come \virtual machine manager\.

Crea una macchina virtuale con virt-install

1. Per creare una macchina virtuale con firmware UEFI utilizzando la riga di comando virt-install, aggiungi l'opzione --boot uefi nelle opzioni del comando.

Di seguito è riportato un esempio che utilizza il comando virt-install per creare una nuova macchina virtuale Artix con firmware UEFI.

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

Ora avvierai la tua macchina virtuale.

E se entri nelle impostazioni UEFI, di seguito sono riportati alcuni screenshot che otterrai.

Di seguito è riportato lo screenshot di UEFI Interactive Shell sulla macchina virtuale KVM.

E sotto c'è lo screenshot delle impostazioni OVMF sulla macchina virtuale KVM UEFI

Crea una macchina virtuale con Virtual Machine Manager

L'applicazione Virtual Machine Manager fornisce un'interfaccia grafica per la gestione della virtualizzazione KVM.

Se non conosci la virtualizzazione KVM, ti consigliamo di utilizzare virt-manager (gestore di macchine virtuali) per configurare il tuo ambiente di virtualizzazione.

Per creare una macchina virtuale con supporto firmware UEFI utilizzando l'applicazione virt-manager, è necessario configurarla durante la creazione della macchina virtuale stessa.

1. Nell'ultima finestra durante la creazione di una macchina virtuale utilizzando virt-manager, verrà visualizzata la finestra di conferma come di seguito.

È necessario selezionare l'opzione Personalizza configurazione prima dell'installazione, quindi fare clic sul pulsante Fine.

2. Nella nuova finestra, fai clic sul menu Panoramica e passa alla sezione Dettagli hypervisor.

Nell'opzione Firmware, seleziona UEFI x86_64: ..., quindi fai clic sul pulsante Applica.

Ora fai clic sul pulsante Inizia installazione per avviare l'installazione della macchina virtuale.

3. Durante il processo di avvio della macchina virtuale, vedrai Splash di avvio TianoCore come di seguito.

4. Successivamente vedrai il tuo sistema operativo come di seguito.

Ora hai creato correttamente la macchina virtuale sulla virtualizzazione KVM e la macchina virtuale ora utilizza il firmware UEFI invece del BIOS predefinito.

Conclusione

Congratulazioni! Hai imparato come abilitare il supporto UEFI sulla virtualizzazione KVM. Inoltre, hai imparato come configurare una macchina virtuale sia con la riga di comando virt-install che con l'applicazione grafica virt-manager e come abilitare il firmware UEFI sulla macchina virtuale.