▼ GRUBメニューについて
GRUBは、パソコンを起動して最初に表示されるブートメニューを管理します。
GRUBメニュー設定ファイル(menu.lst)に Knoppixのエントリを追加すれば、
ブートメニューから Knoppixを起動できるようになります。
ここまでの作業で GRUBを2回インストールしています。
Knoppixでインストールした後、Vine Linuxで上書きしました。
上書きされるのに Knoppixでも GRUBを入れたのは、
Knoppix のメニュー設定ファイルを作成するためです。
自動的に起動パラメーターなどのブート情報が作られるので、
その部分をコピーして Vine Linux のメニュー設定ファイルに追加することで、
簡単にブートメニューから Knoppix を起動できるようになります。
GRUBメニュー設定ファイルは、どちらも「/boot/grub/menu.lst」です。
置かれている場所もファイル名も同じなので、間違えないように注意しましょう。
ブートに使われるのは、最後にGRUBをインストールした
Vine Linux パーティションの menu.lst です。
ここでは、Knoppix のメニュー設定ファイルを参考にして、
Vine Linux のメニュー設定ファイルを変更します。
▼ GRUBメニューを変更する前に
Vine Linuxの起動
ハードディスクの Vine Linuxを起動します。
USBメモリをすべて取り除いて、電源を入れるか再起動すると、
標準的なGRUBブートメニューが表示されます。
↓ Vine Linux の標準的なGRUBブートメニュー
初期設定で Vine Linux の現在のカーネルが選択されているので、
エンターキーを押して先に進みます。
Vine Linux (Current kernel) |
プログレスバーで進行状況が表示されます。
しばらくするとログイン画面が表示されます。
インストール時に作成した 一般ユーザー を選んで
パスワードを入力します。
【 補足 】
ネットブックでは進行状況が表示されましたが、中古パソコンでは画面が真っ黒なままでした。
Vine Linux起動パラメーターの vga のコードをいろいろ変えてみましたが、
効果がなかったので「vga=0x314」を削ってみたら、
プログレスバーが表示されるようになりました。
Vine Linuxの設定
初期設定では、スクリーンセーバーが起動すると画面がロックし、
再開する時にパスワードの入力が必要になります。
作業の途中でこれが起こると面倒なので、
最初にスクリーンセーバーの設定を変更しておきます。
↓ Vine Linux6.3のデスクトップ画面
画面左上の「システム」で、メニューを表示します。
スクリーンセーバーを選択します。
[設定] - [ルック&フィール] - [スクリーンセーバー] |
↓ スクリーンセーバーの設定画面
「スクリーンセーバーを起動したら画面をロックする」のチェックを外します。
「アイドル状態になるまでの時間」で、
スクリーンセーバーが起動するまでの時間を指定できます。
[パワー・マネージメント]で、画面がスリープするまでの時間を指定できます。
【 補足 】
途中で更新パッケージの確認が出たら、閉じておきます。
このパソコンはオフラインで使う予定なので、原則としてパッケージの更新はしません。
あとで「アップデートの自動確認」を無効にし、確認画面が出ないようにします。
▼ Knoppixのメニューファイルコピー
Knoppix の GRUBメニュー設定ファイルを Vine Linux のデスクトップにコピーします。
コマンドでコピーすれば簡単ですが、ここではファイルマネージャ(Nautilus)を使用します。
【 補足 】
起動したパーティション(Vine Linux)と、他のパーティション(Knoppix)のファイルが
同じ画面に表示されていると、トラブルが起こりやすくなります。
Linuxのファイルシステムは同じような構成なので、
同じ名前のディレクトリやファイルがたくさんあって、分からなくなることがあります。
慣れないうちは、他のパーティションのファイルは自分のパーティションにコピーし、
他のパーティションを閉じてから次の作業をするほうが安全です。
もちろん、間違えない自信があれば Knoppixのメニューファイルを直接開き、
必要な部分だけ Vine のメニューファイルにコピーしても構いません。そのほうが簡単です。
コピー手順
ファイル管理画面を使って、
Knoppixパーティションの「/boot/grub/menu.lst」を Vineに持ってきます。
まず、デスクトップの「コンピュータ」
アイコンをダブルクリックして、ファイル管理画面を開きます。
|
↓ ネットブックのファイル管理画面
|
コンピュータ
Knoppixパーティション をダブルクリック
※どれが Knoppixか、ラベルや容量で判断します。 |
これはネットブックの例です。
160GB ハードディスク : ACER | Windows |
160GB ハードディスク : ファイルシステム52GB | Knoppix7.0.2 |
ファイルシステム | 起動領域(Vine) |
|
|
|
Knoppixファイルシステム
boot をダブルクリック
※「KNOPPIX」ディレクトリがあることを確認 |
|
|
Knoppix [/boot]
grub をダブルクリック
|
|
|
Knoppix [/boot/grub]
menu.lst を右クリックして
[コピー] |
|
デスクトップの空いている所で、右クリックして
[貼り付け] を選択すれば、menu.lst のコピーは完了です。
これで、Vine Linux のデスクトップに Knoppix の menu.lst がコピーできました。
もう Knoppix のパーティションは使わないので、ファイル管理画面を閉じます。
↓ ネットブック Vine Linux デスクトップ画面
【 補足 】
ファイル管理画面で Knoppixのパーティションを開くと、自動的にマウントされて、
デスクトップにアイコンが現れます。マウントを解除する場合は、
デスクトップの Knoppix ファイルシステムのアイコンを右クリックして
[アンマウント]を選択します。
シャットダウンでアンマウントされるので、
そのままアイコンを置いといても問題ありません。
▼ メニューファイルのバックアップ
これから Vine Linux の GRUBメニュー設定ファイルを変更するので、
問題が起きた場合に備えて、元の内容を保存しておきます。
コマンドでコピーすれば簡単ですが、ここではファイルマネージャ(Nautilus)を使って、
ファイル管理画面で Vine Linuxの「/boot/grub/menu.lst」をコピーして保存します。
バックアップ作成
デスクトップの「コンピュータ」アイコンをダブルクリックして
ファイル管理画面を開きます。
▼ メニューファイルの変更
Vine Linux の GRUBメニュー設定ファイルをエディタで開き、Knoppixのエントリを追加します。
ここで使うエディタは、Windowsのメモ帳のように、Ctrl-C / Ctrl-V で、
コピーと貼り付けができます。
メニューの追加
デスクトップに置いた Knoppix の menu.lst を右クリックし、簡易エディタで開きます。
↓ Knoppix メニューファイルの内容
Knoppixのエントリの3行分をコピーします。
※カーネルの行は途中で切れていますが、右側にずっと続いています。
パラメーター
default |
メニューの初期選択行。先頭のエントリが 0 |
timeout |
メニューの表示秒数。この時間が過ぎると自動的にdefaultのエントリが起動 |
color |
メニューの色指定。罫線と文字色/背景色、選択文字色/背景色 |
title |
メニューに表示される文字列。エントリの他の行は起動に関する情報 |
※行の先頭に#を付けるとコメント行になります。
消すのが不安な場合はコメントにして残しておけます。
管理者権限のファイル管理画面で、Vine Linux の menu.lstを右クリックし、
テキストエディタで開きます。
[別のアプリで開く] - [gedit テキストエディタ] |
↓ Vine Linux メニューファイルの内容
コピーした3行をエントリの並びのどこかに貼り付けます。
※こちらは折り返し表示なのでカーネルの行末まで見ることができます。
エントリのタイトルや並び順を整えて、上書き保存します。
あとは menu.lst のウインドウを両方とも閉じれば完了です。
管理者権限のファイル管理画面も閉じておきます。
デスクトップにコピーした Knoppix の menu.lst は、
もう使わないのでゴミ箱に入れておきます。
メニューファイルの例
これはネットブックのメニューファイルです。
実際のパーティション順にエントリを並べ、
タイトルにバージョンを入れて分かりやすくしました。
※カーネルの行は長いので折り返し表示になる場合があります。
default=0 timeout=20 color cyan/blue white/blue
title Windows Xp Home Edition
rootnoverify (hd0,1) chainloader +1
title Knoppix 7.0.2root (hd0,4)
kernel /boot/vmlinuz root=/dev/sda5 rootwait lang=ja apm=power-off
nomce libata.force=noncq tz=localtime loglevel=1 rw
title Vine Linux 6.3root (hd0,5)
kernel /boot/vmlinuz ro root=LABEL=/ resume=swap:/dev/sda7
vga=0x314 splash=silent quiet initrd /boot/initrd.img |
メニュー項目の背景色は青、前景色は水色、選択文字色は白色です。
デフォルトが1行目なので、20秒間何も入力しなければ自動的にWindows Xpを起動します。
※Vine Linux 起動時にプログレスバーが表示されない場合は「vga=0x314」の部分を削除します。
※綴りの間違いを訂正(nomoce → nomce)しました。
↓ 結果のブートメニュー
上下矢印キーで行を選択し、エンターキーを押せば、起動を開始します。
【 補足 】
Knoppix7.6.1英語版のkernel行はパラメーターが重複しています。
重複部分は削っても大丈夫です。
kernel /boot/vmlinuz root=/dev/sda5 rootwait lang=ja apm=power-off nomce
libata.force=noncq tz=localtime loglevel=1 lang=en apm=power-off
initrd=minirt.gz nomce libata.force=noncq hpsa.hpsa_allow_any=1
loglevel=1 lang=ja xkeyboard=jp rw
※太字の部分は綴りが間違っていたので訂正しました。
▼ 背景画像の設定
ブートメニューの背景画像を設定します。
横幅が640以下で、横と縦の比率が4:3の画像が必要です。
【 補足 】
ネットブックの画面は1024×600なので、横と縦の比率は大体5:3です。
その比率に合わせて、640×375の画像を使ってみたら、上に詰まって表示されました。
どうやら、640×480の領域に画像を置き、
その領域全体を画面サイズに合わせて拡大縮小しているようです。
1024×600の縦横比を無視して640×480に縮小した画像だと、あまりきれいな絵にはなりません。
結局640×480の画像を作ってそのまま使いました。
ネットブックでは絵が太りますけど、一番ましな結果です。
用意した画像 splash.png (640×480)
640×480以内の背景画像を用意し、それを14色以下に減色してから圧縮し、
/boot/grub ディレクトリに置いて、menu.lstの記述を修正します。
1 | 640×480の画像を用意 splash.png |
/tmpに置きます。 |
2 | XPM形式に変換 splash.xpm ← splash.png |
ファイル管理画面で splash.png を右クリックして
Gimpを選択します。
[別のアプリで開く] - [GNU Image Manipulation Program]
Gimpメニューの「ファイル」-「名前を付けて保存」で、
拡張子を xpm に変更して [保存]
|
3 | 14色に減色 splash.xpm |
Gimpメニューの「画像」-「モード」-「インデックス」で、
カラーマップの「最適パレットを生成」最大色数に
14 を入力して [変換]
Gimpメニューの「ファイル」-「保存」で上書き保存
|
4 | gzip圧縮 splash.xpm.gz |
ファイル管理画面で splash.xpm を右クリックして
[圧縮] を選択します。
圧縮形式 .gz を確認して [作成]
|
5 | GRUBディレクトリにコピー |
ファイル管理画面で、/boot/grubを管理者として開きます。
/tmp/splash.xpm.gz を /boot/grubにコピーします。 |
6 | メニューファイルを開く |
/boot/grub/menu.lst を右クリックして、
テキストエディタで開きます。
[別のアプリで開く] - [gedit テキストエディタ]
|
menu.lstの「color cyan/blue~」の行を置き換えます。
splashimage=(hd0,5)/boot/grub/splash.xpm.gz
|
※(hd0,5)は、Vine Linux の root 行のパーティションを指定します。
※colorとsplashimageの両方を指定すると危険な場合があります。
こんな感じになりました。これはイメージです。
【 注意 】
この手順は"GNU GRUB 0.97"の場合です。GRUB2ではもっと簡単にできるようです。
GRUBのバージョンをチェックするコマンド
grub-install -v → 結果表示例:grub-install (GNU GRUB 1.97-beta2)
GRUB2の場合は1.97になります。
コマンド
画像の変換はコマンドで簡単にできますが、Gimpで減色したほうがきれいです。
convert splash.png splashx.xpm | PNG形式の背景画像をXPM形式に変換 |
convert splashx.xpm -colors 14 splash.xpm | 14色に減色 |
gzip splash.xpm | 圧縮 |
※ splash.png → splashx.xpm → splash.xpm → splash.xpm.gz
▼ 再起動して確認
GRUBメニュー設定ファイルを変更したので、再起動してブートメニューを確認します。
メニューファイルに誤りがあると、ブートメニューではなく GRUBプロンプトが表示されます。
開いているウインドウをすべて閉じてから、画面左上の「システム」をクリックします。
メニューが表示されるので、シャットダウンを選択します。
ウインドウが表示されるので、[再起動]を選択します。
このウインドウを開いたまま放置すると、1分後に自動的にシャットダウンします。
その前に再起動を選択する必要があります。
メニューファイルの復旧
Vine Linux の GRUBメニュー設定ファイルに間違いがあって、
ブートメニューが表示されなくなった場合は、取りあえずライブUSBで起動し、
ファイルの内容を修正するか、変更前のファイルに差し替えて回復します。
まず「KnoppixライブUSB」で起動します。
↓ Knoppix7.2.0ライブのデスクトップ画面
画面左下のファイル管理アイコンをクリックします。
ファイル管理画面で、
Vine Linux の /boot ディレクトリを表示します。
変更前のメニューファイルに戻す場合は
grubを右クリックして「端末で開く」を選択します。
LXTerminalウインドウが開いたら、コマンドを入力します。
knoppix@~/grub$ ls
knoppix@~/grub$ su
root@~/grub# mv
menu.lst menu.lst.ng
root@~/grub# cp menu.lst.bk
menu.lst
root@~/grub# exit
knoppix@~/grub$ ls
|
suで管理者になり、誤りのある menu.lst を別の名前に変更して残し、
バックアップの menu.lst.bk を menu.lst にコピーして元の状態に戻してから、
exit で一般ユーザーに戻ります。
lsでディレクトリの内容が確認できます。cat menu.lst でファイルの内容が確認できます。
※通常は suを入力するとパスワードが要求されますが、
Knoppixの初期設定ではパスワードが設定されていません。
【 注意 】
GRUBは、最後にインストールした Vine Linux の menu.lst を参照して
ブートメニューを表示します。
従って、Vine Linux のパーティションを削除するとブートメニューが表示できなくなります。
grubプロンプトが表示された場合は、そのまま Knoppix の root を指定してセットアップすれば、
Knoppix の menu.lstを参照してブートメニューを表示するようになると思いますが、
まだ試したことがないので、なんとも言えません。
--GRUBコマンド例--
grub> root (hd0,4)
/* Knoppix のエントリ参照 */
grub> setup (hd0)
/* Knoppix のあるデバイス(rootと同じ) */
|