前回の記事で Puppy Linuxをネットワーク・ブートし、RAM上で走らせることができました。 今回はこれをターゲットのハードディスク上にインストールします。
ターゲットのメインのOSは Windows 2000 です。 ディスクを FAT32でフォーマットして Windows 2000をインストール。 その一部エリアに Puppy Linuxを組み込みます(Frugal install)。
こちらの syslinuxを使う方法はNTFSフォーマットには対応しませんし、 Windowsのブートレコードを書き換えてしまうので、おすすめできません。 内蔵ハードディスクにPuppy Linuxをインストールするには Grab4Dos編 をご覧ください。 USBメモリにPuppy Linuxをインストールするには USBメモリに簡単インストール をご覧ください。
Puppy Linux のインストールには Frugal インストールとフル・インストールとがあります。 フル・インストールはPuppy Linux用が1つのパーティションを占有するもので、 Frugalインストールは、1つのパーティションを他のOSと共有するものです。
今回ターゲットの IBM ThinkPad X21 はメモリが320MBに増設されているものの、 内蔵ハードディスクは10GBしかありません。 Windows 2000も残しておきたかったので、これをメインのOSとし、Puppy Linuxをそこに Frugalインストールすることにしました。
既存のデータのうち要らないものを捨てるとか整理、マイドキュメントに集めます。 バックアップはネットワーク上の別のコンピュータのWindows共有あるいはSambaを介してコピーを取りました。
Windows 2000のインストールCDを使って、パーティションを FAT32でフォーマットして新規インストールします。 10GBフルには使わず、1GBの予備を空けておきました。
Puppy LinuxはNTFSにもインストール可能ですが、起動に使うsyslinuxがFATにしか対応していないので、こちらでフォーマットします。
あらかじめ焼いていた Puppy Linux CDで起動します。 ThinkPad X21では液晶パネルを自動認識しないので、LCD Panel 1024x768 を手動で選択します。
ユニバーサルインストーラーから Frugalインストールを選んでも良いですが、手動でファイルをコピーするほうが分かりやすいかもしれません。 sda1(puppyがretroバージョンの場合はhda1)のトップに puppy という名前のディレクトリを作り、そこに次の3つのファイルを集めます。 いずれもCDの中にあります。例は puppy-4.1.2.1-JP.iso から作ったCDの場合です。
次は起動の設定です。CDの中にある次の2つのファイルをsda1(あるいはhda1)のトップにコピーします
コピーしたisolinux.cfg を syslinux.cfg にリネームし、中身を次のように変更します。
default puppy display boot.msg prompt 1 label puppy kernel puppy/vmlinuz append initrd=puppy/initrd.gz pmedia=atahd psubdir=puppy timeout 50
sda1をアンマウントした後、仮想端末から次のように打ち込みます。 retroの場合はsda1のところがhda1となります。
syslinux /dev/sda1
CDをアンマウント、取り出してから再起動します。 終了時に pup_save.2fsファイルの作成を問われます。 最後の確認で CHANGE FOLDER を選択し、 /puppy ディレクトリに作成させます。
このpup_save.2fsファイルは次回起動時に読み込まれ、Puppy Linux動作中はこれをいじることができません。 また、このファイルが存在するパーティションはアンマウントできません。 syslinuxコマンドの再実行やパーティションをいじる場合、あるいは pup_save.2fsファイル のバックアップを取るときなどは Puppyの起動時に pfix=ram オプションを付けて起動します。日本語キーボードのとき'='はその右隣の'^'キーのところになっています。
boot: puppy pfix=ram
このモードで起動したときは、終了時に pup_save.2fs に保存するかどうかの聞いに No で答えないと pup_save.2fs が初期化されてしまうので、注意が必要です。
これで Puppy Linuxは起動できるが Windowsは起動できなくなっています。 Windows 2000 インストールディスクを使って、 Windowsを修復します。 回復コンソール を使う場合は fixboot と fixmbr を実行します。 コマンドを忘れたら help で一覧が出るので思い出すかも。
Windows XPの場合、こちらのページが分かり易く説明されています。
修復後に再起動すると、起動メニューに「Windows 2000」とともに 「ドライブCにあるどこの馬の骨かもしれないOS」という選択肢が現れます。こちらが Puppy Linux です。
メニューの表示が気に入らなければ、Puppy Linuxを起動して、/mnt/homeにある boot.ini を編集します。 日本語は化けているでしょう。日本語表示もできなくはないですが、ラテン文字と数字だけを使うのが無難かと。
以上紹介した syslinuxを使う方法はNTFSフォーマットには対応しませんし、 Windowsのブートレコードをいちど書き換えてしまうので、おすすめできません。 内蔵ハードディスクにPuppy Linuxをインストールするには Grab4Dos編 をご覧ください。