Nainštalujte a nastavte QEMU/KVM na spúšťanie virtuálnych strojov v Ubuntu 24.04


Toto je podrobný návod, ktorý ukazuje, ako nainštalovať a spravovať virtuálne stroje pomocou riešenia qemu/kvm v Ubuntu 24.04.

KVM, Kernel-based Virtual Machine, je modul v jadre Linux, ktorý môže fungovať ako hypervízor. Ponúka vysoko výkonné prostredie virtualizácie s hardvérovými rozšíreniami virtualizácie, ako sú Intel VT alebo AMD-V, ktoré sú zabudované v CPU.

KVM nepriamo nefunguje v užívateľskom priestore. Vyžaduje si aplikáciu v užívateľskom priestore, ako je QEMU, na interakciu s ním a na správu virtuálnych strojov.

Keďže QEMU je nástroj príkazového riadku, existuje aj grafický nástroj, ako napríklad Virtual Machine Manager, ktorý uľahčuje jeho používanie.

1. Načítajte KVM jadrový modul a nainštalujte QEMU:

Modul KVM vyžaduje, aby procesor hostiteľského počítača mal podporu virtualizácie. Ide o VT-x pre procesory Intel a AMD-V pre procesory AMD. Všetky procesory Intel a AMD z posledných 10 rokov podporujú virtualizáciu.

Aby ste skontrolovali, či váš CPU podporuje virtualizáciu, otvorte terminál (Ctrl+Alt+T) a spustite príkaz:

LC_ALL=C.UTF-8 lscpu | grep Virtualization

Ak nič nevydáva, uistite sa, že ste v BIOS-e povolili podporu virtualizácie.

A skontrolujte, či je modul KVM načítaný, spustite príkaz:

lsmod | grep kvm

Jadrový modul je zvyčajne predvolene načítaný v Ubuntu. Ak NIE, skúste sudo modprobe -a kvm kvm_intel na jeho načítanie (nahradte kvm_intel za kvm_amd pre procesor AMD).

Na inštaláciu QEMU v Debian, Ubuntu, Linux Mint a ich založených systémoch spustite príkaz:

sudo apt install qemu-system

2. Vytvoriť virtuálny stroj z príkazového riadka

POZNÁMKA: Ak nenávidíte príkazy Linuxu, jednoducho preskočte tento krok a použite grafický nástroj v ďalšom kroku!

1. Najprv vytvorte obrazový súbor virtuálneho disku spustením podobného príkazu nižšie:

qemu-img create -f raw /media/ji/600g/windows10.raw 80G

Tu musíte zodpovedajúcim spôsobom nahradiť možnosti príkazu. Sú to:

  • -f raw hovorí, že sa má vytvoriť surový obraz. Proces vytvárania je veľmi pomalý a zaberie celý priestor, ktorý ste priradili (80G v mojom prípade) na hostiteľovi. Nepoužitý priestor na hosťovi nemôže byť použitý na hostiteľovi. Pre výber môžete namiesto toho použiť -f qcow2, čo priraďuje priestor súboru obrazu iba vtedy, keď operačný systém hosťa skutočne zapisuje na virtuálny pevný disk. Avšak, použitie qcow2 pravdepodobne ovplyvní výkon.
  • /media/ji/600g/windows10.raw hovorí o vytvorení windows10.raw obrazového súboru ako virtuálneho disku, a je uložený na externom disku pripojenom na /media/ji/600g. Môžete preskočiť cestu, takže obrazový súbor bude vytvorený v aktuálnom adresári.
  • 80G, plná kapacita hostiteľského pevného disku pre hostí.

A kedykoľvek môžete súbor (windows10.raw v mojom prípade) presunúť alebo odstrániť podľa svojich želaní. Musíte však zmeniť cestu k súboru v ďalších príkazoch.

2. Na inštaláciu virtuálneho operačného systému použite príkaz, ktorý vyzerá takto:

qemu-system-x86_64 -cdrom /path/to/iso-image -boot menu=on -drive file=/path/to/virtual-disk-image,format=raw -m 8G -cpu host -smp sockets=1,cores=2,threads=2 --enable-kvm

Tento príkaz hovorí, aby sa použil:

  • qemu-system-x86_64 na simuláciu architektúry CPU hostiteľa amd64. Nahradiť x86_64 za x86, s390x, ppc atď. v závislosti od typu hostiteľského operačného systému.
  • -cdrom /cesta/k/iso-obrazku na pripojenie .iso obrazu cez CD Rom.
  • -boot menu=on, aby sa zobrazila ponuka na výber zariadenia, z ktorého sa má bootovať.
  • file=/cesta/k/virtuálnemu-diskovému-obrazu,format=raw na pripojenie virtuálneho disku cez obrázkový súbor, nahraďte raw podľa toho, čo ste vytvorili v poslednom príkaze.
  • -m 8G – priraďte RAM pamäť.
  • -cpu host pre použitie CPU rovnakého ako hostiteľ. Pre výber môžete spustiť qemu-system-x86_64 -cpu help pre viac možností.
  • -smp sockets=1,cores=2,threads=2 – nastavte 1 procesor so 2 jadrami a každým 2 vláknami, čo znamená (2 jadra/4 vlákna).
  • --enable-kvm na povolenie KVM. Môžete tiež použiť -accel kvm ako alternatívu.

V mojom prípade je príkaz nasledovný:

qemu-system-x86_64 -cdrom ~/Documents/windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso -boot menu=on -drive file=/media/ji/600g/windows10.raw,format=raw -m 8G -cpu host -smp sockets=1,cores=2,threads=2 --enable-kvm

Príkaz vyššie spustí okno virtuálneho stroja, čo umožní bootovať z .iso obrazu a potom nainštalovať operačný systém na virtuálny diskový obraz.

Následne spustite hosťujúci operačný systém pomocou príkazu:

qemu-system-x86_64 /path/to/virtual-disk-image

Rovnako môžete pridať podobné možnosti vyššie, aby ste špecifikovali veľkosť pamäte, koľko CPU jadier sa má použiť, povoliť KVM atď. Pozrite si oficiálnu dokumentáciu pre viac informácií.

3. Použite grafický nástroj na inštaláciu a správu QEMU/KVM VM.

Príkazový riadok QEMU nie je pohodlný a je ťažký pre začiatočníkov. Aby sme uľahčili život, existuje niekoľko grafických nástrojov na inštaláciu a správu VM. A tu vám ukážem „Správcu virtuálnych strojov“.

Nainštalujte správcu virtuálnych strojov:

Najprv otvorte terminál (Ctrl+Alt+T) a spustite príkaz na inštaláciu grafického nástroja:

sudo apt install virt-manager

Potom pridajte svojho užívateľa do skupiny libvirt a reštartujte službu démona:

sudo gpasswd --add $USER libvirt
sudo systemctl start libvirtd

Spustite nástroj a vytvorte nové VM.

Ďalším krokom je vyhľadanie a spustenie správcu virtuálnych strojov z ponuky Štart (alebo prehľadu GNOME). Mal by sa automaticky pripojiť k systému QEMU/KVM pri spustení.

Ak NIE, jednoducho na ňu dvakrát kliknite na zozname. A, skúste reštartovať počítač, ak sa pripojenie nepodarilo!

Potom kliknite na prvú ikonu v paneli nástrojov alebo prejdite do ponuky „Súbor -> Nový virtuálny stroj“, aby ste spustili dialóg na vytvorenie virtuálneho stroja.

V sprievodcovi s pop-up oknom si môžete vybrať inštaláciu z lokálneho .iso obrazu, sieťovú inštaláciu, existujúci obraz virtuálneho disku, ako aj vybrať architektúru hostiteľského operačného systému.

