この文書は Grub4DosConfig version 1.8 のために書かれました
リナックスや他のOSを起動するブートローダとして定番のものに Grub があります。 パピーリナックスでも syslinux(フロッピーディスクやUSBメモリなどに対応) とともに Grub が採用されてきました。 しかし Grubには大きな制限があります。 リナックス専用となるファイルシステム ext2 または ext3 でフォーマットされたパーティションが必要だということです。 Grub4Dosは Grubと互換性のある機能を有しつつ、 Windowsで使用される NTFS や FAT ファイルシステムの上にもインストールできます。 その他にも機能拡張があります。
(バージョン 1.6での追加)
grub4dosconfig-0.4.4.v1.5.x による ext4ファイルシステムのサポートは部分的でした。
これまでは etx4に関して grubの助けを借りなければなりませんでした。
grub4dosconfig-0.4.4.v1.6 では 'Wee'をMBRに導入することにより ext4 をフルサポートしています。.
(バージョン 1.7での追加)
起動用コードをパーティション(PBS)にもインストールできます。
ファイルシステムとして新たにReiserfsを限定的にサポートします。
grldrを reiserfs上には置けません。したがってすべてのパーティションが reiserfsであるようなドライブにインストールすることはできません。
また reiserfsのPBSにインストールすることもできません。
インストールされるGrub4Dosの実態は ブートレコードに格納される起動用コードと、2つの通常ファイル、 grldr と menu.lst です。 原則的に grldr と menu.lst はインストール先HDDの第1パーティションに保存されます。
Grub4Dosをどのドライブにインストールするかを最初に選択します。 起動用のコードは選択されたドライブのMBR(Master Boot Record)に書かれます。 通常は第1番目の内蔵HDD(sda あるいは hda)のMBRを選択します。 grldr と menu.lst はインストール先HDDの第1パーティションに保存されます。
Grub4Dosを別のHDDにインストールすることもできます。BIOS設定などでこのドライブが起動できることが前提です。 注意すべきは、パピーが認識するHDDと起動のときBIOSやGrub4Dosが認識するHDDとは呼び方が異なるだけでなく、認識する数や順番が異なるかもしれないということです。 この問題は後にも出てきます。
内蔵HDDを触らずにUSBメモリにインストールするのも安全な方法かもしれません。 ただし、あなたのパソコンが USBメモリからの起動に対応していることと、その設定方法をあなたが知っているということが条件になります。
フロッピーディスクドライブがあり、それから起動できるならば、まずはフロッピーディスクにインストールすることをお勧めします。 できれば新しいフロッピーディスクを用意してください。すでに使ったものでも良いですが、インストールに使用すると、内容はすべて消去されます。 大事なデータが入っていないか、あらかじめ確認しておいてください。
Grub4Dosは旧Grubと上位互換です。Grub4Dosは旧Grubの命令を解釈できますが、逆に旧Grubが解釈できない Grub4Dos固有の命令もあります。
もしあなたが旧Grubに慣れていて、その 'menu.lst'を自分の手で編集することを望むならば、 Grub4Dosの新しい命令に戸惑うかもしれません。 そういう場合に「旧Grub互換メニュー」が使えます。(バージョン1.8以降) ここにチェックを入れると grub4dosconfigは grub4dos 固有の 'uuid' や 'find --set-root' などを使わずに 'menu.lst'を書き上げます。 このオプションは、そうしたい人、それができる人だけのものです。
Grub4DosConfigバージョン1.7以降では各ドライブのMBRではなくパーティション(Partition Boot Sector)に起動用コードを書くことができます。しかしお奨めしません。 このパーティションはブート可能フラグがセットされており、MBRはこのブートフラグの付いたパーティションのPBSに制御を移すような仕組みがあるときにこれが使えます。 あるいは起動するパーティションを選択できるようなブートローダーマネージャを使う場合にこの方法が使えます。 MBRにインストールされたGrub4DosからPBSにインストールされたGrub4Dosにチェーンするというような使い方は想定されません。 Grub4DosはどのパーティションにあるWindowsやLinuxを、PBSを介さずに直接起動できるからです。 あなたがブートの仕組みを理解していて、そのような設定ができる場合にのみ、この選択をしてください。
Grub4DosConfigを起動すると、最初はドライブだけが選択肢に現れ、その中のパーティションを選択することはできません。 パーティション(PBS)に起動用コードを置きたいときは「PBSも表示」のボタンを押してください。
パーティションのファイルシステムが ext4であって、そのPBSにインストールしたいときにはGrub4Dosのほかに extlinuxが必要です。 この extlinuxはバージョン4.0以上でなければならず、また chain.c32も必要です。 extlinuxのバージョンは端末から 'extlinux --version' とタイプすれば分かります。 extlinuxのバージョンが4.0未満の場合や chain.c32が無ければそれらをインストールしてください。
現在のMBRにはWindowsを起動する ntldr など(を起動するコード)が入っていて、それをそのまま使いたいことがあるかもしれません。 その場合は「ブートレコードは書き換えない」にチェックを入れてください。 grldr と menu.lst だけが配置されます。 このような場合、 ntldr などから grldr を起動できる設定が別途必要です。 Grub4dos Guide(英文)を参考にしてください。
逆にブートレコードが別のものに書き換えられてGrub4Dosをインストールしなおすさいに、以前の'menu.lst'をそのまま残したいときもあるでしょう。 そのときは「'menu.lst'は書き換えない」にチェックを入れてください。
フロッピーディスクにインストールするときはチェックに関わらず、常にブートレコード、grldr と menu.lst を書き込みます。
パーティションに付けられるブートフラグ(boot flag)はもともと、マスターブートレコードに対して、次にどのパーティションへチェーンすべきかを指示するものです。 Grub4Dosがそのマスターブートレコードである場合にはその必要はありません。 なぜなら Grub4Dosは 'menu.lst'ファイルを読むことで次に何をすべきか分かるからです。
ところが、BIOSによってはブートフラグの無いドライブからは起動しないものがあります。 このときは GParted などのツールで起動ドライブのいずれかのパーティションにブートフラグをセットしてください。 ブートフラグは1つのドライブについてただ1つのパーティションにしか付けられません。 しかし安心してください。Grub4Dosはブートフラグに関係なくどのパーティションのOSも起動することができます。
USBメモリなど持ち運びのできるデバイスにインストールするときはブートフラグを付けておくことをお勧めします。 いま使っているPCでブートフラグなしで起動できたとしても、別のPCでは起動できないかもしれません。 またBIOSによっては Linuxのパーティション(ext2/3/4)のブートフラグを認識できないものもあります。 USBメモリの第1パーティションを FAT16かFAT32でフォーマットし、そこにブートフラグを付けるのが安全でしょう。
(バージョン1.8以降)
ブートメニューの背景に画像を貼り付けることができます。画像は .xpm 形式で、画面サイズは 640x480ピクセル、色数は 14色以下でなければなりません。
これを 'splash.xpm' の名前で 'menu.lst' と同じ場所に置いてください。
画像は mtpaint や gimp で作れます
(Grub4dos Guide - Creating a Splash Image)
背景画像を有効にするために 'menu.lst' の修正が必要です。 'color'の行をコメントアウト(冒頭に'#'を挿入)、'splashimage' の行をアンコメント(冒頭の'#'を削除)してください。
#color white/blue black/cyan white/black cyan/black splashimage=/splash.xpm
('/usr/share/grub4dos/splash.xpm' を置いておくと 'menu.lst'が作成されるときに、この背景画像も自動的にコピーされます。 背景画像を使うと、背景画像の無いメニューへチェーンしたときに問題が生じるので注意してください。)
Grub4DosConfigは内蔵あるいは接続されているハードディスクやUSBメモリを調べ、 インストールされているパピーや他のリナックスOSを検出してリストアップします。
ここでできることは、起動時にメニューに表示されるタイトルの変更と削除だけです。 Grub4DosConfigが検出できなかったOSを追加することはできません。また順番を入れ替えることもできません。 ここでできなかったことは、インストールが済んでから menu.lst を直接編集することで行います。
箱の中の文字列(タイトル)が起動のときにメニュー項目として表示されます。 同じタイトルがあるときは区別できるようにタイトルを書き換えておきましょう。日本語の文字はたぶん表示できないでしょう。
メニューに必要のない項目はタイトルを空白にしてください。
追加ブートオプション(バージョン 1.6での追加)
Frugal インストールされたパピー用の、フルインストールされたパピーや他のLinux用のブートオプションをそれぞれ追加することができます。
よく分からなければそのままにしておいてください。
Windowsがインストールされいるかどうかに関わらず、Windowsに関する項目は少なくとも1行出てきます。 インストールされておらず、今後もインストールする予定が無ければ、その項目を空白にしてください。 しかしフロッピーディスクやUSBメモリにインストールするときは、これらをそのまま残しておくのが良いでしょう。別のコンピュータで役立つかもしれないからです。
ここでも、順番を変えることはできません。 たとえばWindows XPを起動させたいのならばそれを残し、Vista/2008/7 を使う予定が無ければそれを空白に、9x/Meが必要なければそれも空白にしておきます。
別のドライブ、別のパーティションであっても、同じ名前のフォルダを作ってそこにパピーをfrugalインストールしていると起動に失敗します。フォルダ名重複のエラーが出たら、いずれかのフォルダ名を変更してからDrub4DosConfigを再起動してください。
menu.lst の書式詳細はGrub4dos Guide(英文)を参照のこと。
パピーがFullインストールされていたり、他のリナックスを起動するためには menu.listを修正しなければならない場合があるでしょう。パピーをFurugalインストールしており、他にはWindowsしか無いならば、Grub4DosConfigが自動作成した menu.lstをたいていはそのまま使用できるはずです。
Fullインストールされたパピー、他のリナックスの起動には落とし穴があります。 これらを起動するには、インストールされたパーティション、正確にはリナックスカーネル(vmlinuz)の場所の指定と、ルートファイルシステムの場所の指定が必要です。 このうち前者、カーネルのあるパーティションはGrub4Dosに対する指示で、後者、ルートファイルシステムの場所は起動したリナックスカーネルに対する指示となります。
ここで、(1)Grub4Dosが認識するパーティション、(2)起動されるリナックスカーネルが認識するパーティション、 さらには(3)現在走っているパピー(のカーネル)が認識するパーティション、これら3つが、呼び方が異なるだけでなく、認識する数や順番が異なるかもしれないということが、大きな落とし穴となります。
典型的な場合、たとえば先頭のHDDは Grub4Dosでは (hd0)、(パピー)リナックスカーネルでは sda、 その第1パーティションは Grub4Dosでは (hd0,0)、(パピー)リナックスカーネルでは sda1となります。
ところが、リナックスカーネルのバージョンによって、あるいはハードによってたとえば先頭のHDDが sda ではなく hda、2番目が hdb、 3番目が sda という場合もあります。 これらは Grub4Dos ではhd/sdの区別なく順に (hd0)、(hd1)、(hd2) となります。 これはむしろ単純な場合で、それぞれが認識する数が異なる場合はもっとやっかいになります。
生成された menu.lstの 「root (hd0,4)」などの行にあるhdの後の数字の変更「root (hd1,4)」、「root=/dev/sda5」などの記述を「root=/dev/hda5」に変更したりするなどが必要かもしれません。
(バージョン 1.6での追加)
grub4dosconfig-0.4.4.v1.6以降は「root (hdn,0)」(nは数字で、HDDの接続/認識順などで変わる)などに代えて
各パーティション固有の UUIDを用います。
これによりあなたは「/dev/sda1」などの部分だけを注意すればよいようになりました.
すでにGrubがインストールされているならば、 古いmenu.lstが存在しているはずです。 それらは /(ルート)、/boot あるいは /boot/grub ディレクトリにあります。日付と時間を付けた menu-2009-08-12-144950.lst などと名前が変更されているかもしれません。 これらがある場合、それらを参考にします。 いままでそれで無事に起動していたならば、該当部分(title行から次のtitle行の手前まで)はまるごと引き写しでよいはずです。
生成された menu.lstは標準的なブートオプションだけが記載されています。たとえば 「acpi=off」など機器固有に必要なオプションがあれば追記してください。
ドライブがUSB接続のとき、Grub4DosConfigはそれをUSBフラッシュメモリであると「pmedia=usbflash」オプション、USB接続のHDDならば「pmedia=usbhd」を加えます。 これが間違っていたなら書き換えてください。
昔のバージョンのパピー(Puppy-1.x〜3.x)のブートパラメータの指定は最近のもの(Puppy4.x/5.x)とは違っているかもしれません。 Classic Pup-2.14xに関しては本家フォーラムの該当トピックなどを参考にしてください。
メニューの順番を入れ替えたいときは、title行から次のtitle行の手前までをセットにして前後を入れ替えてください。 また、何も選択せずに時間が経つと自動的に起動するのは 「default」行で指定された項目となります。先頭が0番。後は1,2...と数えます。
あなたが旧いGrubに慣れているならば、Grub4DosConfigが生成する次のようなコマンドは見慣れないかもしれません。 すなわち「find --set-root」や「uuid xxxx-xxxxx」など。 これらはパーティションの位置を指定するのに使われています。 あなたが「root (hd0,1)」のような記述に慣れているならば、それを代わりに使うこともできます。 Grub4Dosは旧いGrubに対して上位互換性を持っているからです。 たとえば次の2つの記述はほぼ同じ動作をします。
# for Grub4Dos only title Windows Vista/2008/7 (sda2:PBS) uuid 6C54F6966CE8F58D chainloader +1
# both Grub4dos and Grub legacy work title Windows Vista/2008/7 (sda2:PBS) root (hd0,1) chainloader +1
Advancedメニューの中には、すでに現れた他の起動メニューと重複しているものもあります。 他のメニューから起動できることが分かったなら 'menu-advanced.lst' 内にある重複あるいは不要な項目を削除して構いません。
通常これらのメニューは(バージョン1.8以降では)起動時に 'Advanced menu' を選択することで現れる2ページ目にあります。
(バージョン1.8以降)
ブートパラメータ 'pfix=ram,nox' をはじめ比較的安全サイドの、次のブートパラメータでパピーを起動します。
pfix=ram,nox acpi=off apm=off nosmp noapic nodma nopcmcia
最近のパピーでは起動時に自動的にXが設定されてデスクトップが立ち上がるようになっています。 しかしハードウェア(グラフィックカード)によっては自動設定がうまくいかず、真っ黒画面で止まってしまう場合があります。 そのようなときは、このオプションを試してください。 起動後はコンソールでコマンドを受け付ける状態になるので、そこで'xorgwizard とタイプして Xを設定します。
この起動オプションは Frugalインストールされたパピーにのみ有効です。
パピーを 'pfix=ram' ブートパラメータで起動します。 そうするとパピーは pupsave(セッション保存ファイル)を使わずに起動します。 pupsaveが壊れた(かもしれない)ときや、新しいパピーのバージョンを試すときに以前のpupsaveがアップデートされたくないときなどに使えます。 また、パーティションの再構築などHDDをいじりたいとき、HDDがマウントされるのを避けるためににこのモードを使います。 ただしこのモードでHDDがマウントされないかどうかはパピーのバージョンによります。
この起動オプションは Frugalインストールされたパピーにのみ有効です。
(バージョン1.8以降)
更新前のメニューがバックアップされていた場合、Advanced menu 中の "Previous menu" で戻ることができます。
この他にも他の Linuxなどが作ったメニューを辿ることのできることがあります。
(バージョン 1.6.3以降)
Grub4DosConfigはブート可能フラグの付いたパーティションに対して「(sda2:PBS)」のようなメニュー項目を加えます。
ただしこの項目が本当にブート可能であるかどうかは分かりません。フラグが付いていてもブートローダがインストールされていない場合があるからです。
この項目はたいていの場合、他のメニューからも起動できるのが普通です。
このパーティションにインストールされたOSが別のメニューから起動できるのであれば、この項目を外してしまっても構いません。
(バージョン 1.8以降)
'Boot from sdb'などのメニューから他のドライブのMBRびチェーンすることができます。
ただしそこにブートローダがあるかどうかはチェックされていません。
ドライブ番号に添えられたドライブ情報は間違っていることがあります。BIOSの設定でドライブの順序が変更されている場合、ドライブ番号に添えられたドライブ情報は間違っていることがあります。
フロッピーディスクや USBなどに Grub4Dosをインストールすると、 この項目がブート時のメニューに加えられます。 フロッピーやUSBなどから起動しても、このメニューを選べば本体側HDDの起動メニューが参照されます。 GrubやGrub4Dosをインストールしたが、その後MBRが壊れたなどの場合に その救済手段として利用することもできます。
(バージョン 1.6での追加)
一部の Linuxでは最近 grubに代えて'Grub2'を使うものがあります。
'Grub2'と Grub4Dos は共存できます。
もし'Grub2'を使う Linux をインストールしていて、それを Grub4Dos で起動することに不都合を感じたら、
ブート時のメニューにあるこの項目を試してください。
以上です。成功を祈ります。
2009年9月, 2010年11月, 2011年1月、2011年10月、2012年6月追記 Shinobar