Při upgradu na Ubuntu 19.10 jsem nainstaloval VirtualBox z repozitářů Ubuntu, protože to byla stejná verze jako Oracle. Ale když jsem upgradoval na VirtualBox 6.1, který byl stažen z webu Oracle VirtualBox, všiml jsem si, že již nemohu spustit virtuální počítač a zobrazila se mi chybová zpráva.
Tento článek vysvětluje, jak správně upgradovat na VirtualBox stažený z Oracle (buď jeho stažením z webu VirtualBox nebo nainstalovaným z úložiště Oracle VirtualBox), pokud máte na svém systému nainstalovanou verzi úložiště Ubuntu VirtualBox. To platí také pro ty, kteří používají distribuce Linuxu založené na Ubuntu, jako je Linux Mint, základní OS a Pop! _OS.
Chyba zobrazená v dialogovém okně při upgradu z úložiště VirtualBox Ubuntu na VirtualBox poskytovaný společností Oracle:
The virtual machine 'Your machine name' has terminated unexpectedly during startup with exit code 1 (0x1).
Result Code:
NS_ERROR_FAILURE (0x80004005)
Component:
MachineWrap
Interface:
IMachine {85632c68-b5bb-4316-a900-5eb28d3413df}
Poté se otevře další dialogové okno s následujícím:
TR3InitEx failed with rc=-1912 (rc=-1912)
The VirtualBox kernel modules do not match this version of VirtualBox. The installation of VirtualBox was apparently not successful. Executing
'/sbin/vboxconfig'
may correct this. Make sure that you are not mixing builds of VirtualBox from different sources.
where: supR3HardenedMainInitRuntime what: 4 VERR_VM_DRIVER_VERSION_MISMATCH (-1912) - The installed support driver doesn't match the version of the user.
Spusťte navrhovaný sudo /sbin/vboxconfig
Příkaz tento problém neřeší.
Proč nenainstalovat VirtualBox poskytovaný společností Oracle namísto toho z repozitářů Ubuntu? V mém případě chci mít možnost používat nejnovější funkce.
Ubuntu nedodává hlavní aktualizace verzí pro VirtualBox, takže uživatelé zůstávají u verze VirtualBoxu, která byla vydána, když vyšla verze Ubuntu, kterou používali. Např. Ubuntu 18.04 a Linux Mint 19. * mají ve svých úložištích VirtualBox 5.2, zatímco Ubuntu 19.10 má VirtualBox 6.0. Nejnovější verze VirtualBoxu je 6.1, takže bude dostupná pouze uživatelům Ubuntu 20.04 prostřednictvím repozitářů Ubuntu.
Proč se to děje a jak to opravit?
Pokud nainstalujete VirtualBox z repozitářů Ubuntu, zjistíte, že jsou nainstalovány celkem 3 balíčky:
$ sudo apt install virtualbox
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
virtualbox virtualbox-dkms virtualbox-qt
...
Když pak přidáte úložiště Oracle VirtualBox a nainstalujete nejnovější VirtualBox 6.1, dva z těchto balíčků budou odstraněny, ale jeden zůstane v systému:
$ sudo apt install virtualbox-6.1
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
virtualbox virtualbox-qt
The following NEW packages will be installed:
virtualbox-6.1
...
K tomuto problému tedy dochází, protože VirtualBox poskytovaný společností Oracle podporuje virtualbox-dkms
Balíček na Ubuntu / Linux Mint. Odstraňte řešení virtualbox-dkms
a poté spusťte /sbin/vboxconfig
jako kořen:
sudo apt remove virtualbox-dkms
sudo /sbin/vboxconfig
VirtualBox nainstalovaný z úložiště Oracle by nyní měl správně fungovat na Ubuntu, Linux Mint, Pop! OS, elementární OS nebo jakákoli distribuce Linuxu založená na Ubuntu, kterou používáte.
Související:Instalace doplňků pro hosta VirtualBox v Ubuntu, Linux Mint, Debian, Fedora a openSUSE [Jak na to]
Pokud se stále zobrazuje chyba, ale jiná, která vypadá takto:
Implementation of the USB 2.0 controller not found!
Because the USB 2.0 controller state is part of the saved VM state, the VM cannot be started. To fix this problem, either install the 'Oracle VM VirtualBox Extension Pack' or disable USB 2.0 support in the VM settings.
Note! This error could also mean that an incompatible version of the 'Oracle VM VirtualBox Extension Pack' is installed (VERR_NOT_FOUND).
Result Code:
NS_ERROR_FAILURE (0x80004005)
Component:
ConsoleWrap
Interface:
IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
To znamená, že počítač, který se pokoušíte spustit, byl nainstalován s podporou VirtualBox Extension Pack, a proto jej potřebuje ke spuštění. Přejděte na stránku pro stažení VirtualBox, získejte VirtualBox Oracle VM VirtualBox Extension Pack, dvakrát klikněte na soubor Extension Pack (který obsahuje vbox-extpack
rozšíření) a mělo by se otevřít pomocí VirtualBox, abyste jej mohli nainstalovat. Stroj pak funguje podle očekávání.