VirtualBox - RTR3InitEx nie powiodło się z rc = -1912 (rc = -1912)

55

Zainstalowałem VirtualBox Version 5.1.18 r114002 (Qt5.5.1)na Ubuntu 16.04 LTS. Do wirtualizacji wszystkiego (Kali, Windows 10).

Wystąpił następujący błąd:

RTR3InitEx nie powiodło się z rc = -1912 (rc = -1912)

Moduły jądra VirtualBox nie pasują do tej wersji VirtualBox. Instalacja VirtualBox najwyraźniej nie powiodła się. Wykonywanie

„/ sbin / vboxconfig”

może to poprawić. Upewnij się, że nie mieszasz wersji OSE i wersji PUEL VirtualBox.

gdzie: supR3HardenedMainInitRuntime co: 4 VERR_VM_DRIVER_VERSION_MISMATCH (-1912) - Zainstalowany sterownik pomocniczy nie pasuje do wersji użytkownika. wprowadź opis zdjęcia tutaj

  • Co powoduje ten problem?
  • Jak rozwiązać ten problem?

Kiedy uruchamiam się dpkg --list virtualbox-*w terminalu, otrzymuję:

 Desired=Unknown/Install/Remove/Purge/Hold  
 | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend     
 |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)  
 ||/ Name       Version      Architecture Description
 +++-==============-============-============-================================= 
 rc  virtualbox-5.0 5.0.32-11293 i386         Oracle VM VirtualBox 
 rc  virtualbox-5.1 5.1.18-11400 i386         Oracle VM VirtualBox  
 un virtualbox-gue <none>       <none>       (no description available)
 un virtualbox-gue <none>       <none>       (no description available)
 un virtualbox-ose <none>       <none>       (no description available)
Ali Hesari
źródło
Czy przeczytałeś komunikat o błędzie? mówi wykonanie /sbin/vboxconfigmojej poprawki. ostatnia wersja virtualbox w repozytorium to: 5.0.32Sugeruję zainstalowanie vbox z oficjalnego repozytorium.
Ravexina,
Błąd wskazuje, że maszyna wirtualna została zainstalowana w wersji VirtualBox innej niż bieżąca instalacja. Może to wynikać z mieszania OSE (repozytoriów Ubuntu) i wersji PUEL (po instalacji z Oracle wraz z pakietem rozszerzeń) lub z innej architektury (32 vs. 64 bit) - trudno powiedzieć, nie wiedząc, co zrobiłeś przed wystąpieniem błędu.
Takkat
@Ravexina Usunąłem 5.1.18i zainstalowałem, 5.0.32ale otrzymałem poprzedni błąd.
Ali Hesari,
@Ravexina Uruchomiłem dpkg --list virtualbox-*i zaktualizowałem swoje pytanie.
Ali Hesari,
1
Wygląda na to, że nadal masz zainstalowany 5.1, uruchom sudo apt-get autoremove --purge virtualbox-5.1:, a następnie usuń nieoficjalne repozytoria i zainstaluj virtualbox.
Ravexina,

Odpowiedzi:

69

Wygląda na to, że wersja instalacyjna programu virtualbox jest przeznaczona dla architektury 32-bitowej podczas działania 64-bitowego systemu operacyjnego, co może być przyczyną tego problemu.

Moim obejściem byłoby usunięcie zainstalowanej wersji z PPA i zainstalowanie virtualbox z oficjalnych repozytoriów.

Aby usunąć virtualbox, uruchom:

sudo apt autoremove --purge virtualbox*

Następnie upewnij się, że w systemie nie ma zainstalowanej innej wersji:

dpkg -l 'virtualbox*' | grep ^i

Nie powinieneś otrzymywać żadnych danych wyjściowych, możesz także spróbować uruchomić virtualbox, aby upewnić się, że nie jest zainstalowany.

Następnie usuń wszystkie powiązane umowy PPA z katalogu sources.listi sources.list.d. dawny:

