VirtualBox tidak memulai setelah peningkatan kernel

15

Kemarin saya menerima upgrade kernel dan setelah reboot, VirtualBox berhenti berfungsi.

Inilah info sistem saya (setelah peningkatan kernel):

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

Saya sudah menginstal VirtualBox sejak lama

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

digunakan setiap hari dan tidak pernah mengalami masalah dengan pembaruan kernel. Kesalahan yang saya terima sekarang adalah

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 '

Saya menemukan posting forum dengan pesan kesalahan ini di sini dari tiga hari yang lalu, sayangnya tanpa resolusi. Karena itu saya mencoba untuk menghapus paket VirtualBox dari repo Ubuntu, dan menginstal 5.2 terbaru menggunakan prosedur ini . Namun, bahkan setelah me-reboot mesin, kesalahan tetap ada.

Apa yang bisa saya lakukan dalam kasus ini?

matpen
sumber
Hal ini terjadi dengan modul lain juga (misalnya bugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937 dan answers.launchpad.net/ubuntu/+question/664826 )
ricab
2
Solusi untuk saat ini adalah memuat kernel sebelumnya (4.4.0-112) di grub.
ricab
Bagi mereka yang bertanya-tanya bagaimana menjalankan saran dengan @ricab: cukup tahan shiftsaat boot, pilih "Opsi lanjutan untuk Ubuntu" dan pilih versi kernel yang lebih lama dari menu, seperti dijelaskan di sini . Saya dapat mengonfirmasi bahwa versi kernel saya sebelumnya (4.4.0-112) tidak memiliki masalah yang dijelaskan dalam pertanyaan, sehingga merupakan solusi yang layak sampai solusi dirilis.
matpen
Dalam 16,04 itu Esckuncinya.
D.Bugger
@ D.Bugger pada 16,04 saya shiftberhasil. Ini bukan kasus saya, tetapi saya telah membaca bahwa beberapa orang membuatnya bekerja hanya dengan "shift kanan" atau "shift kiri".
matpen

Jawaban:

9

Saya menghadapi masalah yang sama. Setelah peningkatan kernel, versi gcc saya ditampilkan sebagai 5.4.1. Menurunkan versi ini ke 5.4.0 membantu saya mendapatkan retpoline untuk modul kernel vboxdrv.

Langkah-langkah berikut dari tautan ini membantu saya memecahkan masalah saya:

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

Setelah langkah-langkah ini gcc --versi harus (Ubuntu 5.4.0-6ubuntu1 ~ 16.04.9) 5.4.0 20160609

Kemudian bersihkan semua header linux baru (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

Pasang lagi

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

Kemudian instal ulang virtualbox, saya menginstal virtualbox-5.2 terbaru kali ini, tetapi versi 5.0 virtualbox juga seharusnya berfungsi dengan baik.

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

Dan, kami memiliki dukungan retpoline dalam modul terbaru

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)
Anirudh Gupta
sumber
Pekerjaan luar biasa membantu saya setelah 6 bulan tanpa akses ke mesin saya
George Udosen
SAYA INGIN MEMBERI ANDA SEMUA POIN DI DUNIA !!!!! :-) Tapi sayangnya saya hanya dapat memberi Anda dukungan positif sekali.
shawty
4

Masalah terkait yang tercantum dalam komentar @ricab telah ditelusuri ke masalah dengan kernel baru yang memerlukan tingkat versi gcc tertentu untuk berhasil mengkompilasi modul kernel.

Pada sistem saya, pembaruan gcc didorong keluar SETELAH pembaruan kernel, menyebabkan kompilasi gagal.

Setelah akar permasalahan ditemukan, saya dapat memperbaiki sistem dengan membatalkan instalasi dan menginstal ulang kernel baru. Itu memperbaiki driver grafis saya, tetapi saya harus mengeluarkan sudo /sbin/vboxconfiguntuk memperbaiki virtualbox setelah boot ke kernel baru.

Sistem saya adalah 14,04 sehingga saya tidak dapat menyarankan Anda untuk versi gcc yang tepat untuk sistem 16.04 Anda, tetapi ini dibahas di https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937

Marmer organik
sumber
Terima kasih atas tautannya. Sayangnya, sepertinya tidak berhasil dalam kasus saya untuk Xenail (dan saya tidak sendirian ). Saya tidak menerima peningkatan gcc baru-baru ini, tetapi saya sudah aktif gcc 5.4.1, dan bahkan mencobanya gcc 7.2.0.
matpen
@ jfs benar, namun saya membutuhkan ppa gcc jadi saya tidak dapat menguji sekarang.
matpen
-1

Saya juga punya masalah ini baru-baru ini dan memposting pertanyaan di sini tentang hal itu. Saya melakukan beberapa penggalian dan ini memang masalah yang diketahui.

Laporan bug ada di tautan saya.

Virtualbox tiba-tiba berhenti berfungsi

Saya pikir konsensus umum adalah boot ke kernel 4.4 sampai masalah ini diperbaiki. (Ini tentu saja solusi termudah bagi saya.)

tukang topi
sumber
1
Jika jawaban Anda pada dasarnya adalah rujukan ke pertanyaan lain, akan lebih baik untuk menandai pertanyaan ini sebagai duplikat dari yang lain setelah Anda mendapatkan 15 reputasi . Jika Anda memiliki reputasi, jangan lupa untuk memilih jawaban yang menurut Anda berguna!
David Foerster
Dimengerti. Akan melakukan.
Hatterman