VirtualBoxのゲストOSを起動すると下記のようなエラーダイアログが表示されてゲストOSが起動しなくなりました。
ホストOSのカーネルバージョンに対応したゲストOS用のモジュールがインストールされていないことが原因のようです。
モジュールを自力でコンパイルしたところゲストOSが起動するようになりました。
VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Please install the virtualbox-ose-modules package for your kernel, e.g. virtualbox-ose-modules-generic.. VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED). 終了コード: 0x80004005 コンポーネント: Console インターフェース: IConsole {1dea5c4b-0753-4193-b909-22330f64ec45}
確認その1
エラーメッセージに表示されている通り/dev/vboxdrvが存在しないことを確認しました。
virtualbox-ose-modules-genericパッケージのインストールは、インストールされていました。
$ ls /dev/vboxdrv ls: cannot access /dev/vboxdrv: No such file or directory $ dpkg -l | grep virtualbox-ose-modules ii virtualbox-ose-modules-2.6.24-16-generic 24 virtualbox-ose module for linux-image-2.6.24 ii virtualbox-ose-modules-2.6.24-17-generic 24.0.1 virtualbox-ose module for linux-image-2.6.24 ii virtualbox-ose-modules-generic 24.0.1 virtualbox-ose module for linux-image-generi $
確認その2
/etc/init.d/vboxdrvの稼働状況を確認すると、カーネルモジュールがロードされていないことが分かりました。
$ sudo /etc/init.d/vboxdrv status * VirtualBox kernel module is not loaded. $ sudo /etc/init.d/vboxdrv stop * Stopping VirtualBox kernel module vboxdrv [ OK ] $ sudo /etc/init.d/vboxdrv start * Starting VirtualBox kernel module vboxdrv * No suitable module for running kernel found. $
確認その3
/etc/init.d/vboxdrvを確認すると、”No suitable module for running kernel found.”を表示する条件が分かります。
if [ ! -f "$KDIR/$MODNAME.o" -a ! -f "$KDIR/$MODNAME.ko" ]; then failure "No suitable module for running kernel found." fi
下記のように2.6.24-16-genericや2.6.24-17-genericにあるmiscディレクトリにはvboxdrv.koがありますが、今のホストOSのカーネルバージョンの2.6.24-18-genericには、miscディレクトリ自体がないことが分かります。
$ grep \^KDIR /etc/init.d/vboxdrv KDIR="/lib/modules/`uname -r`/misc" $ uname -r 2.6.24-18-generic $ ls /lib/modules/2.6.24-18-generic/misc ls: cannot access /lib/modules/2.6.24-18-generic/misc: No such file or directory $ ls /lib/modules/2.6.24-17-generic/misc/ vboxdrv.ko $ ls /lib/modules/2.6.24-16-generic/misc/ vboxdrv.ko $
確認その4
まだ、aptにvirtualbox-ose-modules-2.6.24-18-genericが準備されていないので自力でビルドするか、パッケージが準備されるのを待つしかないようです。
$ dpkg -l | grep virtualbox-ose-module ii virtualbox-ose-modules-2.6.24-16-generic 24 virtualbox-ose module for linux-image-2.6.24 ii virtualbox-ose-modules-2.6.24-17-generic 24.0.1 virtualbox-ose module for linux-image-2.6.24 ii virtualbox-ose-modules-generic 24.0.1 virtualbox-ose module for linux-image-generi $ apt-cache pkgnames | grep virtualbox-ose-modules | grep generic virtualbox-ose-modules-2.6.24-16-generic virtualbox-ose-modules-2.6.24-17-generic virtualbox-ose-modules-generic $
自力でビルド
module-assistantを使って自力でビルドします。
ビルドしたらモジュールができていることを確認して/dev/init.d/vboxdrvを起動します。
$ sudo module-assistant prepare $ sudo module-assistant auto-install virtualbox-ose-source $ ls /lib/modules/2.6.24-18-generic/misc/vboxdrv.ko /lib/modules/2.6.24-18-generic/misc/vboxdrv.ko $ sudo /etc/init.d/vboxdrv status * VirtualBox kernel module is not loaded. $ sudo /etc/init.d/vboxdrv start * Starting VirtualBox kernel module vboxdrv ...done. $
ゲストOSの起動成功
ゲストOSは、GUIから無事起動できるようになりました。