Potom nasledujte sprievodcu pop-up, aby ste vybrali .iso obraz alebo inštalačné médium CD Rom. Ak ste klikli na tlačidlo „Prezerať...“ namiesto manuálneho zadania cesty k iso obrazu, môžete manuálne pridať pool pre non-predvolenú polohu, napríklad externý disk, a vytvoriť tam virtuálny disk.

Nakoniec kliknite na „Prehliadať lokálne“ a vyberte súbor .iso. POZNÁMKA: požiada o zmenu oprávnenia súboru vybraného iso obrazu a obrazu virtuálneho disku. Ak vám toto správanie nevyhovuje, pozrite sa na nasledujúci krok.

Ďalej nastavte veľkosť pamäte a počet jadier CPU, vytvorte virtuálny disk alebo vyberte existujúci obraz disku, ktorý ste práve vytvorili, a pokračujte takto, kým sa sprievodca nedokončí.

Ak všetko pôjde dobre, virtuálny stroj by sa mal spustiť a načítať iso obraz na inštaláciu operačného systému.

Nastavte KVM na použitie ako normálny používateľ

Vytvorenie virtuálneho obrazového disku na neštandardnej lokácii (napr. externý disk) a pripojenie .iso obrazu zmení ich vlastníctvo, takže nebudú patriť vám (vašemu používateľovi). A môže to niekedy zlyhať kvôli problémom s oprávneniami.

Aby ste sa tomu vyhli, môžete nastaviť používanie ako bežného používateľa.

Najprv spustite príkaz v termináli (Ctrl+Alt+T) na úpravu konfiguračného súboru libvirtd:

sudo nano /etc/libvirt/libvirtd.conf

Potom zistite a nastavte unix_sock_group='libvirt' a unix_sock_rw_perms='0770' odstránením # na začiatkoch a zmenou hodnoty. Nakoniec stlačte Ctrl+S na uloženie, Ctrl+X na ukončenie.

Ďalej upravte konfiguračný súbor qemu spustením príkazu:

/etc/libvirt/qemu.conf

Potom zistite a nastavte user="your_user" a group="your_user" a uložte súbor (Ctrl+S, potom Ctrl+X).

Nakoniec reštartujte démon pomocou príkazu:

sudo systemctl restart libvirtd.service

Potom zatvorte a znova spustite správcu virtuálnych strojov.

Vytvorte zdieľanú zložku medzi hostiteľským a hosťujúcim operačným systémom

Na zdieľanie súborov medzi hostiteľským a hosťujúcim operačným systémom môžete vytvoriť zdieľanú zložku pomocou nasledujúceho kroku.

1. Najprv otvorte terminál a nainštalujte balíčky spice-vdagent a virtiofsd v hostiteľskom a hosťovskom operačnom systéme:

  • Pre Debian, Ubuntu, Linux Mint atď. použite príkaz:

    sudo apt install spice-vdagent virtiofsd
  • Pre systémy Fedora a na nich založené, spustite:

    sudo dnf install spice-vdagent virtiofsd
  • A systémy založené na Arch môžu spustiť namiesto toho príkaz:

    sudo pacman -S spice-vdagent virtiofsd
  • Pre Windows jednoducho kliknite na stiahnutie a nainštalujte súbor spice-guest-tools exe.

2. Ďalej prejdite na ponuku „Zobraziť -> Podrobnosti“ v okne virtuálneho stroja. Potom vykonajte:

  • Prejdite na „Pamäť“ naľavo a povolte „Povoliť zdieľanú pamäť“.
  • Kliknite na tlačidlo „Pridať hardware“, potom v dialógovom okne vyberte „Súborový systém“.
  • Ďalšia sadzba:

    • Ovládač: virtiofs.
    • Zdrojová cesta: cesta k priečinku, ktorý chcete zdieľať v hostiteľskom operačnom systéme.
    • Cieľová cesta: akékoľvek meno zdieľania

