Kernel Panics (日本語)
From ArchWiki
i18n |
---|
Česky |
English |
Español |
Italiano |
Français |
简体中文 |
Ελληνικά |
Türkçe |
日本語 |
このページでは、起動時のカーネルパニックを修復する方法を説明します。これは基本カーネルと起動ルーチンの基部に関する記事です。(グラフィカルインターフェイスに関する問題は、他のページを参考に自分で解決してください。)
Contents |
定義
カーネルパニックの適当な定義は、ウィキペディアによると、「A kernel panic is an action taken by an operating system upon detecting an internal fatal error from which it cannot safely recover; the term is largely specific to Unix and Unix-like systems. The equivalent in Microsoft Windows operating systems is the Blue Screen of Death.」(カーネルパニックは、安全に回復することができない致命的な内部エラーが検出された時のオペレーティングシステムの動作です。UNIXやUNIXライクシステムで用いられる用語です。Microsoft Windowsにおける同等のものにブルースクリーンがあります。)、とあります。参照:Kernal Panic
すべきこと
根本的な問題は、オペレーティングシステムが正しく起動しないとうことです。コンピュータがフリーズするかもしれないし、オペレーティングシステムがエラーメッセージを表示してくれるかもしれない、もしくは期待した場所(コマンドプロンプトやデスクトップなど)を表示できないかもしれません。もしコマンドプロンプトを起動できる、または起動ディスクからコマンドプロンプトや好みのインターフェイスを起動できるなら、コマンドラインからの基本的なトラブルシューティングが必要となります。
トラブルシューティング
トラブルシューティングを簡単にするため、カーネルがquietモードでないことを確認してください。GRUBの設定のカーネルの行に'quit'があるなら取り除いてください。ブート時にカーネルパニックの直前の出力をチェックし、役に立つ情報があるかどうか確認してください。カーネルパニックには、このwikiに書かれた様々な要因があります。/bootのシステム設定が正しいこと、ハードウェアが完全であることを確認してください。インストールCDなどのユーティリティからmemtestを実行するのが良策です。もし/bootの設定に誤りがあるようならば選択肢1に進み、ブートローダの設定を改善してください。もしくはカーネル自身に問題があるようならば選択肢2に進み、現行または以前のバージョンのカーネルを再インストールしてください。
選択肢1:ブートローダの設定
ブートローダの設定(例:/boot/grub/menu.lst)に誤りがないかを確認します。例えば、ハードディスクのパーティションの再分割により、パーティションの順序を変えることができます。パーティションの再分割を行った場合は、ルートとカーネルのパーティション構成が正しいか確認してください。次に、ファイルに誤字がないかを調べてください。余分な空白や不正な文字はカーネルパニックを引き起こす原因になります。
選択肢2:カーネルの再インストール
カーネルの再インストールは、他の主要なシステムを改変していない場合に最善の策です。
インストールCDから起動
まずは、インストールCDから起動します。はじめに、Archをインストールするときのようにarchを入力します。
# arch
chroot
起動したら、最小かつ機能的なGNU/Linux環境といくつかのツールが使えます。標準のルートディスクを/mntにマウントします。
# mount /dev/sdXY /mnt
もしブートパーティションを使うならば、ブートパーティションもマウントします。
# mount /dev/sdXZ /mnt/boot
新しいカーネルは、カーネル環境のセットアップにイニシャルRAMディスクを使用します。カーネルを再インストールすると、イニシャルRAMディスクはmkinitcpioで作り直されます。mkinitcpioには、コンピュータの起動にどんなカーネルモジュールが必要であるかを自動検出するという特徴があります。この自動検出を動作させるため、/dev、/sys、/procをマウントします。
# mount -t proc none /mnt/proc # mount -t sysfs none /mnt/sys # mount --bind /dev /mnt/dev
マウントしたディレクトリをchrootします。
# chroot /mnt
カーネルのダウングレード
旧バージョンカーネルのpacmanパッケージを持っているなら、簡単にダウングレードができます。最新バージョンをインストールします。
# pacman -U /var/cache/pacman/pkg/kernel26-2.6.23.xx-x.pkg.tar.gz
pacmanパッケージを持っていないなら、以前のカーネルバージョンを見つけなければなりません。パッケージがないかどうかインストールCDをチェックしてください。例えば、2008.06 i686 CDにはaddons/core-pkgs/kernel26-2.6.25.6-1-i686.pkg.tar.gzが含まれています。
再起動
さあ、コンピュータを再起動させ、システムの改変によりカーネルパニックを回避できたか確認しましょう。もし古いバージョンのカーネルを使ったなら、何がカーネルの構築に不適切であったのかarch-newspageの確認を忘れないでください。