LoginSignup
0
0

More than 5 years have passed since last update.

Ubuntu Desktop 16.04でVirtualBoxが動かないときの対処方法

Posted at

開催した勉強会、Nagoya.cloud.first #1でUbuntu 16.04でVirtualBoxを用いてVirtual Machineが作成できないという事象に遭遇したのですが、その原因と解決方法についてあたりがつきましたので共有します。

TL;DR

  • Ubuntu 16.04でリポジトリを編集せずにaptコマンドでVirtualBoxを入れた場合、仮想マシンを作成後、isoイメージを読み込ませようとするとホストOSごとフリーズする場合がある
  • Meltdown対応のためにカーネルのバージョンが上がっていることが原因
  • 最新のVirtualBox(>=5.2)を利用することで対処可能

発生条件

Ubuntu 16.04を入れた直後にaptでVirtualBoxをインストールすると、少し古いバージョン5.0のものがインストールされます。GCPでUbuntu16.04のインスタンスを立て、次のコマンドを実行することで確認できました。

$ sudo apt update; sudo apt upgrade
$ sudo apt install virtualbox
()
Setting up virtualbox (5.0.40-dfsg-0ubuntu1.16.04.2) ...
vboxweb.service is a disabled or a static unit, not starting it.
()

バージョン確認は次のコマンドでもできます。

$ VBoxManage -v
5.0.40_Ubuntur115130

この状態で、kernelのバージョンを4.13以降にあげている場合、VirtualBoxに作成したVMにisoファイルをマウントさせて起動させるとホストOSごとフリーズします。GUI環境でのみこの現象を確認しましたが、CUI環境(例えば、サーバーとして利用している場合や、Vagrantを利用している場合)では確認を行っていません。

解決策 : VirtualBoxのバージョンを5.2以上に上げる

virtualbox crash on kernel 4.13.0-26 - Ask Ubuntuで回答されているように、VirtualBoxのバージョンを上げることで対策可能です。VirtualBox公式に掲載されている手順に従えば、Virtualbox 5.2系がインストールできます。

幾つか不具合報告がなされているため、VirtualBoxをアンインストールしてから実行するほうが良いかもしれません。アンインストールは次のコマンドでできます。

apt autoremove 'virtualbox*'

補足 : Linuxカーネルのバージョンを上げる理由

Ubuntu Japanese Teamの連載するUbuntu Weekly Topicsでは2018年3月2日号 Spectre/Meltdown対策さらにさらにその後・3月初旬編:Ubuntu Weekly Topicで次のように解説されています。

Meltdownは,基本的にKPTIによって対処済みです。詳細は次の通りです。
* カーネルを含めた,他のプロセスのメモリの中身を読み取ることが可能な問題。すでに攻撃コードに転用可能なサンプルが存在しており,攻撃も十分に可能と考えられる。「⁠なんらかの信用できないコードが実行されうる環境」では必ず対策が必要。
* 対策には基本的にカーネルのPTI(KPTI)が必要。KPTIを有効にすることで,ワークロードによっては一定の性能劣化が発生する場合がある。
* UbuntuにはKPTIが実装済みで,デフォルトで有効(1-2月に提供された新しいカーネルへのアップデートが必要)⁠。

このような理由から、Ubuntuをデスクトップ環境で利用している場合、カーネルのアップデートを行ったほうが良いでしょう。

クラウド環境で新規にVMを立てて運用する場合、クラウド事業者側で既にカーネルのバージョンが上げられている場合があります。例えば、2018/03/11現在、GCPでUbuntu 16.04のイメージを利用してインスタンスを作成した場合、カーネルのバージョンは4.13.0になっていました。

Special Thanks

次のツイートにより今回の事象の発生原因と、対策方法を特定できました。

また、検証とその結果についても教えていただきました。ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0