Ubuntu Lucid LynxでVirtualBoxのGuest additionsが機能しない場合の対処

いつだったかUbuntu Lucid Lynx αでカーネルがアップデートされてからVirtualBoxで解像度が変えられなくなり、マウスのシームレス機能も使えなくなりました。

VirtualBoxのGuest additionsでカーネルが対応してないから仕方ないんだろうなぁと思いつつ、ちょっと調べてみました。

VirtualBoxでUbuntuの10.04LTSが動かなくなったらしい。: たわごと

VirtualBox側の問題っぽいので、β版出ても変わらないと思う。
確かに、DRM関連でエラーっぽいの返してるな、とは思ったんだけど。 たぶん、2.6.32に2.6.33のなんかをバックポートしてるから発生してるんじゃないかと推測。

カーネル関係のには違いないみたい。対処法も載っていました。

元ネタはこちら
Absolutely!: Ubuntu 10.04 Lucid Lynx Alpha in VirtualBox with Guest Additions

  • /usr/src/vboxvideo-3.1.4/vboxvideo_drm.cを編集する
  • sudo /etc/init.d/vboxadd setupでGuest additionsをビルドし直して再起動する

実際の作業は以下。

gksudo gedit /usr/src/vboxvideo-3.1.4/vboxvideo_drm.c
sudo gedit /usr/src/vboxvideo-3.1.4/vboxvideo_drm.c
他の方法でもいいのでルートでvboxvideo_drm.cを開きます。

開いたら90行目以下を編集します。
【編集前】
.release = drm_release,<——————-ここが89行目
.unlocked_ioctl = drm_ioctl,
.ioctl = drm_ioctl,
【編集後】
.release = drm_release,<——————-ここが89行目
#if defined(DRM_UNLOCKED) || LINUX_VERSION_CODE >= KERNEL_VERSION (2, 6, 33)
.unlocked_ioctl = drm_ioctl,
#else
.ioctl = drm_ioctl,
#endif

編集後保存します。

次に
sudo /etc/init.d/vboxadd setup
でGuest additionsをリビルド。多少時間がかかります。

完了後、再起動。これでGuest additionsが対応するようになります。再起動後ウチでは解像度は変更できるようになりましたがまたマウスカーソルが消えてしまったので、”xorg.conf”を作成して以下を追加。
Section “InputDevice”

Identifier “VBoxMouse”

Driver “vboxmouse”

Option “CorePointer”

EndSection
保存後また再起動。これでマウスカーソルが復活しシームレスモードが使えるようになりました。

テーマがガラッと変わりました。まぁいつだってデフォルトのテーマは好みの問題ですがね。