VirtualBox

Je mocný virtualizační nástroj x86 a AMD64/Intel64 pro společnosti i domácí využití. Cílené užití je na servery, stolní i vestavěné systémy. Používám jej převážně na hostitelské pracovní stanici s Windows a tak veškerá témata budou směřovat tímto směrem, tedy VirtualBox a Windows hostitel. Ve VirtualBoxu mám několik unixových operačních systémů.

Vytvoření virtuální mašiny

Pro vytvoření nového virtuálního počítače musíme nejen vytvořit počítač, ale také i virtuální pevný disk, který jím bude využíván. Při určování parametrů virtuálního PC buďme opatrní na přidělení výkonu procesoru a RAM. Je důležité si uvědomit, že přidělený výkon nebude k dispozici na hostitelském PC. Ideální je volba 1 procesoru a 25% z celkové RAM paměti. Pro přehlednost si vybírám v počítači vlastní adresář pro umístění dat virtuální mašiny.

  1. Vytvořit nový počítač
  2. Pojmenovat a vybrat typ OS a jeho verzi
  3. Zvolit umístění dat virtuálního počítače
  4. Vytvořit VDI soubor s pevným diskem
  5. Nastavit dynamicky alokované volné místo
Vytvoření nového virtuálního PC
Určení parametrů

Sdílení souborů

Funkce sdílené složky umožní vybrané adresáře sdílet do virtuálních systémů. Pro jednotlivé OS se pak liší způsob, jakým se do systému souborů připojí. Povětšinou je zapotřebí virtualbox-guest-tools anebo virtualbox-ose-additions. Uživatel by měl být ve skupině vboxsf.

  1. Otevřeme sdílené složky
  2. Vytvoříme sdílený adresář
  3. Vybereme umístění v PC pro daný adresář
  4. Pro trvalé sdílení nutno zaškrtnout Vytvořit trvale
  5. Potvrdíme a můžeme jej připojit ve spuštěném virtuálním PC.
Sdílené složky pro unixové systémy

FreeBSD ve VirtualBoxu – sdílené složky a sdílení dat

V tomto krátkém zápisku si nainstaluji VirtualBox-ose-additions, vytvořím si sdílený adresář _DATA přímo v hostitelském manažerovi VirtualBoxu a ten poté připojím do místní složky /mnt/DATA. Pro funkčnost je třeba nainstalovat balík virtualbox-ose-additions a v souboru rc.conf povolit služby pro VirtualBox.

Mimo jiné je možné také využít například WinSCP.

Pro zpřístupnění možností pro VirtualBox je nutné do cílového systému zainstalovat balík virtualbox-ose-additions:

pkg install virtualbox-ose-additions

Ještě musíme říct systému, aby patřičné služby zavedl a používal. Pro startování služeb VirtualBoxu zapíšeme do /etc/rc.conf:

vboxguest_enable="YES"
vboxservice_enable="YES"

Mimo repozitář bude použitelný instalační zdroj z ports, ale ten vyžaduje kernel source:

cd /usr/ports/emulators/virtualbox-ose
make install clean

Připojení sdílených složek

V hostitelském VirtualBoxu jsem si pomocí správce nastavil sdílenou složku s názvem _DATA. Sdílenou složku budu chtít připojit do umístění /mnt/DATA viz. obrázek. Nastavení Mount pointu v tomto případě nehraje příliš velkou roli. Důležité je nastavit korektní připojení disku v systému.

Pro ruční připojení pak můžu využít ručního příkazu mount_vboxfs.

mount_vboxvfs _DATA /mnt/DATA

Fstab a automatické připojení

Jestliže jsem si vytvořil v hostitelském počítači sdílenou složku s názvem například _DATA, mohu ji pomocí zápisu do fstab připojit do systému jako disk. Pro základní nastavení používám například zápis:

_DATA  /mnt/DATA  vboxvfs  rw,gid=1001,uid=1001  0  0

Další možnosti sdílení dat

Možností jak sdílet data je více, jestliže je hostitelský počítač Windows, můžeme využít WinSCP. V nastavení VirtualBoxu virtuálního počítače FreeBSD nastavíme síť jako síťový most, tímto krokem získá počítač IP adresu zjistitelnou ostatními zařízeními v síti. IP adresu zjistíme pomocí příkazu ifconfig anebo ip a. Stačí zapnout SSH server(FreeBSD) pomocí sshd_enable=“YES“ v /etc/rc.conf. Poté se připojíme přes WinSCP na příslušnou IP adresu s portem 22.

Při použití na domácím počítači v soukromém prostředí není nutné zabývat se bezpečností. Pro SSH server stačí běžné standardní nastavení.

Síť

Chápání síťového adaptéru virtuálním systémem lze v rozhraní programu na hostitelském zařízení nastavit dle dostupných adaptérů připojených k počítači. Používám volbu síťového mostu anebo NAT. Síťový most vytvoří virtuální rozhraní s vlastní IP adresou. NAT vytvoří adaptér pro vnitřní rozsah virtuálního zařízení.

K dispozici jsou následující volby:

Nastavení síťového mostu

Zmenšení souboru dynamického disku

Hostitel: Windows 10 64-bit
Host: OpenSUSE Leap 15.1
VirtualBox 6.1

Nejdříve obsadíme volné místo na oddílech samými nulami pomocí nástroje zerofree a poté v hostitelském PC spustíme vboxmanage.exe a je to.

Do virtuálního počítače je potřeba zainstalovat zerofree. Z rescue anebo jiného systému spustíme zerofree na požadovaný oddíl:

zerofree -v /dev/sda1

Jestliže je vynulování hotové, otevřeme si v příkazové řádce adresář VirtualBoxu, který se nachází v Program Files\Oracle\VirtualBox. Spustíme příkaz a přidáme pár argumentů včetně cesty k souboru dynamického disku:

VBoxManage.exe modifymedium disk "C:\Virtual\openSUSE 15.1.vdi" --compact

18GB velký soubor disku jsem takto zredukoval na 14GB. Osvědčilo se mi připojit zmenšovaný oddíl do jiného spuštěného systému, zainstalovat zerofree a z již funkčního jiného systému jsem vynuloval volné místo. Pak na hostitelském PC s Windows 10 jsem provedl zmenšení souboru disku.

Automatický start virtuální mašiny po přihlášení do Windows

Pro automatický start virtuální mašiny jsem si vytvořil skript jehož znění vypisuji níže. Tento skript musí být nějakým způsobem volán a tak jsem do plánovače systému Windows přidal akci po přihlášení uživatel a právě tato akce volá spouštěcí skript.

Obsahem skriptu je cesta ke spouštěcímu souboru VBoxManage.exe a také definice názvu virtuálního stroje, bude vypadat např.:

cd c:\VirtualBox\
VBoxManage.exe startvm virtual-linux

Když nefunguje

Zde jsou problémy a jejich řešení se kterými jsem se setkal:

VT-x is not available (VERR_VMX_NO_VMX)

Chyba při spouštění VirtualBoxu

Zničehonic po aktualizaci Windows 10 nejde spustit VirtualBox. Řešením tohoto problému je zkontrolovat vypnuté funkce Hyper-V ve Windows a povolení virtualizace v BIOSu.

Pro znovunahození VirtualBoxu se musí:

Pro vypnutí Hyper-V pomocí příkazu spustíme cmd jako administrátor a poté zadáme příkaz:

dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
Vypnutí virtualizace ve Windows