Moduły jądra VirtualBox nie pasują do wersji VirtualBox

31

VirtualBox 4.2.12 na Ubuntu 12.04 działał dobrze, dopóki nie musiałem instalować dodatku gościa. Po jego instalacji:

 Failed to open a session for the VM Win 7 exit code 1;

 RTR3Init failed with rc=-1912(rc=1912)

Po uruchomieniu dpkg --list | grep virtualbox:

ii  virtualbox                             4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - base binaries
rc  virtualbox-4.2                         4.2.6-82870~Ubuntu~precise              Oracle VM VirtualBox
ii  virtualbox-dkms                        4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-guest-additions             4.1.12-1                                transitional package for virtualbox-guest-additions-iso
ii  virtualbox-guest-additions-iso         4.1.12-1                                guest additions iso image for VirtualBox
ii  virtualbox-qt                          4.1.12-dfsg-2ubuntu0.2                  x86 virtualization solution - Qt based user interface

Każda pomoc jest doceniana ...

Dzięki...

CoolEulerProject
źródło
Proszę wyjaśnić: dla jakiej wersji virtualbox i jak zainstalowałeś dodatki dla gości? Którą wersję chcesz uruchomić (nie ma 4.2.12)? DPKG informuje nas, że masz zainstalowaną starą wersję 4.1.12, ale usunięto 4.2.6. Jak zainstalowałeś virtualbox? Proszę również nazwać architekturę hosta (amd64 i386?).
Takkat

Odpowiedzi:

44

Wygląda na to, że masz zainstalowane dwie osobne wersje VirtualBox!

Polecam całkowite odinstalowanie wszystkich wersji VirtualBox:

sudo apt-get autoremove 'virtualbox*'

Następnie zainstaluj ponownie bezpośrednio z Oracle. Przejdź do strony pobierania VB , przewiń w dół do „Dystrybucji Linuksa opartych na Debianie” i postępuj zgodnie z instrukcjami.

Następnie spróbuj ponownie.

Nawiasem mówiąc, nie musisz używać grepz dpkg. Oto ładniejsza alternatywa dla twojego polecenia:

dpkg --list 'virtualbox*'
Paddy Landau
źródło
14

Mniej uciążliwym rozwiązaniem może być:

sudo dpkg-reconfigure virtualbox-dkms
sudo dpkg-reconfigure virtualbox

Źródło z więcej informacji.

Rikard
źródło
Dzięki tej sugestii zdałem sobie sprawę, że całkowicie przegapiłem virtualbox-dkms. Zatrzymałem VBManager, zainstalowałem virtualbox-dkms z apt-get, uruchomiłem ponownie i wszystko było w porządku.
Marco Faustinelli,
1
To zadziałało dla mnie (i nie miałem lub nie musiałem instalować virtualbox-dkms)
aidan
1
Po zainstalowaniu 5.2 z Oracle musiałem uruchomić, dpkg-reconfigure virtualbox-5.2aby to naprawić.
NuSkooler,
9

Miałem ten problem po przejściu z wersji repozytorium Ubuntu na wersję ppa. Główna przyczyna problemu była dokładnie taka, jak podano w komunikacie o błędzie: niezgodność wersji modułu jądra. Potwierdziłem to za pomocą

modinfo vboxdrv

która wróciła jako wersja 5.0. (Z ppa mam vbox 5.1).

Odinstalowałem virtualbox-dkms, ponieważ jego instalacja spowoduje również zainstalowanie zwykłej wersji vbox z repozytorium ubuntu. Ale moduły jądra nadal znajdowały się wśród modułów obsługiwanych przez DKMS (/ lib / modules / (kernelversion) -generic / updates / dkms /), więc zgaduję, dlaczego skrypty nie działały:

próbowałem

sudo /sbin/vboxconfig

który najwyraźniej zrobił wszystko jak zwykle, zatrzymując moduły jądra, rekompilując, ponownie ładując (rzekomo) nowe moduły jądra. Z wyjątkiem sprawdzania wersji modułu wciąż pojawił się 5.0.

