VirtualBox не загружается после обновления 12.04

33

После обновления с 11.10 до 12.04 виртуальный ящик перестал работать.

Я запустил следующее, чтобы попытаться это исправить:

sudo aptitude update
sudo aptitude install dkms
sudo /etc/init.d/vboxdrv setup

но когда я запускаю последнюю команду, я получаю:

bash: /etc/init.d/vboxdrv: No such file or directory

Когда я пытаюсь

sudo /etc/init.d/virtualbox start

Я получил:

 * Starting VirtualBox kernel modules
 * No suitable module for running kernel found

Я также попробовал:

sudo dkms install virtualbox/4.1.2

и получил:

Error! Could not find module source directory.
Directory: /usr/src/virtualbox-4.1.2 does not exist.

Я также попытался установить заголовки Linux:

sudo apt-get install linux-headers-$(uname -r)

но они уже были установлены.

Из того, что я прочитал, переустановка может не решить проблему. Есть ли способ исправить виртуальную коробку?

ContextSwitch
источник
не хватает 10 репутации, чтобы разместить ответ ... но сокращение: «apt-get install --reinstall virtualbox-dkms» - нужно просто установить ранее необходимые сборочные и linux-заголовки.
Мартин Цайтлер,

Ответы:

36

У меня была аналогичная проблема. Вот что сработало для меня:

Это может потребоваться, если вы получаете исходные коды ядра типа ошибки:

sudo apt-get install build-essential linux-headers-`uname -r`

Затем перенастройте соответствующие пакеты, чтобы включить их в процесс восстановления.

sudo dpkg-reconfigure virtualbox-dkms 
sudo dpkg-reconfigure virtualbox
user57359
источник
Это сработало для меня (с modprobe, как в ответе GTO69)
Матье
1
apt-get install build-essential linux-headers`uname -r`может также понадобиться, как примечание.
Мочан
1
Я получаю, sudo dpkg-reconfigure virtualbox-dkms dpkg-query: package 'virtualbox-dkms' is not installed and no information is availableкогда я пытаюсь sudo dpkg-reconfigure virtualbox-dkms. У меня нет этой ошибки после переустановки virtualbox ...
Benjamin Crouzier
11

В итоге я удалил и переустановил virtualbox с помощью apt-get. Он увидел, что не хватает частей ядра, и установил их.

sudo apt-get remove virtualbox
sudo apt-get install virtualbox
ContextSwitch
источник
1
Обратите внимание, что «sudo apt-get install virtualbox --reinstall» не запускает процесс сборки модуля.
Бен Симпсон
8

Это сработало и для меня:

sudo apt-get remove virtualbox
sudo apt-get install virtualbox

Тем не менее, я должен был добавить:

sudo modprobe vboxdrv
GTO69
источник
3

Этот ответ основан на @ Кертиса ответ , apparenly ответа на вызов по конкретной версии

Вы используете неправильную версию для сборки dkms. Попробуй это:

sudo dkms install virtualbox/4.1.12

Кажется, это сработало для меня. Это, конечно, после установки пакета virtualbox-dkms.

версия может быть изменен ( выделены жирным шрифтом приведены в цитате).

Так что попробуйте:

ls -d /usr/src/virtualbox*

который даст вам что-то вроде

/usr/src/virtualbox-version

Теперь возьмите версию и используйте ее в приведенной выше команде, как

sudo dkms install virtualbox/version

Если это не дает вам

Модуль virtualbox / version уже установлен в ядре kernelVersion -generic / Architecture

после этого выполните следующие команды (взято из других ответов на пост)

и при необходимости загрузите модуль sudo modprobe vboxdrv

если DKMS показывает ошибку, что отсутствует какое-то ядро, просто установите ядро ​​и перестройте / переустановите virtualbox.

РЕДАКТИРОВАТЬ : по-видимому, это также существует на 12.10

Авинаш Р
источник
1

Вы используете неправильную версию для сборки dkms. Попробуй это:

sudo dkms install virtualbox/4.1.12

Кажется, это сработало для меня. Это, конечно, после установки пакета virtualbox-dkms.

Curtis
источник
0

У меня такая же проблема, и в лог-файле

