PXEを使ってPCもディスクレスにしよう

YAMAMORI Takenori ●yamamori@kt.rim.or.jp

●最小限のDOSのディスクレスブート

ここで,手っ取り早くディスクレス状態を実感するため, フロッピーディスク1枚で起動するDOSをディスクレスブートしてみましょう. DOS としては,Windows 95 などの起動フロッピーディスクが使えます. これをブートサーバ上で,以下のようにして吸い出します.

# dd if=/dev/fd0 of=/tftpboot/dosfd.img bs=1440k count=1

そしてクライアントマシンを起動し,BpBatchのプロンプトが出たら 以下のようにコマンド入力します.

●BpBatchで最小限のDOSのディスクレスブート

Entering interactive mode (type EXIT or QUIT to resume)
> set CacheNever = "ON"          ← ローカルディスクを使わない
> LoadRamDisk "dosfd.img"        ← TFTPでフロッピーイメージを取得
Loading ramdisk image...
1440 Kb loaded to the ramdisk
> FloppyBoot                     ← フロッピーエミュレーション状態でブート
Booting from floppy disk
  … ディスクレスのDOSが起動する …
※注
BpBatchのマニュアル記述通り, 大文字小文字を使用してコマンド入力していますが, BpBatchでは大文字小文字を区別しないため, すべて小文字で入力して構いません. ただし,TFTPのファイル名についてのみ, UNIXサーバ側で大文字小文字が区別されるため注意して下さい.


これでディスクレスのDOSが起動するはずです. この状態では,A:のフロッピーディスクは, BpBatchのRAMディスクによるエミュレーションになっています. ちょうど,El ToritoのCD-ROMからブートしたような感じに似ていますが, それとは違ってCD-ROMもその他一切のローカルディスクも使用していません.

ここでのポイントは,環境変数CacheNever の値を "ON" に設定していることです. これを設定しないと, BpBatch は TFTP で取得したフロッピーイメージを いったんローカルハードディスクにキャッシュとして書き込もうとしてしまいます.ローカルディスクを持たないディスクレスマシンでは,CacheNever の値を "ON" に設定するのを忘れないでください.


○フロッピーイメージさえあればディスクレスブート可能

なおDOS以外にも, Linuxのインストール用フロッピーのイメージを使ってもディスクレスブートでき, ちゃんとインストーラも起動し,実際にネットワークインストールも可能です. 同様にLinuxの緊急用ブートディスク(ext2フォーマットまたはsyslinux方式のFATフォーマット)でもブートします. 要するに,起動可能なフロッピーディスクイメージを用意すれば,そのイメージファイルを TFTP で取得してディスクレスでブートできるわけです.

ただし,BpBatch でのフロッピーイメージ方式では起動できない OS も存在します. たとえば,Solaris, FreeBSD, NetBSD などのフロッピーイメージでは,エラーが出たり,リセットがかかってしまったりして起動しません. おそらく,これらのブートプログラムにとっては, フロッピーディスクが実はエミュレーションであることがバレてしまい, うまく行かないものと思われます.


To『PXEを使ってPCもディスクレスにしよう』[index]


このページは、技術評論社 「パワーアップFreeBSD」および SoftwareDesign 2000年10月号、11月号『PXEによるネットワークブート設定術』の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 [Home]
yamamori@kt.rim.or.jp