mkdir ~/apt-tmp
sudo mv /etc/apt/sources.list.d/* ~/apt-tmp

Upewnij się, że nie ma nic poza oficjalnymi źródłami repozytoriów /etc/apt/sources.list.

I zaktualizuj swoje źródła:

sudo apt update

Teraz możemy wyszukać, które wersje są dostępne do zainstalowania:

apt-cache madison virtualbox | grep -iv sources

Co daje wynik taki jak ten:

virtualbox | 5.0.32-dfsg-0ubuntu1.16.04.2 | http://mirrors.kernel.org/ubuntu xenial-updates/multiverse amd64 Packages
virtualbox | 5.0.18-dfsg-2build1 | http://mirrors.kernel.org/ubuntu xenial/multiverse amd64 Packages

Następnie zainstalowałbym ostatnią wersję wymienioną w xenial-updates:

sudo apt install virtualbox=5.0.32-dfsg-0ubuntu1.16.04.2

Również sudo apt install virtualboxbyłoby dobrze, ale wybrałbym powyższe polecenie, aby upewnić się, że moja żądana wersja zostanie zainstalowana.

W końcu sprawdź, czy zainstalowana jest poprawna wersja.

Z linii poleceń:

dpkg -l virtualbox* | grep ^i

ii  virtualbox                     5.0.32-dfsg-0ubuntu1.16.04.2 amd64        x86 virtualization solution - base binaries
ii  virtualbox-dkms                5.0.32-dfsg-0ubuntu1.16.04.2 all          x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-qt                  5.0.32-dfsg-0ubuntu1.16.04.2 amd64        x86 virtualization solution - Qt based user interface

Z GUI: aby upewnić się, że działa poprawna wersja.

Menu Pomoc -> o virtualbox

Zwróć uwagę na zielone podświetlenie

vbox

Ravexina
źródło
Dziękuję za odpowiedź. Uruchomiłem, apt-cache madison virtualbox | grep -iv sources ale nie otrzymałem danych wyjściowych !!! nie ma problemu?
Ali Hesari,
Powinieneś otrzymać wynik jako mój przykład, dodaj wynik tego polecenia do swojego pytania cat /etc/apt/sources.list.
Ravexina
4
sudo mv /etc/apt/sources.list.d/* ~/apt-tmpw ten sposób sudo apt-get installnie będzie instalować żadnego innego oprogramowania. Więc nie zapomnij cofnąć go z powrotem
Asme
Natknąłem się na ten sam problem, z jakimś apt retro innej firmy, dzięki stosom, jak go usunąć! Powiedziawszy to, jest już możliwe, aby zainstalować 5.1 w sposób bezpośredni, zobacz moją odpowiedź tutaj .
Frank Nocke,
Postępowałem zgodnie z instrukcjami i zainstalowałem virtualboksa, ale nie mogę zainstalować dodatków gości
Sugumar Venkatesan
55

Jeśli zainstalowałeś VirtualBox według oficjalnej instrukcji i nie zapomniałeś usunąć zainstalowanego z domyślnego repozytorium Ubuntu.

Sprawdź, czy virtualbox-dkmsjest zainstalowany:

dpkg -l | grep virtualbox-dkms

Jeśli tak, usuń go i zainstaluj dkms

sudo apt-get purge virtualbox-dkms && \
sudo apt-get install dkms

Odbuduj moduły jądra VirtualBox:

sudo /sbin/vboxconfig 
Daniil Lopatin
źródło
11
Dzięki. Pracował dla mnie i powinien być wybraną odpowiedzią.
user3751385,
1
To działało idealnie! Łatwiej niż zaakceptowana odpowiedź i bardziej poprawna.
Andreas Wederbrand
1
Przyjęta odpowiedź odpowiada wymaganiom PO w celu rozwiązania problemu. Ten jest ogólny, który może nie działać dla OP.
Ravexina,
Pomógł mi uratować Virtualbox przed tym samym błędem. zaktualizowałem z 5.2 do 6.0, po czym zacząłem otrzymywać ten błąd.
lovalim
Pomogło mi to dla vbox6 18.04.2
Troublemaker-DV
9

Tak więc w moim przypadku moduły jądra nie zostały poprawnie usunięte.

Oto szczegóły:

root@Dell5280 [~]# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS

root@Dell5280 [~]# uname -r
4.13.0-31-generic

Problem:

root@Dell5280 [~]# modinfo vboxdrv
filename: /lib/modules/4.13.0-31-generic/updates/dkms/vboxdrv.ko
version: 5.0.40_Ubuntu r115130 (0x00240000)
license: GPL
description: Oracle VM VirtualBox Support Driver
author: Oracle Corporation
srcversion: 6D8B4900A693FC50489A130
depends:
name: vboxdrv
vermagic: 4.13.0-31-generic SMP mod_unload

NAPRAWIĆ:

root@Dell5280 [~]# rm /lib/modules/4.13.0-31-generic/updates/dkms/vboxdrv.ko

root@Dell5280 [~]# modinfo vboxdrv
filename: /lib/modules/4.13.0-31-generic/updates/dkms/vboxdrv.ko
modinfo: ERROR: could not get modinfo from 'vboxdrv': No such file or directory
[1] root@Dell5280 [~]# /sbin/vboxconfig
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: Starting VirtualBox services.

root@Dell5280 [~]# modinfo vboxdrv
filename: /lib/modules/4.13.0-31-generic/misc/vboxdrv.ko
version: 5.2.7 r120349 (0x00290000)
license: GPL
description: Oracle VM VirtualBox Support Driver
author: Oracle Corporation
srcversion: 4880B21EFF1B605D6402982
depends:
name: vboxdrv
vermagic: 4.13.0-31-generic SMP mod_unload
parm: force_async_tsc:force the asynchronous TSC mode (int)

Po tym wszystko działa (przynajmniej w moim przypadku)

Mam nadzieję, że to pomoże. Ukryj Zobacz pełny dziennik aktywności

Odpowiedzi zamieściłem na https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1736116

Andy
źródło
Nie wiem, ile razy odinstalowywałem i ponownie instalowałem, a błąd nadal występował. Właśnie tego potrzebowałem. Dzięki, Andy :)
Phil Cairns
5

Wygląda na to, że masz dwie oddzielne wersje VirtualBox zainstalowane w systemie!

Polecam całkowite odinstalowanie wszystkich wersji VirtualBox:

sudo apt-get autoremove 'virtualbox*'

Następnie zainstaluj ponownie bezpośrednio z wirtualnej skrzynki Oracle. Przejdź do strony pobierania VB , przewiń w dół do „ Dystrybucji Linuksa opartych na Debianie ” i postępuj zgodnie z instrukcjami lub pobierz pakiet binarny VB dla wszystkich dystrybucji, a następnie uruchom instalator w następujący sposób:

cd /path/to/downloaded/file
chmod +x VirtualBox-x.x.xx-xxxxxx-Linux_xxxxx.run
./VirtualBox-x.x.xx-xxxxxx-Linux_xxxxx.run
Ghasem Pahlavan
źródło
2

Sprawdź, czy masz załadowane moduły vbox:

lsmod | grep vbox

Na moim komputerze mam vboxpci, vboxnetadp, vboxnetflt, ivboxdrv

Sprawdź, czy są poprawną wersją:

modinfo vboxdrv

Bardzo prawdopodobne, że będzie to wersja tego modułu 5.0.32 rxxxxxx, ale korzystasz z Virtualbox 5.1

Jeśli tak nie jest, ta odpowiedź może nie rozwiązać problemu.

W przeciwnym razie może to być spowodowane brakiem usuwania modułów pozostawionych przez wirtualną skrzynkę starej wersji, a nowe moduły nie są nadpisywane.

Po prostu usuń wszystkie stare moduły i uruchom ponownie, a powinno to rozwiązać problem:

# This command list all files in the same directory of the vboxdrv module
# Double check they are all vbox* modules and are outdated
# Then change "ls" to "rm" to remove all
ls $(dirname $(modinfo vboxdrv | sed -n 's/filename: *(\.*\)/\1/p'))/*
lyang
źródło
2

po aktualizacji do wersji 6.0 ten komunikat również się pojawił. Jeśli tego nie zrobiłeś, zrestartuj system, aby wszystkie nowe moduły zostały załadowane do jądra. Czasami jest to tak proste.

trzy
źródło
1

Jeśli ponownie zainstaluj Virtualbox nie działa. Powinieneś spróbować zainstalować lub ponownie zainstalować dkmsVirtualbox

sprawdź, czy występują błędy:

dpkg -P virtualbox-dkms

Jeśli masz błąd, prawdopodobnie powinieneś spróbować:

sudo apt-get install virtualbox-dkms
Milor123
źródło
1

Jeśli chcesz korzystać z najnowszej wersji virtualbox, musisz usunąć moduły z folderu dkms.

VB 5.1 i starsze umieszczają moduły w misc, podczas gdy VB 5.0 w rozwidleniu przechowuje je w folderze dkms .

  1. Wyczyść wszystkie virtualbox za pomocą apt
  2. Sprawdź, modinfo vboxdrvczy wyświetla wersję 5.0 :

    $ modinfo vboxdrv
    filename: /lib/modules/4.13.0-31-generic/updates/dkms/vboxdrv.ko
    version: 5.0.40_Ubuntu r115130 (0x00240000)
    license: GPL
    description: Oracle VM VirtualBox Support Driver
    author: Oracle Corporation
    srcversion: 6D8B4900A693FC50489A130
    depends:
    name: vboxdrv
    vermagic: 4.13.0-31-generic SMP mod_unload
     parm:           force_async_tsc:force the asynchronous TSC mode (int)
    
  3. Jeśli wygeneruje 5.0 , usuń moduły z folderu dkms:

    $ sudo -i
    # sudo rmmod vboxnetadp vboxnetflt vboxpci vboxdrv 
    # cd /lib/modules/(kernelversion)-generic/updates/dkms
    # rm vbox*
    
  4. Uruchom sudo /sbin/rcvboxdrv setup(następnie sprawdź, czy modinfo vboxdrvdaje prawidłową wersję)

    $ modinfo vboxdrv
    filename:       /lib/modules/4.10.0-42-generic/misc/vboxdrv.ko
    version:        5.2.6 r120293 (0x00290000)
    license:        GPL
    description:    Oracle VM VirtualBox Support Driver
    author:         Oracle Corporation
    srcversion:     4880B21EFF1B605D6402982
    depends:        
    vermagic:       4.10.0-42-generic SMP mod_unload 
    parm:           force_async_tsc:force the asynchronous TSC mode (int)
    
Yerong Li
źródło
1

Usunąłem virtualbox za pomocą polecenia podanego poniżej:

sudo apt autoremove --purge virtualbox*

ale to nie zadziałało.

Odkryłem, że stary mod vboxdrv nie został usunięty i musiałem ręcznie usunąć vboxdrv.ko z „/ lib / modules / $ (uname -r) / updates / dkms /”.

Legolas
źródło
1

prosty apt upgrade virtualboxdziałał dla mnie

AmanicA
źródło