DKMS make.log для virtualbox-4.1.12 для ядра 3.8.0-31-generic (x86_64) Mo 7. Окт 14:43:01 CEST 2013 make: Gehe в Verzeichnis /usr/src/linux-headers-3.8. 0-31-generic 'LD /var/lib/dkms/virtualbox/4.1.12/build/built-in.o LD /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/built-in.o CC [M] /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/linux/SUPDrv-linux.o CC [M] /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/SUPDrv .o CC [M] /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/SUPDrvSem.o CC [M] /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/alloc -r0drv.o CC [M] /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/initterm-r0drv.o CC [M] /var/lib/dkms/virtualbox/4.1.12/build /vboxdrv/r0drv/memobj-r0drv.o CC [M] /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/mpnotification-r0drv.o CC [M] /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/powernotification-r0drv.o CC [M] /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/ r0drv / linux / assert-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/linux/alloc-r0drv-linux.o CC [M] / var / lib / dkms / virtualbox / 4.1.12 / build / vboxdrv / r0drv / linux / initterm-r0drv-linux.o CC [M] /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/linux/ memobj-r0drv-linux.o /var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c: в функции »rtR0MemObjNativeMapUser«: / var / virtual / dkms /4.1.12/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.c:1451:38: Fehler: »VM_RESERVED« nicht deklariert (erste Benutzung in dieser Funktion) /var/lib/dkms/virtualbox/ 12 / build / vboxdrv / r0drv / linux / memobj-r0drv-linux.c: 1451: 38: Anmerkung:jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet make [2]:* [/var/lib/dkms/virtualbox/4.1.12/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o] Fehler 1 make [1]: [/var/lib/dkms/virtualbox/4.1.12/build/vboxdrv] Fehler 2 make: * * [ module /var/lib/dkms/virtualbox/4.1.12/build] Fehler 2 make: Verlasse Verzeichnis '/ usr /src/linux-headers-3.8.0-31-generic»

Что я могу сделать?

3.8.0-31-родовой

micha @ Aspire-V3-771: ~ $ sudo dpkg-перенастроить пароль virtualbox-dkms [sudo] для micha:

-------- Начало деинсталляции -------- Модуль: virtualbox Версия: 4.1.12

Ядро: 3.5.0-18-generic (x86_64)

Состояние: перед удалением эта версия модуля была АКТИВНОЙ для этого ядра.

vboxdrv.ko: - Деинсталляция - Удаление из: /lib/modules/3.5.0-18-generic/updates/dkms/ - Оригинальный модуль - Не найден оригинальный модуль для этого модуля в этом ядре. - Используйте команду dkms install для переустановки любой предыдущей версии модуля.

vboxnetadp.ko: - Деинсталляция - Удаление из: /lib/modules/3.5.0-18-generic/updates/dkms/ - Оригинальный модуль - Не найден оригинальный модуль для этого модуля в этом ядре. - Используйте команду dkms install для переустановки любой предыдущей версии модуля.

vboxnetflt.ko: - Деинсталляция - Удаление из: /lib/modules/3.5.0-18-generic/updates/dkms/ - Оригинальный модуль - Не найден оригинальный модуль для этого модуля в этом ядре. - Используйте команду dkms install для переустановки любой предыдущей версии модуля.

vboxpci.ko: - Деинсталляция - Удаление из: /lib/modules/3.5.0-18-generic/updates/dkms/ - Оригинальный модуль - Оригинальный модуль для этого модуля не найден в этом ядре. - Используйте команду dkms install для переустановки любой предыдущей версии модуля.

depmod ....

DKMS: удаление завершено.


Удаление версии модуля: 4.1.12

полностью из дерева DKMS.

Выполнено. Загрузка новых файлов DKMS virtualbox-4.1.12 ... Сборка только для универсального 3.8.0-31 Сборка начального модуля для универсального 3.8.0-31 Ошибка! Неверный статус возврата для сборки модуля в ядре: 3.8.0-31-generic (x86_64) Обратитесь к /var/lib/dkms/virtualbox/4.1.12/build/make.log для получения дополнительной информации. * Остановка модулей ядра VirtualBox [OK] * Запуск модулей ядра VirtualBox * Не найден подходящий модуль для запуска ядра [fail] invoke-rc.d: initscript virtualbox, действие «перезапустить» не выполнено. Миха @ Aspire-V3-771: ~ $

lupopa
источник
У меня теперь установлена ​​Virtualbox с virtualbox.org И теперь он работает ... :)
lupopa