最終更新日:

KNOPPIX実験室


もうひとつのHDインストール

FAT32インストール

(KNOPPIX 3.4以降の場合)

KNOPPIXをHDからブートできるようにする手段というと、knx-hdinstallを実行する方法、いわゆるHDインストールが有名なようですが、あれは大変そうですね。 ディスクもメモリもたくさん使うようだし、時間も相当にかかりそうです。KNOPPIXのCDを隅々までカスタマイズしようとしたら、HDインストールが必要になるのは分かるのですが、私の場合、以下のような理由から、この方法は早い段階であきらめてしまいました。

単にCDが遅いからHDを使って速くしたいだけなら、もう一つの方法があります。CDの内容をHDにコピーし、grubをつかって起動する方法です。cloopでマウントされるKNOPPIXの中核ファイルKNOPPIX/KNOPPIXも、そのままコピーしてしまいます。ブート時は、このコピーされたHD上のKNOPPIX/KNOPPIXをcloopでマウントしてKNOPPIXを起動します。このコピー先のHDにはext2パーティションの他に、FATやFAT32パーティションも使えます。私の場合は、Windowsをメインに使っている関係から、もっぱら、FAT32パーティションを使っています。

この方法でのインストール方法を以下に示します。なお、以下の説明では、下表のようなドライブ構成になっていることを想定して説明します。実際のドライブ構成に合わせて読み替えてください。

ドライブ 項目 内容
e: CDROM KNOPPIX起動CDを入れておきます。
d: FAT32
パーティション
KNOPPIXをインストールするFAT32パーティションです。空きは1GB程度残っています。
KNOPPIXからは/dev/hda2でアクセスします。

 

ステップ1

Windowsを起動し、以下のファイルをFAT32パーティションにコピーします。

 

内容 コピー先パス名 コピー元 備考
KNOPPIX本体 d:\KNOPPIX\KNOPPIX e:\KNOPPIX\KNOPPIX  
Linuxカーネル d:\boot\linux24 e:\boot\isolinux\linux24  カーネル 2.4.x
d:\boot\linux26 e:\boot\isolinux\linux26  カーネル 2.6.x
ルート
ファイルシステム
d:\boot\minirt24.gz

minirt24.gz  md5
   3.7-20041208-20050217版

   (カーネル2.4.27対応)

最終更新日

FAT32ブート用に一部を書き換えたminirt2x.gzです。KNOPPIX 3.2/3.3の頃に、実験1-1で作成し、実験1-3実験1-4実験1-6で更新してきたminiroot.gzをKNOPPIX 3.4用に移植したものへリンクしています。過去の更新履歴などは、これらのページを参照してください。(最新情報は実験1-6にあります。)
e:\boot\isolinux\minirt2x.gzをコピーしても起動はしますが、本実験室で提供するminirt2x.gzでは、/etc/mtabや/etc/fstabが実態と合わなくなるために生じる、いくつかの問題を解決しています。

また、/cdrom内にスワップファイルや継続的ホームディレクトリを作成したり、KNOPPIXの設定を保存できるようにするための修正版のmkdosswapfile、mkpersistenthome、saveconfig、knoppix-autoconfigを組み込んであります。

詳細は実験1-1実験1-3実験1-4実験1-6を参照してください。

d:\boot\minirt26.gz

 

minirt26.gz  md5
   3.7-20041208-20050217版
   (カーネル2.6.9対応)

最終更新日

各種設定ファイル 本実験室で提供している
minirt2x.gzには組み込み済み
/linuxrc2.d/

           linuxrc2
          最終更新日


/linuxrc2.d/bin/

DO
DO2
mkwritable
teelog
patch.sh

各種のシステム設定を適用するスクリプト(linuxrc2)と、その関連ファイルです。 これらのファイルは、本実験室で 現在 提供しているminirt2x.gzには組み込まれています。
/linuxrc2.d/files.d/etc/init.d/
          knoppix-autoconfig
          最終更新日


/linuxrc2.d/files.d/usr/sbin/
          mkdosswapfile
          最終更新日


          mkpersistenthome
          最終更新日


          saveconfig
          最終更新日