3. Nakoniec spustite alebo reštartujte virtuálny stroj.

Pre Linux hosťovský systém, spustite príkaz na pripojenie zdieľanej zložky, ktorý bude fungovať až do reštartu:

sudo mount -t virtiofs share /home/USERNAME/Documents/share

Tu nahraďte share názvom zdieľania, ktorý ste nastavili v poslednom kroku, a tiež pripojovacím bodom v hostiteľskom operačnom systéme. Keď skončíte, otvorte túto pripojovaciu zložku a skontrolujte, či to funguje!

Aby ste to urobili trvalým, použite príkaz sudo nano /etc/fstab na úpravu /etc/fstab a pridajte novú riadok na koniec:

share-name-here   /path/to/mount/in/guest  virtiofs   defaults  0   0

Nakoniec stlačte Ctrl+S na uloženie a Ctrl+X na ukončenie

Pre Windows, vykonajte nasledujúce kroky jeden po druhom na hosťujúcom operačnom systéme:

  1. Najprv stiahnite a nainštalujte WinFSP odtiaľto.
  2. Potom kliknite na stiahnuť virtio-win.iso z webovej stránky Fedory.
  3. Otvorte Prieskumníka súborov, prejdite do priečinka Stiahnutia a kliknite na pripojenie súboru virtio-win.iso, ktorý ste práve stiahli.
  4. Kliknite pravým tlačidlom na ikonu ponuky Štart a otvorte „Správca zariadení“, prejdite na „Iné zariadenia -> Ovládač masovej pamäte“, kliknite naň pravým tlačidlom a vyberte „Aktualizovať ovládač“.

  5. Ďalej kliknite na „Prehľadávať môj počítač pre softvér ovládača“, prehľadávajte a vyberte jednotku DVD (ktorú ste práve pripojili na obraz virtio-win.iso) ako umiestnenie pre ovládače, nakoniec kliknite na „Ďalej“, aby ste automaticky vyhľadali a nainštalovali ovládač z tohto adresára.
  6. Potom otvorte DVD jednotku v Prieskumníku súborov a prejdite do priečinka viofs. Následne skopírujte buď podpriečinok w10 alebo w11, v závislosti od verzie hostiteľského operačného systému, do lokálneho adresára, napríklad C:\virtiofs (priečinok virtiofs v C vytvorte manuálne).

  7. Nakoniec otvorte cmd (Príkazový riadok) ako administrátor a spustite príkazy na vytvorenie a spustenie služby na automatické pripojenie zdieľanej zložky:

    sc.exe create VirtioFsSvc binpath="path\to\virtiofs.exe" DisplayName="Virtio FS Service"
    sc.exe start VirtioFsSvc

    Tu musíte nahradiť cestu\k\virtiofs.exe. V mojom prípade som skopíroval priečinok „w10“ z DVD disku do C:\virtiofs, takže cesta je C:\virtiofs\w10\amd64\virtiofs.exe.

Ak všetko pôjde dobre, teraz by ste mali vidieť zdieľanú zložku v ľavom paneli prieskumníka súborov.

Navyše

Existuje aj mnoho ďalších vecí, ktoré by ste mohli chcieť urobiť pre virtuálne stroje v správcovi, ako napríklad povoliť 3D akceleráciu prepnutím video modulu „Video QXL“ na „Virtio“ a potom zaškrtnutím možnosti 3D akcelerácie, a potom povoliť OpenGL v zobrazení Spice.

Takisto existuje dobrý tutoriál, ktorý ukazuje, ako povoliť prechod GPU, aby vaša virtuálna mašina mohla priamo pristupovať k GPU pre natívny výkon pri hraní hier a úprave grafiky.

Kvôli obmedzeniu dĺžky tutoriálu tu nebudem pridávať viac. Prosím, neváhajte zanechať komentár nižšie.