すみません。追記しまくりでぐちゃぐちゃです。
- 【9.30】書き直しました。すみません。
- 目次
う?んと、出番があるかはよくわかりませんが、高齢の(誰がや!w)恒例のあまり役に立ちそうにないマイノリティ向けレポートでござる。...いい意味で(何)
CDドライブのないパソコンで、Windowsの設定など既存環境は一切変えずにKNOPPIXを試したい場合とか。
結構面倒だったりするのではありますが...とりあえず試しためもです。
- 結論かますと...
-
パソコンが2台あるなら、ライブCDの部屋さん版のKNOPPIX Terminal Serverでネットワークブート。1台しかないなら、産総研版のinstall2winでハードディスクから(マルチ)ブートかUSB-KNOPPIXってかんじかな。
- Windowsでisoファイルの展開
-
CDに一旦焼く、またはWinRARなどで展開。下記のツールも便利。
- Windowsでフロッピーイメージの書き込み
- Windowsでsyslinuxのインストール
-
zipファイルをダウンロードして展開。コマンド プロンプトで win32 ディレクトリに移動。下記コマンドを実行
syslinux.exe -ma <USBメモリなどのドライブレター>:
※くれぐれもドライブレターを間違えないように!
Knoppix のブートの流れ
これを理解しておくと、環境に応じて色んな手段が取れます(※と言いつつ内容はあまり自信なし。ごめんなさい。)。こんな場合とか...
- CDブートできない場合
- CDブート可能だが、普通にCDブートしてしまうと起動後にCDドライブをアンマウントできないのでCD-R/RWを使用できない
- BIOSが対応しているブートデバイスを選択
- HDドライブ
- CDドライブ
- FDドライブ
- USBデバイス(FD/CD/HD/USBメモリなど)
- ネットワーク
- ブートセクタ内のブートローダ(IPL)→OSのブートローダが起動
- isolinux (CD)
- syslinux (USBメモリなど)
- Grub (HD,FD,USBメモリなど)
- (ネットワークブートではブート用ROMからpxelinux)
- ブートローダがkernelとinitrd(初期RAMディスク - 「ミニ」ルートイメージ)読み込み
- initrd をRAMディスク上に展開し(ミニ)ルート【
/
】としてマウント- デバイスの初期化など。ここでBIOSでは非対応のUSBなどの認識も可能に(サポートしていれば)
- Knoppix本体のルートイメージファイル(knoppixでは /KNOPPIX/KNOPPIX)を検索してルート【
/
】としてマウント
- ※HDやUSBメモリなどパーティションがある場合は、MBR(マスターブートレコード)のブートローダ(ブートストラップローダ or Grubなど)が読み込まれてから(パーティションの)ブートセクタへ。またはGrubなどから直接kernelを読み込み。
kernelとinitrd読み込み後はUSBなどのデバイスの認識が可能になる。ブートさせるデバイス(ブートローダやkernelなど)とKnoppixイメージの場所はそれぞれ別でもよい。HDからブートしてCDやUSBメモリ内のイメージをルートしてマウント、CDからブートしてHDやUSBメモリ内のKnoppixイメージをマウントすることも可能。
注意点は、ブートデバイスとは別の場所のKnoppixイメージをマウントした際は、ブートデバイス側はマウントされないが、Knoppixイメージ側はアンマウントできない(HDの該当パーティションは書き込み可能でリマウントはできるがリカバリーイメージの復元はできない。日本語ファイル名は正しく表示されない)。
- CDでブートしてHDのイメージをマウント
-
Windowsが健在ならGrub for DOSを使ってHDからブートした方が簡単ですが、Windowsがブートできず、Knoppix上でCD-Rドライブを使いたい場合など。
Knoppix起動後はCDを利用できる。
KNOPPIXディレクトリを削除したCDでブートするか、通常CDでブートしてオプションを指定する。
※無指定だと/dev/hdc などCDドライブが優先かな。
- CDブート時にオプション指定
knoppix tohd=/dev/hda1
- これでKNOPPIXディレクトリが指定したHD上にコピーされてマウントされる
- 次回起動時のオプションは
knoppix fromhd=/dev/hda1
または、
- HDのパーティションのルートへKNOPPIXディレクトリを保存、ブート時にオプション指定
- 例:
knoppix bootfrom=/dev/hda2
多分、USBメモリなどのKnoppixイメージのマウントも可能なはず。/dev/sdaとか /dev/sda1,/dev/sdb1,...
これとは逆に、HDやPXEでブートしてUSBデバイスなどのルートイメージのマウントもできるはず?
- CDブート時にオプション指定
- 最も便利なのは、ネットワークブートかな
-
(ネットワーク上のKnoppixイメージをマウントした場合ですけど)、CDも含めすべてのデバイスが制限されずに利用可能なので。
- さらに便利&軽快動作は、イメージをオンメモリで
-
メモリは1GB以上必要ですが、非常に軽く動きます。デバイスの利用制限もなし。ブート手段は何でも。
- オプション指定:
knoppix toram
- オプション指定:
ネットワークブート
- 必要条件は
- 対象(ブートさせる)マシンがネットワークブート可能であること。または、対応のネットワークブート用ROMが使えること(USBやPCMCIAアダプタはだめ)
- ネットワークで繋がったCDブート(または VMwareなどでisoイメージブート)可能な別マシン。あるいは、tftpd32などでPXEブート用サーバを設定。
- KNOPPIX Terminal Server
-
別マシンでKNOPPIX(ライブCDの部屋さんバージョン)をブートさせてサーバマシンとします。
- Windowsや別のLinux上でTerminal Serverを動かすには...
-
ポイントはNFSマウントをサポートしたkernelとinitrdを取り出すこと。
- Knoppix(ライブCDの部屋さんバージョン)をブートしてTerminal Serverを起動
- /tmp/tftpbootディレクトリをコピー
- コピーしたファイルを参照してDHCP/TFTPサーバを設定(Windowsならtftpd32などで)
- NFSサーバを設定(WindowsならシェアウェアですがhaneWINとか)
- HTTP-FUSE-KNOPPIX
-
HTTP-FUSE-KNOPPIXをブートさせるならサーバマシンは低スペックでも可能です。でもクライアント側の動作はかなり重くてクセがあるのが難点かな?クライアント側のメモリは512MB以上必要。
HTTP-FUSE-KNOPPIX 使用時の注意点(アイコンクリックでマウントができないとか)はこっちに書いてます。
起動フロッピー
ネットワークブート非対応のマシンでも、NIC(LANアダプタ)が内蔵 or PCIボードなら起動フロッピー(またはCD)からネットワークブートできるかもしれません。Grub for DOS を設定すればHDやUSBメモリからネットワークブートも可能。
USBメモリ
- USB-KNOPPIX の作成
-
これが本命ですかな。
- 必要条件
- ブート可能なUSBメモリ。サイズは1GB以上
- 対象マシンがUSBブート可能であること
※本命と言いつつ実はやったことなかったり(汗)。
HTTP-FUSE-KNOPPIX なら8MB程なので少量サイズのメモリなどでも可能です(※ただ、前述の通りクセがあるのでご注意)。
- 必要条件
フロッピー + ハードディスク
Windows 9x などの古めのマシンならこの方法が使えるかも(GUIを使うにはメモリは256MBないと苦しいと思いますけど)。元のisoイメージはライブCDの部屋さんバージョンを使いました。
えーえーこの方法の問題点なのですが、knoppixイメージを保存したパーティションは /cdrom としてマウントされます。日本語名ファイル/ディレクトリはすべて文字化けしてました。オプションを指定してリマウントしてもだめ。ということで専用パーティションを作ったほうがいいかも?
- 必要条件
- ブート可能なフロッピーディスクドライブ
- 対象マシンがフロッピーディスクからブート可能であること
- ハードディスクの空き容量1GB程
設定は以下3点
- GRUB起動ディスク作成(フロッピー)
- menu.lst(.txt) の編集
- ハードディスクへファイルをコピー
- GRUB起動ディスク作成
-
(※FAT32ハードディスクの場合)Windowsで扱えるように下記サイトさんのFATイメージ版を使いました(NTFSはだめ)。
- 裏窓/03_BootFD - KemaSoftさんより grub092.img をダウンロード
- RawWrite for Windows でフロッピーへ書き込み
- KNOPPIX CD内のの boot\isolinux\isolinux.cfg を参照
- フロッピー内の boot\grub\menu.lst に項目を追記
- 【追記】NTFS対応GRUB起動ディスクイメージ
-
おぉすごいものを配布してくれてるサイトがありました。多謝。
ハードディスクがNTFSの場合はこちらを。「FAT FDイメージ」をダウソさせてもらいましょ。
- ハードディスクへファイルをコピー
-
- KNOPPIX CD内の boot 及び KNOPPIX ディレクトリを対象ドライブのルートへコピー
元の menu.lst がこんなの。
#
# GNU grub configuration file
#
# global settings
timeout 30
default 0
color yellow/blue yellow/cyan
--------以下略--------
こんなかんじに編集追記
# # GNU grub configuration file # # global settings timeout 30 default 0 color yellow/blue yellow/cyan # knoppix title KNOPPIX kernel (hd0,1)/boot/isolinux/linux ramdisk_size=100000 init=/etc/init lang=ja-utf8 im=scim apm=power-off vga=791 nomce loglevel=0 quiet BOOT_IMAGE=knoppix initrd (hd0,1)/boot/isolinux/minirt.gz # knoppix title KNOPPIX fluxbox kernel (hd0,1)/boot/isolinux/linux ramdisk_size=100000 init=/etc/init lang=ja-utf8 im=scim apm=power-off vga=normal nomce loglevel=0 quiet BOOT_IMAGE=knoppix desktop=fluxbox initrd (hd0,1)/boot/isolinux/minirt.gz # knoppix text mode title KNOPPIX text kernel (hd0,1)/boot/isolinux/linux ramdisk_size=100000 init=/etc/init lang=ja-utf8 im=scim apm=power-off vga=normal nomce loglevel=0 quiet BOOT_IMAGE=knoppix 2 initrd (hd0,1)/boot/isolinux/minirt.gz --------以下略--------
※【(hd0,1)】はあくまで私の環境での場合で、1台目のハードディスクの2番目の基本パーティション(Windows上ではDドライブとか)です。1台目1番目のパーティションなら【(hd0,0)】となります(※拡張パーティションの場合は(hd0,4)から)。起動できない場合はオプション指定の変更が必要になるかも。
GRUBの選択画面でEnterでデフォルト設定(コードはUTF-8)のKNOPPIXが起動します。
USBメモリ + ハードディスク
【追記】産総研版の install2win を実行すれば、FD/CDともなしでハードディスクからの直接ブート(NTLDR→boot.iniで選択→GRUB)できました。なので、この方法はボツにすべきかな。すみません。
多分まだまだ確認が足りない気がしてます。bootfromオプションでisoイメージからブート可能なのではないかなと。成功してませんけど、力足りない。というか普通にUSBメモリのみでやるのが賢い選択だったりして(汗)。
えーとこの方法もちと問題ありーのです。ブート用ファイルをコピーしたパーティションが /cdrom としてマウントされます。この結果通常のマウント操作ができなくなるようです。/cdrom を開いた場合、日本語名ファイル/ディレクトリは、コンソール/Konqueror とも表示されませんでした(Samba上でも同じ)。専用パーティション作ったほうがよさそう。多分もっとうまい方法があると思われる次第です(汗ばっかし)。
GRUBはNTFSからkernelの読み込みができないようなので*1、syslinux + USBメモリを使いました。元のisoイメージはライブCDの部屋さんバージョンを使いました。
- 必要条件
- ブート可能なUSBメモリ
- 対象マシンがUSBブート可能であること
- ハードディスクの空き容量1GB程
設定は以下4点
- USBメモリへKNOPPIXのブート関連ファイルをコピー
- isolinux.cfgをsyslinux.cfgへリネーム
- USBメモリへ syslinux のインストール
- ハードディスクへファイルをコピー
- USBメモリの設定
-
- KNOPPIX CD内の
boot ディレクトリboot\isolinuxディレクトリ内のファイルをUSBメモリのルートへコピー boot\isolinux\isolinux.cfgをUSBメモリのルートへコピーしてisolinux.cfgをsyslinux.cfg へリネーム- USBメモリへ syslinux をインストール
- KNOPPIX CD内の
- ハードディスクへファイルをコピー
-
- KNOPPIX CD内の KNOPPIX ディレクトリを対象ドライブのルートへコピー
boot: プロンプトでEnterキーでデフォルト設定(コードはUTF-8)のKNOPPIXが起動します。起動ラベルなどはsyslinux.cfgを参照で。
ハードディスクのみ(Windows 2000/XP)
batファイルを使わず手動でする場合は
- Grub for DOSのgrldrとmenu.lstをCドライブのルートへコピー
- C:\boot.iniにGrubのエントリを追記
- CD内のboot,KNOPPIXディレクトリをドライブのルートへコピー
- menu.lstを編集
最初に試すべきものを忘れてました。すみませんすみません。「Windowsの設定など既存環境は一切変えずに」にではないのですけど、Windows 2000/XP 上から実行可能です。
boot.ini は書き換えられると言っても追記するだけなので問題ないと思います(残っても消せばいいだけなので)。MBR(のブートストラップ)は書き換えません。というわけで影響とか心配しなくてよさそうなかんじです?
【ご注意】但し、(Windows上の)Cドライブが/cdrom としてマウントされるので、やはり日本語名ファイル/フォルダが全く表示できません。(※FAT32だと文字化けかな?)
あと、この産総研版はなぜか Terminal Server がなぜか使えない(クライアントがブートできない)点がちょっと惜しいかな。
Grub for DOSをWindows XP/2000 のntldrから起動させます。
産総研版を使います。
- download-iso
- HTTP ダウンロード
- knoppix_v5.1.1CD_20070104-20070122+IPAFont_AC20070123.iso
- CD内の
install2win.bat
を実行。10分程でコピーが終わる - 再起動すると、ブート選択画面(Windowsのboot.ini)が出る
- 「GNU GRUB for KNOPPIX」を選択すると、今度はGRUB画面が出現
産総研版の方はデフォルト euc-jp なので menu.lst に UTF-8 用も追記しとくといいかも。
私の環境では C:\menulst でした。
default=0
timeout=10
title KNOPPIX(ja,normal)
root (hd0,0)
kernel /knoppix/linux ramdisk_size=100000 init=/etc/init ro lang=ja vga=791
initrd /knoppix/minirt.gz
--- 省略 ---
こんなかんじで。
default=0
timeout=10
title KNOPPIX(ja,normal)
root (hd0,0)
kernel /knoppix/linux ramdisk_size=100000 init=/etc/init ro lang=ja vga=791
initrd /knoppix/minirt.gz
title KNOPPIX(UTF-8)
root (hd0,0)
kernel /knoppix/linux ramdisk_size=100000 init=/etc/init ro lang=ja.utf8 vga=791
initrd /knoppix/minirt.gz
--- 省略 ---
アンインストールは unsetup.bat の実行でいいようです。
これって ファイルをDドライブに移動してもブートできるかなぁ。Cドライブがきっちり見えないのは嫌なので...後で試してみます。
- 【追記の追記】
-
knoppixディレクトリを(Windows上での)CドライブからDドライブへ移動。menu.lstの
root (hd0,0)
をroot (hd0,1)
に変更してブートしたところ、Cドライブのマウント/日本語ファイル名表示が可能になりました(/cdrom としてマウントされたDドライブは日本語ファイル名表示だめ)。マウントはデスクトップのアイコンからではなく、Konqueror→移動→記憶メディア、または /etc/fstab を確認してコマンドで。※ファイルを入れ替えたらライブCDの部屋さん版もブートできましたー。
*1:もしできるなら誰か教えてクダサイクダサイ!→教えていただき感謝です。