/cdrom内にスワップファイルや継続的ホームディレクトリを作成したり、KNOPPIXの設定を保存できるようにするための修正版のファイルです。
KDEの背景
イメージファイル
d:\KNOPPIX\background.jpg 任意のイメージファイル
をご用意ください。
イメージサイズがスクリーンサイズと一致しない場合、スクリーンサイズに合わせて変形されます。
KNOPPIX標準のイメージファイルは
e:\KNOPPIX\background.jpgです。
GRUBの
インストール用
shellスクリプト
d:\boot\mygrub-install.sh mygrubinstall.sh

最終更新日

 GRUBをMBRにインストールするシェル手続きです。このシェル手続きと同じパーティションのbootフォルダにvmlinuzとminiroot.gzが存在することが前提で、それに合わせてgrub/menu.lstを自動修正したのち、 GRUBをMBRにインストールします。
ブートメニューの
定義ファイル
d:\boot\grub\menu.lst grub/menu.lst 

最終更新日

このファイルを編集すればブートメニューをカスタマイズできます。編集は通常のテキストエディタで行えます。

現在、私が使っているgrubの設定ファイルをサンプルとしてアップしておきます。

ブートオプションの指定方法はHowto1-3を参照してください。

日本語サンプル d:\Aist\ e:\Aist\ KNOPPIXでOpen Officeなどの日本語サンプルファイルを使用したい場合、ディレクトリ全体をコピーしてください。
ご注意
カスタマイズのために、テキストファイルを編集する場合、改行コードと文字コードの違いにご注意ください。
すべて、改行コードはLFのみ、日本語文字コードはEUCとなっております。

 

 

ステップ2

KNOPPIXをCDから起動し、GRUBをインストールします。

以下のように操作してください。

操作 説明
KNOPPIXを CDROMから起動します。 説明しなくても分かりますよね。
起動用のFAT32ドライブをマウントします。
マウントしたドライブを更新モードに切り替えます。
マウントしたドライブの中のmygrubinstall.shを実行します。

具体的にはスーパーユーザモードで以下のコマンドを入力します。
(マウントしたドライブが/dev/hda2の場合の例です)

# cd /mnt/hda2/boot
# ./mygrubinstall.sh

これを実行すると、以下の処理が実行されます。
  • ddコマンドでMBRの内容をバックアップします。
    (ただし、最大9世代まで)
  • grub/device.mapを作成します。
  • grub/menu.lstの中の起動ドライブ名「/dev/hda*」をマウントしたドライブ名に更新します。
  • grub-installを実行してGRUBをMBRにインストールします。

 

以上でFAT32へのインストールは完了です。KNOPPIXを停止させ、CDROMを取り出してから再起動すると、ハードディスクから起動できるようになっています。   

 



ステップ2-代替

KNOPPIXをCDから起動できない場合の、GRUBのインストール方法について。

ステップ2ではGRUBをMBRにインストールするためにCDからKNOPPIXを起動しています。しかし、何らかの理由でKNOPPIXをCDから起動できない場合、どうすればよいのでしょうか。

単にCDブートできないだけなら、ブートFDを作って、フロッピーブートすればよいだけですが、Linuxのカーネルに制御が渡った後でCDROMをマウントできない場合は、困ってしまいますね。それに、KNOPPIX 3.4では、ちゃんとKNOPPIXが起動するマシンが無いと、ブートFDを作ることもできないので、

例えば、ノートパソコンでSCSI CDROMを外付けする場合、PCMCIAでSCSIインタフェースを増設して、そこにCDROMを接続することになると思いますが、このような場合、現在のKNOPPIXでは、ブート時にCDROMをマウントすることができません。KNOPPIXではPCMCIAのドライバを組み込むのがknoppix-autoconfigだからです。ブートするためにはlinuxrcの中でcdromをマウントする前にPCMCIAのドライバを組み込む必要があります。

(参考)
  • KNOPPIXのブート処理での初期化は、以下の順に行われます。
    1. カーネルによるシステム初期化
    2. Linuxrcスクリプトによる初期化(CDROMと、cloopファイル(KNOPPIX/KNOPPIX)のマウントはこの処理中に行われます。)
    3. knoppix-autoconfigスクリプトによる初期化
  • linuxrcスクリプトのなかでPCMCIAのドライバを組み込むlinuxは非常に少ないと思います。red hatなどのかなりメジャーなlinuxでも、これはやっていなかったと思います。これをやっている数少ないLinuxのひとつはメディアラボのMLD mini 2.0というlinuxです。このLinuxはディストリビューションとしての出来はKNOPPIXに比べると見劣りしますが、ブートで対応するデバイスが豊富という特徴があり、本サイトのブート関係の実験では、このLinuxのramimage.gz(KNOPPIXのminiroot.gzに相当)を参考にさせていただいます。

 

