Вчера получил обновление ядра и после перезагрузки перестал работать 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 '
Я нашел сообщение на форуме с этим сообщением об ошибке здесь три дня назад, к сожалению, без разрешения. Поэтому я попытался удалить пакеты VirtualBox из репозитория Ubuntu и установить последнюю версию 5.2, используя эту процедуру . Однако даже после перезагрузки машины ошибка остается.
Что я могу сделать в этом случае?
upgrade
kernel
virtualbox
matpen
источник
источник
shift
во время загрузки, выберите «Дополнительные параметры для Ubuntu» и выберите более старую версию ядра из меню, как описано здесь . Я могу подтвердить, что в моей предыдущей версии ядра (4.4.0-112) не было проблемы, описанной в вопросе, поэтому это жизнеспособный обходной путь до выпуска решения.Esc
ключ.shift
работает. Это не мой случай, но я читал о некоторых людях, заставляющих его работать только с «правым сдвигом» или «левым сдвигом».Ответы:
Я столкнулся с той же проблемой. После обновления ядра моя версия gcc показалась как 5.4.1. Понижение этой версии до 5.4.0 помогло мне получить retpoline для модуля ядра vboxdrv.
Следующие шаги по этой ссылке помогли мне решить мою проблему:
После этих шагов gcc --version должен быть (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) 5.4.0 20160609
Затем удалите все новые заголовки Linux (4.4.0-116)
Снова установите их
Затем переустановите virtualbox, на этот раз я установил последний virtualbox-5.2, но версия Virtualbox по умолчанию 5.0 также должна работать нормально.
И у нас есть поддержка retpoline в последнем модуле
источник
Связанная проблема, перечисленная в комментарии @ricab, была связана с проблемой с новым ядром, требующим определенного уровня версии gcc для успешной компиляции модулей ядра.
В моей системе обновление gcc было выдвинуто ПОСЛЕ обновления ядра, что привело к сбою перекомпиляции.
Как только была обнаружена основная причина, я смог исправить систему, удалив и переустановив новое ядро. Это исправило мои графические драйверы, но мне пришлось
sudo /sbin/vboxconfig
столкнуться с проблемой исправления virtualbox после загрузки нового ядра.Моя система 14.04, поэтому я не могу посоветовать вам правильную версию gcc для вашей системы 16.04, но это обсуждается на https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937.
источник
gcc 5.4.1
, и даже пытался сgcc 7.2.0
.gcc 5.4.0
на 16.04У меня тоже недавно была эта проблема, и я разместил здесь вопрос об этом. Я немного покопался, и это действительно известная проблема.
Отчет об ошибке находится в моей ссылке.
Virtualbox внезапно перестал работать
Я думаю, что основной концепцией является загрузка ядра 4.4, пока проблема не будет устранена. (Это, безусловно, самое простое решение для меня.)
источник