MacOS High SierraでVirtualBoxのインストールに失敗する時の最終的な対処法

MacOS High Sierraから、セキュリティが以前よりも厳しくなりました。
これによっていろいろなソフトウェアをインストールする際の手順がめんどくさくなりました。

VirtualBoxも例外ではありません。

VirtualBoxのインストーラーをダウンロードして、インストールを開始しようとすると、以下のような警告が出ます。

ここであわてずに、Macのメニューから、

「システム環境設定…」→「セキュリティとプライバシー」を選択します。

そうすると、「一般」のタブのところに、VirtualBox.pkgは開発元を確認できないため、開けませんでした。と出ますが、「このまま開く」をクリックします。

そうすると、セキュリティ的に例外が追加され、インストールがすすむようになっています。

しかし、まれに、この手続きをとってもインストールに失敗してしまうことがあります。

インストールの最後にこのような悲しい画面が出てきます。

ソフトウェアの開発元に聞いてくださいとありますが、VirtualBoxのフォーラムを一生懸命探しても、上記の、セキュリティの話しか出てこず、それ以上の情報は何もありません。

いろいろ苦戦した結果、最終的な解決策として、「システム整合性保護 System Integrity Protection (SIP)」を一時的に無効にするという方法が有効でしたので紹介します。

まず、インストールに失敗したVirtualBoxをアンインストールします。
VirtualBoxのインストーラーにVirtualBox_Uninstall.toolがありますので、これをダブルクリックします。
パスワードを聞かれたらログインパスワードを入力すると、削除されます。

そうしたら、一度、Macをシャットダウンします。

そして、リカバリーモードで起動します。
(ここからのスクリーンショットは、こちらから引用させていただきます)

リカバリーモードに入るには、”⌘”キーと “R”キーを押しながら、電源を入れます。RecoveryのRで覚えておくといいでしょう。

以下のような画面になります。

ここで、上のメニューにある「ユーティリティ」から「ターミナル」を選択します。

ターミナルが起動するので、そこに

csrutil disable

とタイプします。

“Successfully disabled System Integrity Protection”と表示されるのを確認して、再起動します。

そして、再度VirtualBoxをインストールします。そうすると、今回は問題なくインストールされると思います。

その後、再度、SIPを有効化します。再びリカバリーモードでターミナルを起動します。

そうしたら、今度は、

csrutil enable

とタイプします。

これで、再度SIPを有効にすることができました。

MacOS High SierraでVirtualBoxのインストールに困った方は、ご参考まで。

Lin4Neuroのイメージファイル(isoファイル)を用いてVirtualBoxにインストールする方法

Lin4Neuro (L4N)は、isoイメージファイルおよびVirtualBoxの仮想アプライアンスを配布しています。
ここでは、isoイメージファイルを用いてVirtualBoxにL4Nをインストールする方法を解説します。

この方法は若干だけ手間がかかりますが、以下のメリットがあります。

  • ハードディスクの容量を自分で設定できる
  • これが一番大きいメリットかと思われます。

  • ログイン名などを自分の好みにあわせられる
  • ご自身で設定できます。

具体的な方法を以下に示します。Acknowledgmentとして、我々の研究室の山田典子さんが以下を準備してくださいました。
VirtualBoxのインストールまでは済んでいるものとして話をすすめます。なお、この方法では、VirtualBox Extension Packは不要です。

続きを読む

Ubuntu上でのVirtualBoxで仮想マシンを立ち上げようとしたときに Kernel driver not installed (rc=-1908) のエラーが出た場合の対処方法

自分が頻回に遭遇するエラーなので、備忘録として載せておきます。

Ubuntuでカーネルをアップデートすると、VirtualBoxを起動するときに、以下のエラーが出ます。

このエラーがでたときに、このまま

sudo /sbin/vboxconfig

としてもエラーが出て解決しません。(細かいエラーを保存し忘れました)

解決方法はシンプルで、新しいカーネルにあったカーネルヘッダーをインストールすることです。

以下に具体的な解決法を示します。

  1. カーネルのバージョンを確認
  2. $ uname -r
    4.15.0-22-generic
    

    今の場合、4.15.0-22-generic であることがわかります

  3. 該当するバージョンのカーネルヘッダーをインストール
  4. 上記を賢く使ってインストールします。

    $ sudo apt update
    $ sudo apt install linux-headers-$(uname -r)
    

    これでカーネルヘッダーがインストールされます

  5. /sbin/vboxconfig の実行
  6. $ sudo /sbin/vboxconfig 
    vboxdrv.sh: Stopping VirtualBox services.
    vboxdrv.sh: Building VirtualBox kernel modules.
    vboxdrv.sh: Starting VirtualBox services.
    

    これで無事にVirtualBoxの仮想マシンが起動するようになります。

VirtualBox上でUbuntuの画面が乱れてしまった時の対処法

VirtualBox上にUbuntu (正確にはLin4Neuroなのですが)をインストールしたところ、下図のように画面が乱れるという現象が再現性をもって起こりました。

ログイン画面が表示されているのですが、これでは全く使いものになりません。

いろいろ調べていたのですが、なかなかわからなかったのですが、ふと、「仮想ターミナルを立ち上げて戻ってきたらどうだろう?」と思い、試したところ解決しました。

VirtualBoxのHotkey (デフォルトは右Ctrl) + F1 を押します。

私の環境で、 右Ctrl + F1 を押すと以下のようになりました。

きれいに見えます。

ここで、さらに、Hotkey + F7 を押します。

私の環境では、右Ctrl + F7 を押してみました。

なんときれいになりました。

忘れないようにメモとして残しておきます。

LinuxホストでVirtualboxを使う際、USBデバイスを利用するためにしなければならないこと

Linux上でVirtualboxを使っている時、USBデバイスが認識されないで困っていました。
ドキュメントを見たら、きちんと書いてありました。

ドキュメントはこちら

2.3.4. The vboxusers group

The Linux installers create the system user group vboxusers during installation. Any system user who is going to use USB devices from VirtualBox guests must be a member of that group. A user can be made a member of the group vboxusers through the GUI user/group management or at the command line with

sudo usermod -a -G vboxusers username

vboxusersというグループにユーザーを登録しないと使えないと書いてあります。

早速やってみました。ユーザーネームがfooだとすると、

$ sudo usermod -a -G vboxusers foo

となるわけです。

そうしたところ問題なく使えるようになりました。