VirtualBox, не запускающийся после обновления ядра

Вчера я получил обновление ядра и после того, как перезагрузка, VirtualBox прекратил работать.

Вот моя информация о системе (после обновления ядра):

matteo@workstation:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
matteo@workstation:~$ uname -a
Linux workstation 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Я установил VirtualBox давно с

sudo apt install linux-headers-$(uname -r)
sudo apt install virtualbox-dkms virtualbox virtualbox-qt

используемый на ежедневной основе и никогда не имел проблемы с обновлениями ядра. Ошибка, которую я получаю теперь,

matteo@workstation:~$ sudo modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Exec format error
matteo@workstation:~$ dmesg | tail -n 1
[ 1413.167311] vboxdrv: version magic '4.4.0-116-generic SMP mod_unload modversions ' should be '4.4.0-116-generic SMP mod_unload modversions retpoline '

Я нашел сообщение форума с этим сообщением об ошибке здесь от три дня назад, к сожалению, без разрешения. Therfore я пытался удалить VirtualBox packeges из Ubuntu repo и установить последние 5,2 использований этой процедуры. Однако даже после перезагрузки машины, ошибка остается.

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

15
задан 22 February 2018 в 05:00

3 ответа

Связанная проблема, указанная в комментарии @ricab, связана с проблемой с новое ядро ​​требует определенного уровня версии gcc для успешной компиляции модулей ядра.

В моей системе обновление gcc было выгружено ПОСЛЕ обновления ядра, что привело к сбою перекомпиляции.

Как только основная причина была обнаружена, я смог исправить систему, деинсталлировав и переустановив новое ядро. Это исправило мои графические драйверы, но мне пришлось выполнить sudo / sbin / vboxconfig , чтобы исправить виртуальный бокс после загрузки в новое ядро.

Моя система - 14.04, поэтому я не могу посоветовать вам правильную версию gcc для вашей системы 16.04, но это обсуждается на https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937

4
ответ дан 23 November 2019 в 02:49

Я столкнулся с той же проблемой. После обновления ядра моя версия gcc отображалась как 5.4.1. Понижение этой версии до 5.4.0 помогло мне установить retpoline для модуля ядра vboxdrv.

Следующие шаги по этой ссылке помогли мне решить мою проблему:

sudo apt-get install ppa-purge
sudo ppa-purge ppa:ubuntu-toolchain-r/test
#Select gcc version 5 using update-alternatives manually
sudo update-alternatives --config gcc

После этих шагов gcc --version должен быть ( Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) 5.4.0 20160609

Затем очистите все новые заголовки linux (4.4.0-116)

sudo apt-get purge linux-headers-4.4.0-116 linux-headers-4.4.0-116-generic linux-image-4.4.0-116-generic linux-image-extra-4.4.0-116-generic linux-signed-image-4.4.0-116-generic

Снова установите их

sudo apt-get install linux-generic linux-signed-generic

Затем переустановите виртуальный бокс, я установил последнюю версию virtualbox-5.2 на этот раз, но версия virtualbox по умолчанию 5.0 также должна работать нормально.

sudo apt-get purge virtualbox-dkms virtualbox virtualbox-qt
sudo apt-get install virtualbox-5.2

И у нас есть поддержка retpoline в последнем модуле

anirudh@AHDRMD34579:~$ modinfo vboxdrv 
filename:       /lib/modules/4.4.0-116-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.4.0-116-generic SMP mod_unload modversions retpoline 
parm:           force_async_tsc:force the asynchronous TSC mode (int)
9
ответ дан 23 November 2019 в 02:49

У меня тоже недавно была эта проблема, и я разместил здесь вопрос об этом. Я немного покопался, и это действительно известная проблема.

Отчет об ошибке находится в моей ссылке.

Virtualbox внезапно перестал работать

Я думаю, что общий консенсус заключается в загрузке ядра 4.4, пока проблема не будет устранена. исправлено. (Это, безусловно, самое простое решение для меня.)

-1
ответ дан 23 November 2019 в 02:49

Другие вопросы по тегам:

Похожие вопросы: