VirtualBoxにUEFIでインストールしたらXorgサーバーが起動しない時の対処法

こんにちは。今回のテーマは『VirtualBoxにUEFIでインストールしたらXorgサーバーが起動しない時の対処法』です。長いタイトルでスミマセン。最近Slackware14.1をVirtualBoxにUEFIブートでインストールしてみたのですが、Xが起動しないトラブルに見舞われました。原因の特定には至らなかったのですが、ひとまず解決したので記事にしてみます。何かのヒントになればと思います。


【目次】
Slackware 14.1をUEFIブートした際のトラブル
Fbdevドライバで起動しよう

Slackware 14.1をUEFIブートした際のトラブル

UEFIモードのVirtualBoxでXorgサーバーが立ち上がらない?

筆者は普段はVirtbualBoxはBIOS(レガシー)モードで使用しており、Slackware 14.1をBIOSモードでインストールした時にはインストール直後から特別な設定なしにstartxでデスクトップ環境が立ち上がっていました。

しかし、UEFIモードでSlackware14.1をインストール後にXを起動しようとstartxすると以下のような画面になってしまいます。
01

BIOSモードではvboxvidoがなくても起動したが・・・

トラブルが起きた当初はVirtualBox用のグラフィックドライバvboxvideoが読み込めず起動できないのかと思っていたのですが、よく考えたらBIOSモードの場合もvboxbideoなしにVESAのみで起動していました。UEFIブートではvesaドライバが上手く機能しないのでしょうか?/var/log/Xorg.0.logを見たところ以下のようなエラーがありvesaは動作していませんでした。

(EE) VESA(0): V_BIOS address 0x0 out of range

ネット上にも「VirtualBox UEFIブートでXorg起動しない」という声が散見

すこしネットで情報収集してみるとコチラのように筆者と同じ悩みを抱えている方がいらっしゃるようです。BIOSブートだと問題ないという点まで同じです。原因の究明はできていませんが、vesaドライバで起動するのは難しいようです。

Fbdevドライバで起動しよう

vesaがダメならば汎用フレームバッファドライバfbdevを使えば良いのではないか?という安直な発想ですが、結論から言えばfbdevを導入すれば動きました。筆者の行った作業内容を簡単に紹介します。

fbdevの導入

インストール直後はfbdevが入っていない状態だと思いますのでインストールしていきます。

root# wget http://packages.slackware.com/?r=slackware64-14.1&p=xf86-video-fbdev-0.4.4-x86_64-1.txz
root# installpkg xf86-video-fbdev-0.4.4-x86_64-1.txz

slackpkgが導入されている場合は以下のコマンドを実行するだけす。

root# slackpkg install xf86-video-fbdev

Xorg.confの作成・編集

もしxorg.confファイルを作成していない場合は以下コマンドを実行します。

root# Xorg :0 -configure

/root以下にxorg.conf.newファイルが作成されますので以下コマンドでコピーします。

root# cp /root/xorg.conf.new /etc/X11/xorg.conf

次に作成した/etc/X11/xorg.confを編集します。以下のようにDvice項目のvesaをfbdevに置換します。

xorg.conf例

Section "Device"
    Identifier  "Card0"
    Driver      "fbdev"
    BusID       "PCI:0:2:0"
EndSection

これで設定は完了です。以下コマンドでXが起動するか試してみましょう

$ startx

無事にデスクトップ環境が起動しました。(画面はSlackware 14.1 KDE)
02

最後に

果たして問題の本質がUEFIブートなのかも不明な点はあるのですが、とにかくXを起動することは出来ました。おそらくFedoraやUbuntuではvboxvideoを導入するためVirtualbox + UEFIブートでも問題なくGUIが起動すると思います。VirturalBoxを使っていて同じような境遇で悩んでいる方のお役に立てればと記事にしました。

Sponsored Link


コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です