Potem spróbowałem

sudo /sbin/rcvboxdrv setup

z tym samym rezultatem: bez zmiany wersji.

Potem postanowiłem usunąć moduły, ponieważ nie podobało mi się to, że były w folderze dkms. Aby to zrobić, musisz rozładować moduły jądra

sudo rmmod vboxnetadp vboxnetflt vboxpci vboxdrv

następnie usuń pliki modułów z / lib / modules / (kernelversion) -generic / updates / dkms. Następnie uruchomić

sudo /sbin/rcvboxdrv setup

znowu, i voilá, nowe moduły są wer. 5.1, i już nie pod dkms, moje maszyny wirtualne są uruchomione.

Teraz, gdy o tym myślę, być może moduły zostały poprawnie przekompilowane w /lib/modules/4.4.0-59-generic/misc/, ale podczas ładowania moduły dkms mogą mieć priorytet. Niestety nie mam więcej czasu, aby to zbadać.

ps .: Jeśli wykonasz to samo przejście z wersji repo do ppa, pamiętaj, aby dodać siebie do (nowo utworzonych) vboxusers grupy, a następnie wyloguj się i wróć.

Gábor Kiczenko
źródło
1
Naprawiłem to w Ubuntu 16.04 po przejściu na PPA z Oracle. Dzięki wielkie!
Josh
Wreszcie! Usunięcie starszego pliku .so załatwiło sprawę. Przeinstalowałem z apt i wszystko wydaje się działać.
nullsteph
1

Zdarzyło mi się to dzisiaj na Debianie 8 (Jessie) po aktualizacji jądra. Naprawiłem to w następujący sposób:

  1. su (Nie używam sudo; jeśli tak, to dodaj sudo do poniższych wierszy)
  2. dpkg-reconfigure virtualbox-dkms
  3. dpkg-reconfigure virtualbox
  4. /etc/init.d/virtualbox restart

Dzięki Rikard / hg8 za powyższą wskazówkę dotyczącą kroków 2 i 3. W moim przypadku jest możliwe, że nie były one potrzebne, ale w każdym razie czułem się dobrze.

Freeb
źródło
Miałem ten sam problem przy przenoszeniu VB z 5.0 na 5.2. Postępowałem zgodnie z Twoimi instrukcjami i zadziałało, ale w kroku 3 zmień virtualbox na virtualbox-5.2, jeśli go zainstalowałeś.
TommyDo
1

W moim przypadku virtualbox-dkmswersja po prostu nie pasowała do pozostałych pakietów:

$ dpkg --list | grep virtualbox
ii  unity-scope-virtualbox                        0.1+13.10.20130723-0ubuntu1 all                         VirtualBox scope for Unity
ii  virtualbox                                    5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - base binaries
ii  virtualbox-dkms                               5.0.40-dfsg-0ubuntu1.16.04. all                         x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-ext-pack                           5.1.34-0ubuntu1.16.04.2     all                         extra capabilities for VirtualBox, downloader.
ii  virtualbox-qt                                 5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - Qt based user interface

Po prostu ponownie go zainstalowałem:

$ sudo apt purge virtualbox-dkms
$ sudo apt install virtualbox-dkms
$ dpkg --list | grep virtualbox
ii  unity-scope-virtualbox                        0.1+13.10.20130723-0ubuntu1 all                         VirtualBox scope for Unity
ii  virtualbox                                    5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - base binaries
ii  virtualbox-dkms                               5.1.34-dfsg-0ubuntu1.16.04. all                         x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-ext-pack                           5.1.34-0ubuntu1.16.04.2     all                         extra capabilities for VirtualBox, downloader.
ii  virtualbox-qt                                 5.1.34-dfsg-0ubuntu1.16.04. amd64                       x86 virtualization solution - Qt based user interface
ii  virtualbox-source                             5.1.34-dfsg-0ubuntu1.16.04. all                         x86 virtualization solution - kernel module source

i maszyna wirtualna uruchomiła się bez błędów.

PJ_Finnegan
źródło