しかし、このようなマシンでも、FAT32パーティションがあり、空きが十分に残っていれば、FAT32インストールしてGRUBで起動することはできるはずです。しかし、ステップ2の#1「KNOPPIXを CDROMから起動します。」は実行できないので工夫が必要になります。

他にKNOPPIX(または他のLinux)が起動するマシンが1台以上あるなら、HDDを一時的にそのマシンに接続してGRUBをインストールすることができます。しかし、他のマシンに頼らずに単独でGRUBをインストールすることはできないのでしょうか。

1つ方法があります。GRUBをフロッピーディスクにインストールしておき、FDブートで立ち上げたGRUBを使ってKNOPPIXを起動するのです。このためのGRUBのブートFDイメージはLinuxがあれば簡単に作れますし、1つ作っておけば、いろいろなマシンで便利に使えます。

このため、確かインターネットにもいくつかアップされていたと思い、検索してみたのですが、なぜか見つかりません。古いバージョンのものはあるのですが、現在、KNOPPIXで使っている0.9xのものが見つからないのです。以前、私もダウンロードして使った覚えがあるのですが、どうなってしまったのでしょう。

止むを得ないので、KNOPPIXを使ってGRUBのブートFDイメージを作って本実験室にアップしました。私が使っているFAT32ブート用のGRUBの設定を、そのまま使ってフロッピーディスクにインストールしたものです。これを使って、以下のように操作することで、GRUBをMBRにインストールできます。

操作 説明
GRUBのブートFDを作ります。 (1)GRUBのブートFDイメージをダウンロードして解凍します。

(2)rawrite.exeを使って、GRUBのブートFDイメージをフロッピーディスクに書き込みます。
rawrite.exeはKNOPPIX 3.3までは、CDROMのKNOPPIXディレクトリにあったのですが、KNOPPIX 3.4からはなくなってしまいましたね。しかし、インターネットから、簡単にダウンロードできるようなので、「rawrite.exe」をキーにして検索してダウンロードしてください。

a:\boot\grub\menu.lstをカスタマイズします。

 

現在のmenu.lstには、私がFAT32からKNOPPIXを起動するときに使っているものがそのまま入っているので、これを参考にカスタマイズしてください。特にFAT32パーティションを指定する「(hd0,1)」「/dev/hda2」は注意してカスタマイズしてください。
title Knoppix 3.3 japanese (home=ramdisk)
kernel (hd0,1)/boot/vmlinuz ro lang=ja cdrom=/dev/hda2 init=/etc/init hdb=scsi hdc=scsi hdd=scsi noapic scsi nofirewire linuxrc2 mvetc usb2.0 vga=normal screen=1024x768 dma nocddma
initrd (hd0,1)/boot/miniroot.gz

なお、GRUBの制御文については、a:\boot\grub.html(英文)を参照してください。

FDブートでGRUBを立ち上げ、KNOPPIXを起動します。 説明しなくても分かりますよね。
起動用のFAT32ドライブをマウントします。
マウントしたドライブを更新モードに切り替えます。
マウントしたドライブの中のmygrubinstall.shを実行します。

具体的にはスーパーユーザモードで以下のコマンドを入力します。(マウントしたドライブが/dev/hda2の場合の例です)

# cd /mnt/hda2/boot
# mygrubinstall.sh

これを実行すると、以下の処理が実行されます。
  • ddコマンドでMBRの内容をバックアップします。
    (ただし、最大9世代まで)
  • grub/device.mapを作成します。
  • grub/menu.lstの中の起動ドライブ名「/dev/hda*」をマウントしたドライブ名に更新します。
  • grub-installを実行してGRUBをMBRにインストールします。

 

以上でFAT32へのインストールは完了です。KNOPPIXを停止させ、フロッピーディスクを取り出してから再起動すると、ハードディスクから起動できるようになっています。