"ネットワークを経由してオペレーティングシステムをコンピュータにブートさせるネットワークブートシステムのネットワークブート方法であって、前記ネットワークブートシステムは、複数の前記オペレーティングシステムを、中間コード形式の第1のモジュール、および、前記コンピュータで実行可能な形式である第2のモジュールに分けて格納している記憶手段、を備え、前記コンピュータから受信したブートリクエストに基づいて、前記コンピュータのハードウェア構成を調査するエージェントプログラムを決定するステップと、前記エージェントプログラムを前記コンピュータに送信するステップと、前記エージェントプログラムから、前記コンピュータのハードウェア構成を受信するステップと、前記記憶手段から、前記コンピュータのハードウェア構成に対応する前記第1のモジュールと前記第2のモジュールとを読み出すステップと、前記第1のモジュールをコンパイルしてブート先の前記コンピュータで実行可能な形式に変換し、前記第2のモジュールと組み合わせて前記コンピュータごとの前記オペレーティングシステムを前記記憶手段に作成するステップと、前記コンピュータにブート指示を送信し、前記ネットワークを介して前記オペレーティングシステムをブートさせるステップと、を実行することを特徴とするネットワークブート方法。前記コンピュータから受信した前記ブートリクエストは、CPUCentralProcessingUnitの種別の情報を格納していることを特徴とする請求項1に記載のネットワークブート方法。前記第1のモジュールは、ハードウェア依存のないOSの上位層のモジュールであることを特徴とする請求項1または請求項2に記載のネットワークブート方法。前記第2のモジュールは、ドライバやHALHardwareAbstractionLayerであることを特徴とする請求項1ないし請求項3のいずれか1項に記載のネットワークブート方法。前記コンピュータに送信する前記ブート指示は、前記オペレーティングシステムを構成する前記第1のモジュールおよび前記第2のモジュールの前記記憶手段における格納先アドレスを含んでいることを特徴とする請求項1ないし請求項4のいずれか1項に記載のネットワークブート方法。請求項1ないし請求項5のいずれか1項に記載のネットワークブート方法は更に、前記コンピュータからから電源をオフにする旨の通知を受けたときに、前記オペレーティングシステムを構成する前記第1のモジュールおよび前記第2のモジュールを前記記憶手段から削除するステップを実行することを特徴とするネットワークブート方法。ネットワークを経由してオペレーティングシステムをコンピュータにブートさせるネットワークブートシステムであって、複数の前記オペレーティングシステムを、中間コード形式の第1のモジュール、および、前記コンピュータで実行可能な形式である第2のモジュールに分けて格納している記憶手段と、前記コンピュータから受信したブートリクエストに基づいて、前記コンピュータのハードウェア構成を調査するエージェントプログラムを決定して前記コンピュータに送信し、前記エージェントプログラムから、前記コンピュータのハードウェア構成を受信するクライアント連絡部100と、前記記憶手段からブート先の前記コンピュータのハードウェア構成に対応する前記第1のモジュールおよび前記第2のモジュールを読み出し、前記第1のモジュールをコンパイルしてブート先の前記コンピュータで実行可能な形式に変換し、前記第2のモジュールと組み合わせて前記コンピュータごとの前記オペレーティングシステムを前記記憶手段に作成し、前記コンピュータにブート指示を送信し、前記ネットワークを介して前記オペレーティングシステムをブートさせるOS作成手段とを備えたことを特徴とするネットワークブートシステム。前記コンピュータから受信した前記ブートリクエストは、CPUCentralProcessingUnitの種別の情報を格納していることを特徴とする請求項7に記載のネットワークブートシステム。前記第1のモジュールは、ハードウェア依存のないOSの上位層のモジュールであることを特徴とする請求項7または請求項8に記載のネットワークブートシステム。前記第2のモジュールは、ドライバやHALHardwareAbstractionLayerであることを特徴とする請求項7ないし請求項9のいずれか1項に記載のネットワークブートシステム。前記コンピュータに送信する前記ブート指示は、前記オペレーティングシステムを構成する前記第1のモジュールおよび前記第2のモジュールの前記記憶手段における格納先アドレスを含んでいる段落0045ことを特徴とする請求項7ないし請求項10のいずれか1項に記載のネットワークブートシステム。請求項7ないし請求項11のいずれか1項に記載のネットワークブートシステムは更に、前記コンピュータからから電源をオフにする旨の通知を受けたときに、前記オペレーティングシステムを構成する前記第1のモジュールおよび前記第2のモジュールを前記記憶手段から削除することを特徴とするネットワークブートシステム。請求項1ないし請求項6のいずれか1項に記載のネットワークブート方法の前記各ステップを、コンピュータである前記ネットワークブートシステムに実行させるためのネットワークブートプログラム。前記特許文献1に記載の技術では、コンピュータの種類が増えるに従って管理するOSも増えてしまうため、管理するデータ量が増えて記憶領域を圧迫し、管理が煩雑になるという不具合があった。そのため、本発明は、複数のコンピュータがブートするためのOSを少なくして、OSを格納する記憶領域を節約し、簡易にOSを管理することを課題とする。前記課題を解決し、本発明の目的を達成するために、以下のように構成した。すなわち、本発明のネットワークブート方法は、ネットワークを経由してオペレーティングシステムをコンピュータにブートさせるネットワークブートシステムのネットワークブート方法であって、前記ネットワークブートシステムは、複数の前記オペレーティングシステムを、中間コード形式の第1のモジュール、および、前記コンピュータで実行可能な形式である第2のモジュールに分けて格納している記憶手段を備え、前記コンピュータから受信したブートリクエストに基づいて、前記コンピュータのハードウェア構成を調査するエージェントプログラムを決定するステップと、前記エージェントプログラムを前記コンピュータに送信するステップと、前記エージェントプログラムから、前記コンピュータのハードウェア構成を受信するステップと、前記記憶手段から、前記コンピュータのハードウェア構成に対応する前記第1のモジュールと前記第2のモジュールとを読み出すステップと、前記第1のモジュールをコンパイルしてブート先の前記コンピュータで実行可能な形式に変換し、前記第2のモジュールと組み合わせて前記コンピュータごとの前記オペレーティングシステムを前記記憶手段に作成するステップと、前記コンピュータにブート指示を送信し、前記ネットワークを介して前記オペレーティングシステムをブートさせるステップとを実行することを特徴とする。その他の手段については、発明を実施するための形態のなかで説明する。本発明によれば、ハードウェア構成の異なる複数のコンピュータがブートするためのOSを少なくして、OSを格納する記憶領域を節約し、簡易にOSを管理できる。以下、本発明の実施形態のネットワークブートシステムについて図面を参照して説明する。まず、図1に示す全体構成図に従って、ネットワークブートシステム10をサーバとして構成する一例のクライアントサーバシステムを説明する。なお、以下の説明では、構成要素に対応する図番について特に断りがなければ図1を参照することとする。このクライアントサーバシステムは、ネットワークブートシステム10と、ネットワーク20と、クライアント30と、OS格納ディスク40とで構成されている。そして、OSの構成要素となるモジュール単位で管理し、クライアント30ごとに対応するOSを作成するネットワークブートシステム10が、クライアント30からのブートリクエストに従ってネットワーク20を経由してOS格納ディスク40に作成したOSを格納し、クライアント30にOS格納ディスク40からOSをブートさせるようになっている。次に、このクライアントサーバシステムの各構成について詳細に説明する。なお、ここでは、ネットワークブートシステム10は、1台の装置サーバを想定して説明するが、各機能を実現する複数のコンピュータによって構成し、LANやインターネットで互いを接続して分散処理可能な構成としてもよい。クライアント30は、1台として説明するが、その台数に制限はない。OS格納ディスク40は、例えば、ファイルサーバを用いることとするが、OSを格納することが可能であれば、他のものを用いてもよい。また、OS格納ディスク40は、ネットワークブートシステム10にネットワーク20を経由して接続する外部に備える構成として説明するが、ネットワークブートシステム10の内部に備える構成としてもよい。まず、ネットワークブートシステム10の構成を説明する。ネットワークブートシステム10は、一般的なコンピュータであって、図示しないCPUCentralProcessingUnit、HDDHardDiskDrive、インターフェース等のハードウェアから構成され、OSをモジュールとして管理してブート先のコンピュータのハードウェア構成に従ってモジュールを組み合わせてOSを作成するためのネットワークブートプログラムを実行することで、後記するネットワークブート処理を実現するものである。そのため、このネットワークブートシステム10は、クライアント30とのやりとりを行うクライアント連絡部通信手段100と、クライアント30からのブートリクエストに従って、クライアント30のハードウェア構成を調査結果デバイスIDやOS種類等の構成情報として抽出するためのエージェントプログラムを作成するOS構成情報作成手段200と、ブートリクエストと構成情報とに従ってOSを作成してOS格納ディスク40上に格納するOS作成手段300と、クライアント30がブートするOS種類を特定するための一覧を格納したクライアントOSテーブル400とを機能として備えている。以下、このネットワークブートシステム10の各機能について説明する。クライアント連絡部100は、ネットワーク20を経由してクライアント30からブートリクエストを受け取り、クライアント30へブート指示を送信する。また、クライアント連絡部100は、クライアント30にどのOSをブートさせるかという判断をクライアントOSテーブル400を用いて行う。例えば、ブートリクエストに含まれる後記マシンタイプをキーとしてクライアントOSテーブル400を検索しOS種類を抽出する。そして、クライアント連絡部100は、抽出したOS種類のOSをクライアント30にブートさせると判断し、抽出したOS種類とブートリクエストとを、OS構成情報作成手段200とOS作成手段300とに渡す。OS構成情報作成手段200は、クライアント30からのブートリクエストに従って、クライアント30のハードウェア構成を示すハードウェア構成情報を調査結果として取得するためのエージェントプログラムを抽出するものであり、OS構成情報作成部210と、構成調査エージェントテーブル220とから構成されている。OS構成情報作成部210は、クライアント30のハードウェア構成を構成情報調査結果として得るために適切なエージェントプログラムを構成調査エージェントテーブル220から抽出して、クライアント30に送るものである。構成調査エージェントテーブル220には、図2に示すように、CpuType1等のCPU種類221と、マシン1等のマシンタイプ222とに、ファイル名Type1Checkexe等のエージェントプログラム223が関係付けられている。OS作成手段300は、クライアント30にブートさせるOSを作成して、作成したOSをOS格納ディスク40に格納するものであり、OS作成部310と、コンパイル部320と、共通モジュールテーブル330と、ハードウェア依存モジュールテーブル340とから構成されている。以下、OS作成手段300の各構成について説明する。OS作成部310は、クライアント30から送られてくるブートリクエストおよびハードウェア構成情報に基づいて、共通モジュールテーブル330から共通モジュールを抽出すると共にハードウェア依存モジュールテーブル340から依存モジュールを抽出し、抽出した共通モジュールと依存モジュールとを組み合わせる。なお、共通モジュールは、ハードウェアに依存しないOSの上位層のモジュールであり、中間コード形式としている。また、ここでは、同様に、依存モジュールも中間コード形式として説明する。また、このOS作成部310は、双方のモジュールを組み合わせたOS中間コードをコンパイル部320にコンパイルさせて、クライアント30向けのOSを作成する。さらに、このOS作成部310は、作成したOSをOS格納ディスク40に格納すると共にクライアント30にブート指示を出す。このブート指示には、OS格納ディスク40内のOSの格納先アドレスが含まれる。なお、ここでは、共通モジュールと依存モジュールとの双方のモジュールを組み合わせてコンパイルすることとしたが、実行可能な形式となるのであれば、各テーブルに格納されているモジュールの形式は問わない。例えば、依存モジュールは、中間コード形式ではなく、ハードウェアに依存した実行形式としてもよい。特に、ドライバは、ハードウェアを仮想化するために使用されるOSのコンポーネントであり、ハードウェアに非常に密着しているため、実行形式とするのが好ましい。ここで、前記したコンパイル部320、共通モジュールテーブル330、ハードウェア依存モジュールテーブル340について順を追って詳述する。コンパイル部320は、OS作成部310から渡される中間コードをクライアント30のハードウェア上で実行可能な形式にコンパイルするものである。なお、ここでは、コンパイルして作成されたOSは、OS作成部310を経由してOS格納ディスク40に格納するものとして説明するが、OS作成部310を介さずにコンパイル部320がOS格納ディスク40に格納させるようにしてもよい。共通モジュールテーブル330は、共通モジュール抽出のために必要な一覧であり、クライアント30がブートするためのOSを構成するモジュールの中で、ハードウェア依存のないOSの上位層のモジュールを中間コードの形で格納するものである。この共通モジュールテーブル330には、具体的には、図3に示すように、OS1等のOS種類331と、OS1Kernelexe等のモジュール名332と、5001025等のモジュールのバージョン333と、前記したバージョン333のモジュール名332のモジュールの格納先を示す位置334と、クライアント30の図示しないCPUの種類に依存しない中間コード形式のOSのモジュールの実体である982e77fb等で表されるOSバイナリ335とが関係付けられている。なお、OS1System等で表される位置334は、OS格納ディスク40の格納先を示している。ハードウェア依存モジュールテーブル340は、ハードウェア依存のドライバ等のモジュールを特定するための一覧であって、OSの上位層に対してクライアント30を構成するハードウェアを仮想化するためのドライバやHALHardwareAbstractionLayer等のモジュールを格納するものである。このハードウェア依存モジュールテーブル340には、具体的には、図4に示すように、デバイスを特定するためのPNP0001等のデバイスID341と、ドライバ等のモジュールの実行可能なCpuType1等のCPU種類342と、そのモジュールを使用可能なOS1等のOS種類343と、OS1driver1sys等のドライバ名344と、5001025等のドライバのバージョン345と、ドライバのOS格納ディスク40の格納先を示す位置346と、982e77fd等のドライバの実体であるドライババイナリ347とが関係付けられている。なお、OS1Systemdrivers等で表される位置334は、OS格納ディスク40の格納先を示している。また、クライアントOSテーブル400には、クライアント30がブートするOS種類を特定するための一覧を格納するものであって、クライアント30がブートするものとしてクライアント30のネットワークブートシステム10の登録時に設定される。このクライアントOSテーブル400は、図5に示すように、クライアント30を一意に識別するために使用するクライアント識別ID401と、OS種類402とが関係付けられている。例えば、IDXYZのクライアント識別IDとOS2等のCPU種類とが関係付けられている。ネットワーク20は、ネットワークブートシステム10と、クライアント30と、OS格納ディスク40とを互いに通信可能にするものであり、LANLocalAreaNetwork、WANWideAreaNetwork、インターネット等で構成されている。なお、ネットワーク20は、SANStorageAreaNetwork等のストレージネットワークとしてもよい。クライアント30は、パーソナルコンピュータ等のコンピュータであって、図示しないCPU、HD、インターフェース等のハードウェアから構成され、ネットワーク20経由でOSをブートするための基本的なデバイスを備えている。このクライアント30は、電源ONにより、BIOSBasicInputOutputSystemが立ち上がり、このBIOS上で動く通信プロトコルに従ってネットワーク20を経由し、図6に示すようなブートリクエスト500をネットワークブートシステム10に送信する。このブートリクエスト500には、例えば、クライアント30を識別するためのIDXYZ501a等のクライアント識別ID501と、CpuType3502a等のクライアント30のCPU種類502と、クライアントマシンの総称PC-AT登録商標互換等を示すためのマシンタイプ503例えばマシン3503aとが含まれている。また、クライアント30は、ネットワークブートシステム10からのブート指示に従って指定されるOS格納ディスク40からネットワーク20を経由してOSをブートするようになっている。さらに、クライアント30は、ネットワークブートシステム10から転送されるエージェントプログラムをBIOS上で動かし、エージェントプログラムにより自己のハードウェア構成を調査するようになっている。OS格納ディスク40には、ネットワークブートシステム10からネットワーク20を経由して送られてくるOSが格納される。ここで、図2,4,7を参照して、クライアント30がエージェントプログラム223によりハードウェア構成を調査した結果を説明する。図7に示すように、このハードウェア構成の調査結果600では、デバイス固有のIDであるデバイスID601の羅列XP001601a,XP002601bとなっている。このデバイスID601は、図4に示したハードウェア依存モジュールテーブル340のデバイスID341を特定するものである。次に、図5,6を参照して、クライアント連絡部100のクライアントOSテーブル400からOS種類402を抽出する処理を説明する。クライアント連絡部100は、図6に示したブートリクエスト500のクライアント識別ID501をキーとして、図5に示したOS種類402をクライアントOSテーブル400から抽出する。例えば、図6に示したIDXYZ501aをキーとして、図5に示したOS2402aを抽出する。次に、図2,6を参照して、OS構成情報作成部210がエージェントプログラムを抽出する処理を説明する。OS構成情報作成部210は、図6に示したブートリクエスト500に含まれるCPU種類502とマシンタイプ503とをキーとして、図2に示した構成調査エージェントテーブル220から対応するCPU種類221とマシンタイプ222とを含むレコード中のエージェントプログラム223を抽出する。例えば、図6に示したCpuType3とマシン3とをキーとして図2に示したType3Checkexe223a等のエージェントプログラム223を抽出する。次に、図3~7を参照して、OS作成部310が、クライアント30から送られてくる図6に示したブートリクエスト500および図7に示したハードウェア構成の調査結果600により、図3に示した共通モジュールテーブル330から共通モジュールを抽出し、ハードウェア依存モジュールテーブル340からモジュールドライバを抽出する処理を説明する。OS作成部310は、クライアント連絡部100により抽出されるOS種類402をキーとして、図3に示した共通モジュールテーブル330を検索し、対応するOS種類331のモジュール名332とバージョン333と位置334とを抽出し、対応する位置334から共通モジュールとしてのOSバイナリ335を共通モジュールテーブル330から抽出する。例えば、図5に示したOS2402aをキーとして、対応するOS2のOS種類331を含むレコードを検索し、OS2Kernelのモジュール名332と6001025のバージョン333とOS2Systemの位置334とOSバイナリ335の21gaff9a335aを抽出する。同様に、c97a6f29335bも抽出する。また、OS作成部310は、クライアント連絡部100により抽出されたOS種類402と、図6に示したCPU種類502と、図7に示したハードウェア構成の調査結果600のデバイスID601とをキーとして、図4に示したハードウェア依存モジュールテーブル340を検索する。そして、ハードウェア依存モジュールテーブル340のデバイスID341と、CPU種類342と、OS種類343とに対応するレコードのドライバ名344とバージョン345と位置346とドライババイナリ347とを抽出する。例えば、図5に示したOS2402aと、図6に示したCpuType3502aと、図7に示したXP0001601aおよびXP0002601bとをキーとして、図4に示したドライバ名344とバージョン345と位置346と21gaff9a347a347b等のドライババイナリ347とが抽出される。このように、前記した構成のネットワークブートシステム10は、構成調査エージェントテーブル220と、共通モジュールテーブル330と、ハードウェア依存モジュールテーブル340と、クライアントOSテーブル400とを集中管理するため、管理者がOSのモジュールのバージョンを効率良くかつ簡易に管理できるようになる。最後に、図8に示すフローチャートに従って、前記したクライアント30がOSをブートするまでの処理の流れを図1~7を参照しつつ説明する。なお、図8中、左側にはクライアント30の処理、右側にはネットワークブートシステム10の処理を表している。また、以下の説明でも、構成要素に対応する図番について特に断りがなければ図1を参照することとする。まず、クライアント30では、電源がユーザにより投入されると、BIOSが起動するSa1。この起動によりクライアント30は、ネットワーク20を経由してネットワークブートシステム10に図6に示したブートリクエスト500を送信するSa2。一方、ネットワークブートシステム10では、クライアント連絡部100がブートリクエスト500を受信するとSb1、クライアント連絡部100は、図6に示したブートリクエスト500のクライアント識別ID501と一致するIDを、図5に示すクライアントOSテーブル400のクライアント識別ID401から検索する。そして、それに対応するOS種類402を抽出し、クライアント30にブートさせるOS種類を決定するSb2。例えば、図6に示したクライアント識別ID501がIDXYZ501aであるので、図5に示したクライアントOSテーブル400を参照すると、クライアント30にブートさせるOS種類は、OS2402aとなる。次に、クライアント連絡部100は、OS種類を決定すると、図6に示したブートリクエスト500およびSb2で決定したOS種類を、OS構成情報作成手段200およびOS作成手段300に渡す。そして、OS構成情報作成手段200では、クライアント連絡部100から図6に示したブートリクエスト500およびOS種類を受け取ると、OS構成情報作成部210が、ブートリクエスト500に含まれるCPU種類502とマシンタイプ503とを基に、図2に示す構成調査エージェントテーブル220からクライアント30のハードウェア構成を調査するためのエージェントプログラム223を抽出して、クライアント30のためのエージェントプログラムを決定するSb3。ここでは、図6に示したCPU種類502がCpuType3502aであり、図6に示したマシンタイプ503がマシン3503aなので、図2に示した対応するエージェントプログラム223のType3Checkexe223aが抽出される。その後、OS構成情報作成部210は、クライアント連絡部100およびネットワーク20を経由し、決定したエージェントプログラム223をクライアント30に送信するSb4。ここでは、エージェントプログラム223として、図2に示したType3Checkexe223aを送信する。クライアント30は、エージェントプログラム223を受信するとSa3、受信したエージェントプログラム223を実行しSa4、図7に示したハードウェア構成の調査結果600をネットワークブートシステム10のクライアント連絡部100に送信するSa5。ここでは、図7に示したとおり、クライアント30には、XP0001601aと、XP0002601bとのデバイスID601を持つデバイスが存在する調査結果となっている。一方、ネットワークブートシステム10では、OS作成手段300が、クライアント連絡部100からブートリクエスト500とOS種類とを渡され、クライアント30から図7に示したハードウェア構成の調査結果600を受信するとSb5、図3に示した共通モジュールテーブル330のOS種類331の中で、クライアント連絡部100から渡されたOS種類402と一致する全てのデータを抽出し、その中から図3に示したOSバイナリ335を抽出するSb6。ここでは、OS2402aをキーとして、対応するOS2のOS種類331を含むレコードを検索し、OS2Kernelのモジュール名332と6001025のバージョン333とOS2Systemの位置334を抽出し、そのOS2SystemからOSバイナリ335に対応するバイナリデータである21gaff9a335aを抽出する。同様に、c97a6f29335bも抽出する。次に、OS作成手段300は、OSバイナリ335に対応するバイナリデータである21gaff9a335aをコンパイル部320に送る。そして、コンパイル部320は、図6に示したブートリクエスト500に含まれるCPU種類502に従い、受け取ったバイナリデータをそのCPU向けの実行ファイルにコンパイルするSb7。ここでは、CPU種類がCpuType3502aであるので、コンパイル部320は、バイナリデータである21gaff9a335aおよびc97a6f29335bを、クライアント30の図示しないCPUの実行形式にコンパイルする。コンパイル部320は、コンパイルが全て終わったら、コンパイル済みのバイナリをOS作成部310に渡す。次に、OS作成部310は、コンパイル部320から渡されたコンパイル済みバイナリを、共通モジュールテーブル330の図3に示したモジュール名332とバージョン333と位置334とに従い、ネットワーク20に接続されたOS格納ディスク40上に配置するSb8。ここでは、21gaff9a335aがコンパイルされたバイナリは、OS格納ディスク40の位置ルートに、ファイル名OS2System、バージョン6.0として配置される。c97a6f29335bも同様にして配置される。このようにして、OS作成部310は、Sb5で受信したハードウェア構成の調査結果600に含まれるデバイスID601全てについて、次の条件1~3の全てを満たすモジュールをハードウェア依存モジュールテーブル340から抽出し、図3に示したドライバ名344とバージョン345と位置346との情報に従い、OS格納ディスク40上に配置する。条件1は、図4に示すハードウェア依存モジュールテーブル340のデバイスID341が一致するという条件である。条件2は、図6に示したブートリクエスト500のCPU種類502と図4に示したハードウェア依存モジュールテーブル340のCPU種類342とが一致するという条件である。条件3は、クライアント30がブートする図5に示したOS種類402と図4に示したハードウェア依存モジュールテーブル340のOS種類343とが一致するという条件である。ここでは、図6に示したCPU種類502がCpuType3502aであり、クライアント30がブートする図5に示したOS種類402がOS2402aであるので、図7に示したハードウェア構成の調査結果600に含まれるデバイスID601のXP0001601a用のドライバとして、ドライババイナリである図4に示した21gaff9a347aが、ドライバ名344をOS2driver1sys、バージョン345を2.1として、OS格納ディスク40の位置ルートに配置される。また、図7に示したデバイスID601のXP0002601b用のドライバとしては、ドライババイナリである図4に示した21gaff9a347bが、ドライバ名344をOS2driver2sys、バージョン345を2.1として、OS格納ディスク40の位置ルートに配置される。そして、OS作成部310は、全てのOSのモジュールおよびドライバのモジュールをOS格納ディスク40上に配置した後、クライアント連絡部100にOSが完成した旨を通知する。クライアント連絡部100は、OSが完成した旨の通知を受けると、クライアント30に対し、OS格納ディスク40上に作成されたOSをブートする指令であるブート指示を送信するSb9。なお、ブート指示には、OS格納ディスク40上に格納された各モジュールの格納先アドレスが含まれている。その後、クライアント30は、ネットワークブートシステム10からのブート指示を受信しSa6、OS格納ディスク40上に格納された各モジュールを用いてブートするSa7。これにより、ネットワークブートシステム10は、クライアント30にOSをブートさせることができる。また、OS格納ディスク40では、クライアント30によるブートが終了すると、そのモジュールが削除される。この削除は、クライアント30から電源をオフにする旨の通知を受けたとき、あるいは、OS格納ディスク40の記憶容量に余裕がないときに行えばよい。以上のように、クライアント30のブートのたびに、クライアント30のハードウェア構成に従ったモジュールを抽出して構成することによって、OSを格納する記憶容量を少なくすることができる。なお、前記実施形態の説明では、ネットワークブートシステム10からクライアント30にエージェントプログラム223を送って実行させるものとして説明したが、あらかじめクライアント30にBIOSに組み込むようにしてもよい。また、ネットワーク20を介さずに、CD-ROMCompactDiskReadOnlyMemoryからブートのたびにエージェントプログラム223を読み出すようにしてもよい。さらに、ネットワークブートシステム10は、OS格納ディスク40を介さず、直接クライアント30に作成したモジュールを送信してもよい。"