このパートではVirtual PCで作成したゲストPCとしてLinuxOSを利用するときのカーネルパラメータについて初心者/ビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
Virtual PCでサーバーを構築

Virtual PCについて

Virtual PC専用NICの準備

Virtual PCのインストール

ハードディスクイメージの作成

バーチャルマシンの作成

ゲストPCの基本設定

WBELのインストール

CentOSのインストール

カーネルパラメータの設定

サーバー運用のポイント


カーネルパラメータは「トライ・アンド・エラー」で

Virtual PCのゲストOSとして LinuxOS を利用する場合、その ディストリビューション の種類と、ホストPC及びホスト OS の環境によっては、ゲストOS側に カーネルパラメータ を付加しなければならないことがあります。

例えば CentOS4 インストール 中に「マウスカーソルの動きがぎこちない...。」と思ったら、インストール作業を中止してVirtual PCメニューの 操作(A) から リセット(R) を選んでゲストOSをリセットします。

そしてインストール初期画面が表示されたら以下のように、

"linux psmouse.proto=imps clock=pit"

とカーネルパラメータを追記して Enter を押します。

この段階では、お使いのキーボードのキー配列は 英語キーボード の配列になっています。

従って "=" を入力するときは英語キーボードの配列に相当する "^" キーをタイプする必要があります。解り易くいうと、ひらがなの "へ" のキーです。

ご利用の環境にもよりますが、このような方法で不具合を解消できるケースがかなりあります。

インストーラーが問題なく動作しているようでしたら、ここから先は普通にインストール作業を進めてゆくことができるはずです。

ただしここで設定したカーネルパラメータはあくまで インストール時にのみ 有効なものですから、インストール後にも同じカーネルパラメータで起動するように設定しておくほうがいいでしょう。

設定は ブートローダの設定 のステップ CentOS4のブートローダーの設定 で、 高度なブートローダオプションの設定(O) にチェックを入れて 次(N) をクリックします。

そして "一般カーネルパラメータ(G)" のところに、先ほど追記したカーネルパラメータから先頭の "linux" を除いた、

"psmouse.proto=imps clock=pit"

をタイプします。

この段階では、お使いのキーボードのキー配列は 日本語キーボード の配列になっています。
従って "=" を入力するときは普通に入力できるようになっています。

これでインストール後の通常起動時も、インストール時と同じ環境でCentOS4が起動するようになります。

WBEL やCentOSを利用する場合に有効な、代表的なカーネルパラメータとしては以下のようなものがあります。

"psmouse.proto=imps"

マウスをホイール付きの/PS/2マウスとして認識させます。Virtual PCの画面上でマウスの動作がおかしいときに指定すると正常に動作することが多くなります。スクロール機能付きのタッチパッドを利用するときも同様です。

"clock=pit"

インストールするLinuxの カーネル のバージョンが "2.6" 以降の場合の、ゲストOSの時刻のずれ(高速化)を修正します。このカーネルパラメータはパソコンの CPU が省電力仕様になっていて、動作速度が変化するタイプの場合にも有効です。

"vesa"

Virtual PCのグラフィック環境は S3 Trio 32/64 PCI(8MB) のエミュレートが デフォルト ですが、互換性を重視した AT互換機 の標準規格である "VESA 2.0" のグラフィック環境もサポートしていて、これを有効にするカーネルパラメータです。グラフィック画面が表示されないときはこれを指定すると良い場合があります。

"i8042.noloop"

マウスの動作についてインテルI8042ポートドライバ互換を有効にします。ディストリビューションのマウス自動認識機能が働かず(誤認識)、Virtual PC上でマウスカーソルが動作しないときに状況を改善できることがあります。

Virtual PCには比較的古い仮想 ハードウェア 環境 Virtual PCの仮想ハードウェア環境について が採用されていますが、その一方でWBELやCentOSはバージョンを重ねるごとに新しいハードウェアへの最適化が進み、それに加えてマウスやモニタ環境についてはインストール作業を容易にする目的で「自動検出」を重視する傾向にあります。

その結果WBEL4やCentOS4、そしてCentOS5へとバージョンが上がるにつれて古いハードウェアの自動検出が働きにくくなっています。

実際、WBEL3やCentOS3ではこれらのカーネルパラメータのお世話になることはほとんどありませんが、CentOS5では上に挙げたカーネルパラメータをすべて有効にしなければらないようです。

これらのカーネルパラメータはVirtual PCを利用するときだけではなく、比較的古い ホスト機 に新しいディストリビューションをインストールするときにも役立つことがあります。

先にも少し説明しましたが、カーネルパラメータはVirtual PCを稼動させるホスト機の仕様に依存します。また、この コンテンツ で紹介しているもの以外のディストリビューションでは他のカーネルパラメータが必要になることがあります。

とはいえ、この部分は実際にやってみなければわからない、というのが正直なところですので、インターネット上で情報を集めながら最適な設定を探してみてください。

このページの先頭へ↑

