インストール /
パソコンを起動する際に動作するのがブートローダです。
複数の OS がインストールされている場合はメニューを表示したり、
プロンプト表示になって、起動オプションを指定できたりします。
Puppy Linux をハードディスク・SSD などにインストールする場合、
Puppy Linux は GRUB4DOS をブートローダに採用しますが、
GRUB4DOS は最近のパソコンで採用されている UEFI・GPT に対応していません。
そのため、他の OS から GRUB 2を経由して起動したり、
UEFI 対応のブートローダで起動する必要があります。
自動で行える手段は今のところ存在せず、手作業での追加が必要です。
ブートローダは設定を誤ると起動できなくなります。 しかしこれはハードディスク・SSD からなくなってしまったわけではありません。 他の OS が起動できる場合は起動できた OS から正しく設定します。 それができなかった場合でも CD や USB メモリから Puppy Linux を起動して 正しく設定しなおす事で起動できるようになります。慌てる事はありません。
Puppy Linux から Frugal Installer でインストールを行った場合、
Note for manual configuation という表示がでている事に気がつくかもしれません。
これは最新だと /root/my-documents/tmp/menuentry.txt にファイルとしても置かれます。
下記で記載する記述例がいくつかあります。
GRUB ではカーネル vmlinuz を読み込む行の行末に値を加える事で、
Puppy Linux の動作を変化させる事ができます。
特に pfix=ram はよく使う事が多いので、通常起動とは別にメニューに加えておいても良いでしょう。
他のオプションも知りたい場合は下記を参照して下さい。
http://puppylinux.org/wikka/BootParametersPuppy
最新の Puppy Linux では GRUB4DOS(GRUB for DOS)がブートローダとして含まれています。 しかし UEFI・GPT には対応していません。 これは Intel 搭載 Mac や Windows 7 以降がプリインストールされたパソコンが該当します。
複数の OS をパソコンに入れている場合、
Puppy Linux から GRUB4DOS を用いて OS の選択を制御するようにするのは良い選択肢かもしれません。
いくつか理由があります。
Puppy Linux から GRUB4DOS によるブートローダを設定する場合、多くの OS を検出してくれますが、 まれに OS を検出しない場合もあります。 例えば同じ Frugal を採用している Tiny Core Linux は検出してくれません。 これは手動で追加する必要があります。 また、まれに誤った認識と追記を行っている事もあります。起動しない場合は手動で修正を要します。
メニュー表示は通常 menu.lst を編集します。
Puppy Linux はこれ以外に menu-advanced.lst も生成します。これらは例題として優秀です。
先頭にあるいくつかのオプションは下記のとおりです。
前回の実行をデフォルトにする事ができます。 GRUB4DOS のダウンロードから GRUB4DOS のアーカイブをダウンロードし、 中に入っている default というファイルをパーティッション番号0(sda1)のパーティションに入れて下さい。 default は書き込み可能な状態でなければいけません。 menu.lst の頭部分では default /default とし、次回デフォルトにしたい項目に savedefault を1行加えます。 GRUB4DOS ダウンロードサイト http://download.gna.org/grub4dos/
他にも color splashimage の装飾オプションもあります。
パーティションを生成した際はランダムな UUID が生成されます。
構成が変化しても UUID は変化しません。そのため UUID で指定しておくのが良いとされます。
UUID は blkid コマンドで取得できます。GParted でも確認可能です。
ファイルシステムによって UUID の桁数が変わります。ext ではないシステムに入っていれば、正常です。
Puppy Linux から menu.lst を自動生成した時はこの形式で記載されています。
例: FAT32 の UUID 5BFF-F055 パーティションに入っている /precise 内の Puppy Linux を起動
title Puppy Linux uuid 5BFF-F055 kernel /precise/vmlinuz initrd /precise/initrd.gz
例: ext3・ext4 の UUID ad80b51d-d7a2-55aa-858c-95de03563fa1 パーティションの場合
title Puppy Linux uuid ad80b51d-d7a2-55aa-858c-95de03563fa1 kernel /precise/vmlinuz psubdir=precise pmedia=atahd pfix=fsck initrd /precise/initrd.gzこれは Puppy Linux が生成する menu.lst の例です。
ディスク番号とパーティション番号で指定する方法です。sda1 等のパーティション表記から記載が可能です。
例: sda4(=(hd0,3))パーティションの /precise 内にある Puppy Linux を起動
title Puppy Linux root (hd0,3) kernel /precise/vmlinuz psubdir=precise pmedia=atahd pfix=fsck initrd /precise/initrd.gzこの方法は GRUB の旧バージョンから存在する記載方法で、これに馴染んでいる方も少なくないかもしれません。
Windows .exe 形式はこの方法です。
パーティションを決め打ちしていないため、Puppy Linux のフォルダを他のパーティションに移しても
ブートローダの設定は変更せずに起動できるというメリットがあります。
よくパーティション構成を変更する場合はこの記載をすると Puppy Linux の移動がしやすく便利です。
例: /Puppy-Linux-571 内にある Puppy Linux を起動。
title Puppy Linux 571JP find --set-root --ignore-floppies --ignore-cd /Puppy-Linux-571/initrd.gz kernel /Puppy-Linux-571/vmlinuz psubdir="Puppy-Linux-571" pfix=fsck initrd /Puppy-Linux-571/initrd.gz bootこれは Windows .exe インストーラが生成する menu.lst の例です。
Puppy Linux から自動生成した状態でも多くのディストリビューションは起動できます。
しかしその場合は CLI の起動画面になっているでしょう。
最近はスプラッシュ画面を出すディストリビューションが多くなってきました。
例えば Ubuntu・Debian では quiet splash を追加する事でスプラッシュ表示になります。
例:
title Ubuntu (sda3) savedefault uuid 1bc0f482-ddf9-44e4-ab58-d7141ba8ce9d kernel /vmlinuz root=/dev/sda3 ro quiet splash initrd /initrd.img
まれに Puppy Linux は Windows と勘違いして生成を行うケースがあります。
起動しない場合は該当する部分を参照してみて下さい。例えば initrd の行がないかもしれません。
Windows を使用している場合、起動が GRUB に切り替わる事のリスクを考える人がいるかもしれません。
Windows のブートローダから Puppy Linux の GRUB4DOS を起動させる方法があります。
実際 Windows .exe インストーラはこの方法を用いて Puppy Linux の項目を増やしています。
下記を手作業で行うよりも簡単に Puppy Linux をインストールできます。
手動で行いたい人のために手順も記載しておきます。
http://download.gna.org/grub4dos/
grldr および grldr.mbr を C:¥ に入れます。
下記のコマンドをコマンドプロンプトで実行します。 "Puppy Linux" の部分は GRUB4DOS の title です。
bcdedit /create /d "Puppy Linux" /application bootsectorこれにより得られた ID を下記 (ID) に含めて下さい。 また、C: から他のドライブに変更している場合はそのドライブ名に変更します。
bcdedit /set (ID) device partition=C: bcdedit /set (ID) path \grldr.mbr bcdedit /displayorder (ID) /addlast
シノバーさんがまとめています。
http://shino.pos.to/linux/grub4dos.html
GRUB4DOS で背景に表示できる画像は .xpm 形式で色数が 14 色以下の 640×480 ピクセルとなっています。
Puppy Linux では標準搭載の mtPaint が減色と .xpm 形式への変換・保存に対応しています。
また、Gimp でも同様に減色と .xpm 形式の変換・保存に対応しています。
Ubuntu 等、ブートローダとして GRUB 2 を採用するディストリビューションも増えてきました。
GRUB 2 から Puppy Linux を直接起動する事も可能です。GRUB 2 は UEFI・GPT 環境にも対応できます。
しかし多くの場合、update-grub は自動的に Puppy Linux を検出しません。手動で追加する必要があります。
/etc/grub.d の custom を含むファイル名を編集します。(例えば 40_custom )
編集した後、管理している Linux から GRUB の情報を更新して下さい。
これで grub.cfg が生成されます。GRUB 2 はこれを参照し、メニューを表示させます。
なお直接 grub.cfg は編集しないで下さい。
管理している Linux のカーネルが更新された際に自動更新され、削除されてしまうからです。
起動順やタイムアウトを変更したい場合は /etc/default/grub に項目があります。
もし前回起動の OS をデフォルトにしたい場合は setdefault を付け、下記のようにすると良いでしょう。
GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true
例: root での起動
menuentry "Precise Puppy Linux 571JP" { set root=(hd0,1) linux /puppy571jp/vmlinuz initrd /puppy571jp/initrd.gz }GRUB 2 ではパーティション番号が 1 からはじまっている事に注意して下さい。
例: UUID を加えた起動
menuentry "Precise Puppy Linux 571JP" { set root=(hd1,3) search --no-floppy --fs-uuid --set fbf5a167-5351-4f37-925b-1c0806c167e2 linux /puppy/vmlinuz pmedia=atahd psubdir=puppy pfix=fsck initrd /puppy/initrd.gz }UUID を付加して場所をより確実にしても良いでしょう。多くの場合ここまで行う必要はないかもしれません。
例: find での起動
menuentry "Puppy Linux" { setdefault search --file --set=root --no-floppy /Puppy-Linux-571/initrd.gz linux /Puppy-Linux-571/vmlinuz psubdir="Puppy-Linux-571" pfix=fsck initrd /Puppy-Linux-571/initrd.gz }Puppy の場所を移動する事が多ければこの記載が便利です。
主に USB メモリで起動する時に syslinux で起動させるケースが多いです。
オリジナル版 Puppy Linux の .iso でも採用されています。
syslinux はメニューを出しませんが、
起動時にプロンプト待ちを行うので、起動オプションを付加するのに便利です。
ただし、ハードディスク・SSD 上では syslinux の使用をおすすめできません。
syslinux.cfg を編集します。isolinux.cfg のファイル名を変更して代用可能です。
extlinux も記載は一緒です。
例: puppy フォルダにある Puppy Linux を起動
default puppy display boot.msg prompt 1 timeout 10 label puppy kernel puppy/vmlinuz append initrd=puppy/initrd.gz pmedia=atahd psubdir=puppysyslinux では initrd.gz が記載されている append の行に起動オプションが入っている事に注意が必要です。
起動に UEFI を採用するパソコンで、グラフィカルなメニューを提供するブートマネージャーです。
OS X 向けに開発された rEFIt の派生ですが、Mac 以外のパソコンでも使用が可能です。
多くの Linux は自動検出され、一覧に表示されますが、Puppy Linux は手動で追加する必要があります。
Mac の場合、EFI パーティション内に設定ファイル refind.conf が存在している事があります。
ターミナルより次のコマンドを入れてみて下さい。
mkdir /Volumes/EFI sudo mount -t msdos /dev/disk0s1 /Volumes/EFIdisk0s1 は Mac によって異なる場合があります。diskutil list として一覧表示が可能です。
refind.conf のメニューエントリーとして Puppy Linux を追記します。
例: ラベル Puppy Linux パーティションの /precise 内にある Puppy Linux を起動
menuentry "Puppy Linux" { icon /precise/puppy.png volume "Puppy Linux" loader /precise/vmlinuz initrd /precise/initrd.gz options "psubdir=precise pmedia=atahd pfix=fsck" }
volume はドライブ番号(3:)や UUID も設定できます。
もし正常に起動しない場合は、その状況に応じて編集を行います。
GRUB 2 では編集後に grub-update で反映が必要な事を忘れないで下さい。
ブートローダ起動そのものに失敗しています。CD や USB メモリで Puppy Linux を起動し、確認して下さい。
起動できる OS から起動し、その OS が記載されている部分を確認し、修正します。困難な場合は CD・USB メモリ起動を行います。