カーネルのアップグレード後にVirtualBoxが起動しない


15

昨日、カーネルのアップグレードを受け取り、再起動後に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 '

私は、このエラーメッセージとフォーラムの投稿を見つけたここで、残念ながら解決せず、3日前から。そのため、UbuntuリポジトリからVirtualBoxパッケージを削除し、この手順を使用して最新の5.2をインストールしようとしました。ただし、マシンを再起動した後でも、エラーは残ります。

この場合、何ができますか?


これは、(例えば、あまりにも他のモジュールと起こっているbugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937answers.launchpad.net/ubuntu/+question/664826
ricab

2
現時点での回避策は、以前のカーネル(4.4.0-112)をgrubにロードすることです。
ricab

@ricabによる提案の実行方法を知りたい場合はshift、単に起動中にホールドし、「Ubuntuの詳細オプション」を選択して、メニューから古いカーネルバージョンを選択します。以前のカーネルバージョン(4.4.0-112)には質問で説明されている問題がないことを確認できます。そのため、ソリューションがリリースされるまで実行可能な回避策です。
matpen

16.04では、それがEscキーです。
D.バガー

16.04の@ D.Bugger shiftは機能します。私の場合ではありませんが、「右シフト」または「左シフト」でのみ動作するようになっている人がいることを読みました。
matpen

回答:


9

私は同じ問題に直面していました。カーネルのアップグレード後、私のgccバージョンは5.4.1と表示されていました。このバージョンを5.4.0にダウングレードすると、vboxdrvカーネルモジュールのretpolineが手に入りました。

このリンクの手順に従うことで問題を解決できました。

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を再インストールし、今回は最新のvirtualbox-5.2をインストールしましたが、virtualboxのデフォルトの5.0バージョンも正常に動作するはずです。

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

そして、最新モジュールでレトポリンをサポートしています

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)

6か月後、マシンにアクセスできなかった素晴らしい仕事が助けてくれました
ジョージウドセン

私はあなたに世界のすべてのポイントを与えたいです!!!!! :-)しかし、残念ながら一度だけ賛成できます。
ショーティー

4

@ricabのコメントにリストされている関連問題は、カーネルモジュールを正常にコンパイルするために特定のバージョンレベルのgccを必要とする新しいカーネルの問題にまでさかのぼります。

私のシステムでは、カーネルの更新後にgcc更新がプッシュされ、再コンパイルが失敗しました。

根本原因が発見されたら、新しいカーネルをアンインストールして再インストールすることでシステムを修正できました。グラフィックドライバーはsudo /sbin/vboxconfig修正されましたが、新しいカーネルを起動した後にvirtualboxを修正するために発行する必要がありました。

私のシステムは14.04なので、16.04システムに適したgccのバージョンについてアドバイスすることはできませんが、これについてはhttps://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1750937で説明されています


リンクありがとうございます。残念ながら、Xenailの場合、これは機能しないようです(そして、私は一人ではありません)。私はgccが最近アップグレードしていない受信、私はすでに上だgcc 5.4.1、とさえしてみましたgcc 7.2.0
matpen


@jfsは正しいが、ppa gccが必要なので、今はテストできません。
matpen

-1

私も最近この問題を抱えており、それについて質問をここに投稿しました。掘り下げましたが、これは確かに既知の問題です。

バグレポートは私のリンクにあります。

Virtualboxが突然機能しなくなった

一般的な合意は、問題が修正されるまで4.4カーネルで起動することだと思います。(確かに私にとって最も簡単なソリューションです。)


1
あなたの答えが本質的に別の質問への紹介である場合、15評判獲得したら、この質問に他の質問の複製としてフラグ立てる方が良いでしょう。あなたが評判を持っているなら、あなたが役に立つと思う答えに投票することを忘れないでください!
デビッドフォースター

わかった。しましょう。
ハッターマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.