カーネルパラメータの修正について

上のステップでは、ゲスト OS インストール 時のカーネルパラメータの設定について説明しましたが、このカーネルパラメータの有無に起因する不具合は実際に WBEL CentOS の稼動を開始した後に気付くケースもあります。

また、 yum などを利用して カーネル のアップデートを行うと、それまで最適だと思われていたカーネルパラメータの修正が必要になるかもしれません。

そういう場合にはOSの起動後に ブートローダ の起動設定ファイル "/boot/grub/grub.conf" を修正して対処します。

ここでは前のステップで紹介した方法でインストールを行ったCentOS4を例に挙げてみます。

この設定ファイルは、 "root" ユーザー以外には変更できません。

まず、適当な ユーザーアカウント でCentOS4のシステムに ログイン した後、 su コマンド でユーザーアカウントを "root" に変更し、設定ファイルを nano エディタで開きます nanoエディタでファイルを開く

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano /boot/grub/grub.confEnter


起動に関する記述は "title〜" から始まって "initrd〜" で始まる行までで1セットです。
このセットはカーネルがアップデートされるごとに上の行に追加されていきますから、何度もアップデートを行ったシステムでは数セットくらいは記述があるはずです。
右の例ではこれが2セットありますが、これは CentOS4.6 をインストールすると最初からカーネルが一度アップデートされているためです。
ちなみに実際にデフォルトで起動に使われるのは一番上段に記述されている最新の起動セットです。
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
#     all kernel and initrd paths are relative to /boot/, eg.
#     root (hd0,0)
#     kernel /vmlinuz-version ro root=/dev/hda3
#     initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS-4 i386 (2.6.9-67.ELsmp)
    root (hd0,0)
    kernel /vmlinuz-2.6.9-67.ELsmp ro root=LABEL=/ psmouse.proto=imps clock=pit rhgb quiet
    initrd /initrd-2.6.9-67.ELsmp.img
title CentOS-4 i386-up (2.6.9-67.EL)
    root (hd0,0)
    kernel /vmlinuz-2.6.9-67.EL ro root=LABEL=/ psmouse.proto=imps clock=pit rhgb quiet
    initrd /initrd-2.6.9-67.EL.img

もうお解りと思いますが、 赤字 で示す部分がインストールのときに "一般カーネルパラメータ(G)" で設定したパラメータです。

もしもカーネルパラメータに修正を加えたい場合にはこの部分を適宜書き換えてシステムを再起動すればOKです。

テキストファイルの内容が変更されていなければ、 Ctrl+x だけで終了できます。

設定が終わったら、 Ctrl + x y Enter で設定ファイルを保存し、 nano エディタを終了します。

そして reboot コマンドでゲストOSの再起動を行います。

[root@web1 ~]# rebootEnter

このカーネルパラメータの記述は、カーネルがアップデートされてもそのまま新しい起動セットの記述(左上のコラム参照)にコピーされて設定が引き継がれますから、一般的にはカーネルのアップデートごとに追記する必要はありません。

もちろんカーネルのアップデートによって動作が不自然になってしまったようなときは、既存のカーネルパラメータを削除したり別のカーネルパラメータを追加したりする必要があるかもしれません。

このページの先頭へ↑

OSの起動時にカーネルパラメータを一時的に変更する

追加するカーネルパラメータがそのゲスト OS において最適なものかどうかは、ゲストOSを起動して実際に操作してみなければわかりません。

しかしカーネルパラメータの設定を誤るとゲストOSが起動しなくなりことがあり、その場合はシステムに ログイン することができませんから "/etc/grub/grub.conf" を修正することができません。

こういう困ったケースでは以下のように対処します。

例えばCentOS4の場合、Virtual PCの 操作(A) メニューから リセット(R) を選択して強制的にゲストOSをリセットします。

するとゲストPCの初期メッセージの後に以下のような画面になりますから、この画面が表示されているうちにすばやく何かキーを押します。

すると以下のようなメニューになりますので、ここで最上段の行が選択されていることを確認して e キーを押します。

すると以下のように前のステップで説明した起動コマンドラインのセットが表示されますから、この中から "kernel 〜" で始まる行(通常は中段)をカーソルキーで選択してもう一度 e キーを押します。

すると以下のようにカーネルパラメータを編集できる画面ようになりますので、ここでパラメータを修正します。

行が長いので行の左端が見えませんが、カーソルキーで移動すると見えるようになります。

編集が終わったら Enter キーを押すと一つ前の画面に戻りますので、ここで b を押します。

これで一時的に入力したカーネルオプションでCentOS4を起動することができます。

この コンテンツ で紹介している他の ディストリビューション でも要領は大体同じです。

ここで入力したカーネルパラメータはこれ一回の起動にしか有効になりませんから、次回の起動から有効なカーネルパラメータを設定したいときは、前のステップで説明した方法で "/boot/grub/grub.conf" を編集する必要があることを忘れないでください。

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System