Linuxゲリラ戦記

私も初心者の頃ハマりました。この記事は2008年12月15日に記述されたものですが、2016年9月3日に補足を追記しました。

左を向いているペンギンみたいなキャラクター、ナックス

Linuxをインストールしたのに画面が黒いままで起動しないときの対処例

せっかくLinuxを自分のパソコンにいれたのに、起動してみると画面が真っ黒のままで起動しないときの対処例です。

そんなあなたの現在の状況は、パソコンの電源を入れると、一応、起動してくれようと白い文字がずらーっと出てくるけど、「いざ、起動!」っていうときに画面が真っ黒になると見た。

そのLinux、実は起動しているんですが、ただ、グラフィックユーザーインターフェース(GUI)がうまく起動していないだけなんです。

まず最初に、起動しようとした後、白い文字がずらっと出て、真っ黒の画面になってしまった状態で、AltキーとCtrlキーを押しながら、F1キーを押してみてください(専門用語では仮想コンソールを出すと言います)。

すると、画面が切り替わって、(おそらく)背景が黒で文字が白のキャラクターユーザーインターフェース(CUI)が出てくるはずです。たぶん、loginとかいう文字が出てて、ログインを促しているはず。

Linux初心者の方には少々見た目が恐ろしい画面ですが、このままLinuxがうまく起動しない状態のままでは結局パソコンが使えないので、腹をくくって頑張りましょう。

まず、linuxをインストールするときに登録したユーザー名を入力してEnterキーを押します。

次にPasswordと、パスワードの入力を促されます。linuxをインストールするときに登録したパスワードを入力します(パスワード入力時、画面には記入しているパスワードはセキュリティのため表示されません)。ログインに成功するはずです。

ログインとパスワードが促されない場合は、自動ログインになっているLinuxディストリビューションを使っている可能性があります。つまり、すでにログインに成功している状態。

さて、ここからコマンドをいろいろと使ってGUIがうまく起動するようにします。コマンドの意味がいまいちわからない方は理解できなくてもいいので、説明通りに操作してください。

GNOMEやKDEなどのグラフィカルユーザーインターフェース(GUI)はX Window Systemという名前のシステムを使っています。つまり、X Window Systemのログ(どんな動きをしたかの記録)を見れば、なぜGUIが起動しないかの手がかりが見つけられるはずです。

X Window Systemのログファイルの場所は、/var/log/にあります。cdコマンドを使って、/var/log/ディレクトリに移動します。cd /var/log/と入力してEnterキーを押してください。

cd /var/log/

lsコマンドで、このディレクトリにどんなファイルがあるかを見てみます。lsと入力してEnterキーを押します。

ls

ファイル名がずらっと出てきます。その中にXorg.0.logという名前のファイルがあると思います。それが、X Window Systemのログファイルです。中身をviで確認してみましょう。vi Xorg.0.logと入力してEnterキーを押します。

vi Xorg.0.log

さて、英語の文章がずらっと出てきます。Linuxを使いこなすには英語の文章がある程度読めるようにならないといけません。

とりあえず、私のXorg.0.logのファイルの中身を例として書いてみます。細かいところはあなたのシステムと違うかもしれませんが、気にしなくて大丈夫です。

私のXorg.0.logのファイル(こんな感じという例)

X Window System Version 7.1.1
Release Date: 12 May 2006
X Protocol Version 11, Revision 0, Release 7.1.1
Build Operating System: UNKNOWN
Current Operating System: Linux debian 2.6.24-etchnhalf.1-686 #1 SMP Tue Dec 2 07:56:33 UTC 2008 i686
Build Date: 29 May 2008
        Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Mon Dec 15 17:29:55 2008
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Default Layout"
(**) |-->Screen "Default Screen" (0)
(**) |   |-->Monitor "Generic Monitor"
(**) |   |-->Device "VIA Technologies, Inc. S3 Unichrome Pro VGA Adapter"
(**) |-->Input Device "Generic Keyboard"
(**) |-->Input Device "Configured Mouse"
(**) |-->Input Device "Synaptics Touchpad"
(WW) The directory "/usr/X11R6/lib/X11/fonts/misc" does not exist.
        Entry deleted from font path.
(WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
        Entry deleted from font path.

さて、大事な部分だけ訳します。大事な部分とは

Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.

のことです。簡単に訳すと、「マークの意味。(--)probed,(**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) エラー, (NI) not implemented, (??) unknown.」です。

はい。全然訳してないじゃないかとか言わない。英語なんか雰囲気でわかれば良いのです。大事なのは(EE)エラーのところです。X Window Systemがうまく起動しないということは、ログにエラーが記録されているはずです。viというコマンドは、「ファイルに書き込めないけど、小技が使えるよモード(コマンドモード)」と、「ファイルに文字を書き込めちゃうよモード(インサートモード)」があります。今のあなたはコマンドモードのはず。小技が使えるよモードなので、小技を使います。まず、矢印キー↓で、ファイルの下の方を見てみてください。実はこのファイル、かなり膨大な文章が書かれていることが分かります。この中から(EE)と書かれた部分を探さないといけません。そこで活躍するのが小技モード。viでファイルを見ている状態(現在の状態)で/(EE)と記入して(左下に、記入している文字が表示されるはずです)Enterキーを押してみてください。

/(EE)

すると、なんと(EE)という文字が書かれている部分が検索できるんです。この状態でnキー(ひらがなの「み」がかかれているキー)を押すと、次の(EE)と書かれている部分を検索してくれます。さらにnキーを押すと、さらに次の(EE)と書かれている部分を検索してくれます。

つまり、適当にnキーを押していれば、エラー情報が書かれている部分が見つかる!私の場合はこんなエラー情報が表示されていました。

(EE) VIA(0): Unknown Card-Ids (13BD|104B), report this to the driver maintainer ASAP

で、まぁ、via(VIA)がなんたらかんたらと書かれています。要するに、私の例の場合、悪者はviaです。全てviaが悪い!viaのせいだ!

で、私の例ではviaが悪いのですが、皆さんの場合は別の悪者がいる場合もあります。でも、大丈夫です。このまま読み進めて、同じ対処法で対処できるはずです。

さて、悪者が分かったところで:qと入力してEnterキーを押します(ひらがなの「け」、ひらがなの「た」のところを押してEnterキー)。コマンドモードの状態で:qと入力すると、viを終了することができます。

:q

参考までに、私のエラー時のログファイルを載せておきます。

さて、犯人が分かったところで、次はX Window Systemの設定ファイルを書き換えます。設定ファイルを書き換えるにはrootユーザー(ルートユーザー、スーパーユーザー)になる必要があります。linuxをインストールしたときに登録したrootユーザーのパスワードが必要となります。まず、su -(rootユーザーになるためのコマンド)と入力してEnterキーを押します。

su -

そうすると、rootユーザーのパスワードの入力が求められるので、パスワードを入力してEnterキー(パスワード入力時、セキュリティのため記入中のパスワードは画面に表示されません)を押します。

エラーがでなければ、無事にrootユーザーになれているはずです。X Window Systemの設定ファイルの場所は/etc/X11/ディレクトリです。cd /etc/X11/と入力してEnterキーを押します。

cd /etc/X11/

lsと入力して、このディレクトリのファイル一覧を見てみましょう。

ls

xorg.confという名前のファイルがあるはずです。これが、X Window Systemの設定ファイルです。xorg.confファイルを編集する前に、このファイルをバックアップしておきましょう。バックアップのファイル名はxorg.conf_backupとでもしておきましょう。特にこの名前にしなければならない理由はありません。が、初心者の方は、「なんでもいい」と言われると、むしろ躊躇してしまうと思ったので、あえてこちらで勝手に決めました。「おまえの言う通りになんて誰がするか!」っていう天邪鬼の人は他の名前に変えても構いません。cp xorg.conf xorg.conf_backupと入力してEnterキーを押しましょう。

cp xorg.conf xorg.conf_backup

cpコマンドは、ファイルをコピーするコマンドです。今のコマンドの意味は、「xorg.confを元に、xorg.conf_backupという名前のコピーを作った」という意味です。なので、もともとのxorg.confは無くなっていないはずです。心に余裕がある方は、lsコマンドで確認してみてください。

さて、実際にxorg.confファイルを編集します。vi xorg.confと記入してEnterキーを押します。

vi xorg.conf

さて、また、英文で何やら書かれています。が、そんなものは無視です。とりあえず、矢印キー↓で、どんな感じのことが書かれているか全体を見てみましょう。先ほどのログファイルと違い、十分矢印キーでファイルの全文を見渡せるくらいの長さの文章だと思います。

さて、先ほどの(私の場合の)悪者の名前はviaでしたので、現在コマンドモードのはずですから、/viaと入力して、viaと書かれている部分を検索してみます。

/via

なお、私の場合の悪者はviaでしたが、あなたの悪者が違う場合は、viaの部分を、適宜あなたの悪者に置き換えて読み進めてください。

犯人はおまえか!(私の場合のファイルの悪い部分の例)

Section "Device"
        Identifier      "VIA Technologies, Inc. S3 Unichrome Pro VGA Adapter"
    Driver    "via"
    BusID     "PCI:1:0:0"
EndSection

つまり、このviaと書かれた部分を別の名前に書き直さなければなりません。しかし、一体なんという名前に書き換えれば良いのでしょう?ずばり、救世主の名前はvesaです。

vesaってなに?っていう話ですが、GUIが起動しないっていうのは、要するに「ビデオカードのドライバがうまく認識できないよ」っていう事態なんです。ドライバっていうのは、「『その部品を使いこなして見せるぜ』っていう頑張りやさんプログラム」ですが、その頑張り屋さんがうまく頑張れていない状態が今の状態。で、「その部品を使い『こなす』ことはできないけど、『一応使える』レベルにはもっていけるぜ」っていうのが、汎用ドライバのvesaなんです。つまり、vesaを使うと、3Dとかいうすごい機能は使えないけど、普通にLinuxを使う分には何の問題もないよ、っていうレベルまで持っていくことができます。

というわけで、左側にDriverって書かれてる部分の右側"via"っていう部分を書き換えます。それには、viをコマンドモードから、「書き込めちゃうぜモード(インサートモード)」にしないといけません。コマンドモード(現在の状態)からiキー(ひらがなの「に」のボタン)を押してみてください。なんと、それだけでインサートモードになっちゃいます。

あとは、ウィンドウズのときと同じように、カーソルを書き変えたいところへ持っていき、Back Spaceキーで"via"という文字を消して、変わりに"vesa"と書き込みます。

書き終わりましたら、Escキーを押します。キーボードの左上に、そういうキーがあるはずです。Escキーを押すことで、インサートモードからコマンドモードへ戻ります。

もし、編集途中に編集部分を間違えてしまった場合は、コマンドモードでuキー(ひらがなの「な」のボタン)を押すと、編集するひとつ前の状態に戻ります。uキーを押しまくれば、編集前の初期状態まで戻るはずです。その後、再度インサートモードにして編集しなおしましょう。

さて、編集が終わったので、それを保存しなければなりません。コマンドモード(現在の状態)から:w(ひらがなの「け」ボタンとひらがなの「て」ボタン)と入力してEnterキーを押してください。

:w

これで保存が終了しました。:qと入力してEnterキーを押せば、終了です。

参考までに、私の変更前のエラーが出るX Window System設定ファイル(xorg.conf)と、変更後のエラーが出ない(はずの)X Window System設定ファイル(xorg.conf)の全文を載せておきます(といってもviaのところをvesaになおしただけですが)。あくまでも『参考』ですので、あなたのxorg.confと全く内容が異なる場合もありえます。そういう場合は、私の説明の必要部分のみを参考にして直してみてください。

さて、ファイル編集が終わりましたので、これでグラフィカルユーザーインターフェースが使えるようになっているはずです。CUIモードからGUIモードへ戻るには、CtrlキーとAltキーを押しながらF7キーを押します。さて、画面は真っ暗のままです。が、X Window Systemを再起動すれば、先ほど書き換えた設定が反映されます。CtrlキーとAltキーを押しながら、Back Spaceキーを押しましょう(X Window System の再起動のための操作です)。しばらく待つと、一瞬画面表示が乱れた後、X Window Systemの再起動が行われ、無事にGUIが起動されるはずです。おめでとう。

「俺、ライブCD(Live CD)からLinuxを起動してるんだけど?」って人も、上の説明を見れば分かると思うけど、このやりかた、一度もパソコンを再起動せずに作業できてる。つまり、ライブCDでもできる方法ってわけ。試してみてね。