6. CO-Booter のカスタマイズ

6.1. カスタマイズ方法

  CO-Booter.ini をエディタで開き設定ファイルを変更することで、CO-Booter の挙動を細かく制御できます。シャットダウンをするためのメニューを表示したり、背景やメニューに用いる画像を変更することもできます。 CO-Booter.ini には多数のコメントが記述されているので、その内容を参照しつつカスタマイズしてください。画面表示に必要とされる画像ファイルやLinux を起動するためのPXE Linux 起動ファイルなどをTFTP サーバ上に配置する必要がある場合もあります。

6.2. 設定ファイルの選択順位について

 CO-Booter は起動時に設定ファイルを読み込みます。その設定ファイルの名称は通常は CO-Booter.ini が用いられます。しかし、「一部の端末を通常と異なる設定で稼働させる」ために、異なる設定ファイルを用いるための機能があります。

  CO-Booter.bin は、次の順に設定ファイルを探索します。

  1. CO-Booter.000C2926BD2B.ini
  2. CO-Booter.000C29.ini
  3. CO-Booter.ini

(注意) この例ではクライアントのMAC アドレスが 00:0C:29:26:BD:2B であると仮定して説明しています。

  CO-Booter.bin を他のファイル名に変更してある場合でも、プレフィクスは必ず CO-Booter となります。このプレフィクスを変更したい場合には、 CO-BooterConfig.exe を利用して以下の要領で変更してください。

  1. Server フォルダにある CO-BooterConfig.exe を実行する
  2. CO-Booter.bin のパスおよび プレフィクスを入力する
  3. 生成されたブートローダファイルを CO-Booter.bin の代わりに利用する

6.3. 設定ファイルの項目の詳細な説明

6.3.1. 設定ファイルに関する全体的な注意事項

  • 文字コードについて

    設定ファイルに含まれる日本語文字列の文字コードは Shift-JIS で記述してください。

  • 使用できる画像ファイルの形式

     CO-Booter が表示できる画像は PNG 形式または Windows BMP 形式です。BMP の色数(深さ)としては、 8bit, 16bit, 24bit に対応しています。(Windows ペイントを利用する場合には、「256 色ビットマップ」ないしは「24 ビットビットマップ」を選択してください。)

  • ファイルパスの表記方法

     本設定ファイル中ではファイルパスを指定する際に、以下のような表記を使用できます。 ( 各設定項目ごとに 255 文字以内 となる必要があります。)

    • CO-Booter と同じ TFTPサーバ上のファイルを使用する(TFTPサーバがフォルダ指定に対応しているのであれば、フォルダも含めることができます)

      (例)Font = nihongo.fnt

    • CO-Booter と異なる TFTPサーバ上のファイルを使用する

      (注意)BIOS によっては、他のサーバー上のファイルを利用できない場合があります。

      (例)Font = tftp://192.168.123.45/co-conv/nihongo.fnt

    • 複数の候補からランダムに1つのファイルを使用する

      , で区切ってください。ファイル名に空白やカンマを含むことはできません。

      (例)Font = nihongo.fnt, nihongo2.fnt, nihongo3.fnt

(※)ファイルパスの表記方法の例外

Menu セクションの Argument 及び、PVSMenu セクションのBootFile については、ファイルパスの長さは63 文字以内に制限されます。また、これらの項目は複数の候補を指定することもできません。

6.3.2. CO-Booter 全体に関する設定

CO-Booter セクション
項目名 説明
FileAPI
ファイル取得方法を指定します。
通常は指定する必要はありませんが、ファイル取得などの動作に
不具合がある場合は、以下のいずれかを指定してください。
・TFTP: PXENV_TFTP_OPEN, PXENV_TFTP_READ, PXENV_TFTP_CLOSE
を利用
・UDP: PXENV_UDP_OPEN, PXENV_UDP_READ, PXENV_UDP_WRITE,
PXENV_UDP_CLOSE を利用
なお、INIファイルの読み込み及び、FileAPI行より前の行で指定
されたファイルの読み込みには、デフォルト値で指定されたAPI
が利用されます。
RTCLogicVersion
RTC取得方法を指定します。
通常は指定する必要はありませんが、タイムアウト機能などの
動作に不具合がある場合は、以下のいずれかを指定してください。
 0: リアルモード割り込み利用、再試行無し [Ver 1.0.0 互換]
 1: リアルモード割り込み利用、再試行有り
 2: プロテクトモードI/Oポート利用、再試行無し
 3: プロテクトモードI/Oポート利用、再試行有り
 4: プロテクトモードI/Oポート利用、IC書き換え時間考慮、
再試行無し
 5: プロテクトモードI/Oポート利用、IC書き換え時間考慮、
再試行有り
PowerManagement
電源管理方法を指定します。通常は指定する必要はありませんが、
シャットダウンに失敗する場合は以下のいずれかを指定してください。
 ・APM: APM利用 [Ver 1.0.0-1.0.1互換,]
 ・ACPI: ACPI利用
なお、ACPIを利用する際には、ACPIサポート用補助ファイル
acpioff.0 等がTFTPサーバに置かれている必要があります。
License
ライセンスファイルをファイル名を指定します。
(通常は変更しないでください)
Font フォントファイルを指定します。(通常は変更しないでください)
PanicReboot
CO-Booter の動作において必須のファイルを読み込めないと
いった不具合が生じたときの挙動を指定します。
 0: エラーメッセージを表示し、キー入力を待ち再起動する
 1: 自動的に即座に再起動する(デフォルト値)
 2: エラーメッセージを10秒間表示し、自動的に再起動する
Resolution
画面解像度を指定します。 800,600 と 640,480 の2種のみに
対応しています。この2つのいずれかを指定してください。
BackgroundColor
デフォルトの背景色(R,G,B)です。省略時は黒となります。
背景画像のサイズと画面解像度が一致する場合には、設定不要です。
Background
背景画像ファイル名です。省略時は背景画像は表示されません。
同様の書式のオプション Background2 Background3
Background4 を設定することで、最大4つの画像を表示する
ことができます。
BackgroundPosition 背景画像を表示する(x,y)座標です。省略時は(0,0)となります。

6.3.3. ステータスバーに関する設定

 ステータスバーとは画面下部にある「文字によるメッセージ表示するための領域」です。 この領域には、各メニュー項目の Description の内容(文字)などが表示されます。

項目名 説明
InfoPosition ステータスバー領域の左上の点の(x,y)座標です。
InfoWxH ステータスバー領域の大きさ(幅×高)です。
InfoFGColor
ステータスバー領域の前景色(R,G,B)です。メニュー表示時の画像
ファイルがない場合の文字列表示の際にも、ここでの色指定が用いられます。
InfoBGColor
ステータスバー領域の背景色(R,G,B)です。メニュー表示時の画像
ファイルがない場合の文字列表示の際にも、ここでの色指定が用いられます。

6.3.4. タイマーに関する設定

項目名 説明
ShutdownTimer
強制シャットダウンするまでの秒数です。
省略時はシャットダウンしません。
Timeout
デフォルト項目を自動起動するまでの秒数です.
省略時は自動起動しません。
Default
デフォルトで起動する項目を指定します。
先頭から順に 0 からカウントします。
TimeoutBitmap
タイムアウトまでの残り時間を表示するために用いる画像です。
この項目が省略された場合は、残り時間はステータスバーに文字で
表示されます。

【画像の形式について】
下図のように0,1,...,9,(空白)の11個の等幅画像を横に連結した PNG または BMP
ファイルを作成し、そのファイル名を指定してください。
 ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
 |0|1│2│3│4│5│6│7│8│9│
 └─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘
この項目を指定する際には、作成したTimeoutBitmap ファイルをTFTP
サーバ上に必ず配置してください。ファイルがない時には異常終了
します。
TimeoutBitmapPosition タイムアウトまでの残り時間を表示する座標です。
ForceDisplayMenu
PVSMenuを含めてメニュー項目数が1個の場合、Timeout指定の
値を無視して即座に起動を行うように指定( 0 を指定)する
ことができます。メニュー項目数が2個以上存在する場合は
効力を持ちません。この項目自体を省略した時の値は1です。

6.3.5. メニュー表示に関する設定

 CO-Booter が表示するメニューの表示位置やサイズを指定します。

項目名 説明
MenuPosition メニュー描画領域の左上の座標です。
EntryWxH
メニュー項目用画像表示領域の大きさ(幅×高)です。ここで指定した大きさは複数の
メニューを指定した場合の表示間隔となります。(現バージョンでは幅は無視
されます)

6.3.6. 管理者用特殊キーに関する設定

項目名 説明
EnableDisplayMessages
F1 キーを有効にするかどうかを設定します。
F1 キーを押すとバージョン情報やデバッグ情報を表示します。
デフォルト値は0 (無効にする)です。
PasswordDisplayMessages
F1 キーを有効にするためのパスワードを設定します。
省略した場合は、パスワードの入力は求められません。
英数字のみ指定可能です。大文字小文字は区別されません。
EnableSetNTSignature
S キーを有効にするかどうかを設定します。
S キーは、MBR に含まれるNTシグニチャ情報を表示(変更)
します。デフォルト値は0 (無効にする)です。
PasswordSetNTSignature
S キーを有効にするためのパスワードを設定します。
英数字のみ指定可能です。大文字小文字は区別されません。
省略した場合は、パスワードの入力は求められません。
NTSignature
変更後のシグニチャの値を指定します。値には以下のような
2つの書式を利用することができます。
 ・0x1234ABCD
 ・0xCD, 0xAB, 0x34, 0x12
指定がない場合は、NTシグニチャは変更されません。
EnableDisplayMBR
M キーを有効にするかどうかを設定します。
M キーが押されるとMBRの内容を表示します。
表示されるパーティションのサイズは1セクタ=512Byte、
1MB=1024*1024BとしてLBA方式で算出されます。
デフォルト値は0 (無効にする)です。
PasswordDisplayMBR
M キーを有効にするためのパスワードを設定します。
英数字のみ指定可能です。大文字小文字は区別されません。
省略した場合は、パスワードの入力は求められません。

6.3.7. 管理者用特殊キーに関する設定(外部ツールに関するもの)

項目名 説明
EnableReleaseReadCache
R キーを有効にするかどうかを設定します。
R キーが押されると ReadCache のキャッシュ領域を消去します。
第1ハードディスクにReadCacheのCache用パーティションがある
場合には、その領域を解放します。
デフォルト値は 0 (無効にする)です。
PasswordReleaseReadCache
R キーを有効にするためのパスワードを設定します。
英数字のみ指定可能です。大文字小文字は区別されません。
省略した場合は、パスワードの入力は求められません。
EnablePVSregister
P キーを有効にするかどうかを設定します。
P キーが押されるとPVSregisterを実行します。
デフォルト値は 0 (無効にする)です。
PasswordPVSregister
P キーを有効にするためのパスワードを設定します。
英数字のみ指定可能です。大文字小文字は区別されません。
省略した場合は、パスワードの入力は求められません。
PVSregisterPath
PVSregister の実行ファイルのファイル名を指定します。
デフォルトでは PVSREGloader.0 となります。

6.3.8. PVSオプション利用時の通信に関する詳細設定セクション(オプション)

項目名 説明
PVSMenuSelectionReportPolicy
PVSオプション利用時に、 ARDBP32.BIN に書きこまれている
CO-BooterServerのうち、応答しないものを発見した場合の
措置を指定します。通常は指定する必要はありませんが、
停止したサーバのIPアドレス:ポートを ARDBP32.BIN に
書きこまれている場合は、以下のいずれかを指定してください。
Wait: 応答しないサーバを発見するたびに警告を表示し、
ユーザのキー入力を待つ。
[Ver 1.0.0-1.0.1互換,デフォルト値]
Warn: 応答しないサーバを発見するたびに警告を表示し、
PVSMenuWaitSecond 秒待つ。
Ignore: 応答しないサーバを発見しても警告を表示しない。
PVSMenuRequestCount
PVSオプション利用時に、CO-BooterServerへリクエストを
送信する最大の回数を指定します。通常は指定する必要は
ありません。デフォルト値は 2 (回)です。
PVSMenuReceiveCount
PVSオプション利用時に、CO-BooterServerへの1回のリクエスト
につき、応答受信を試みる最大の回数を指定します。通常は指定
する必要はありません。デフォルト値は 3 (回)です。
PVSMenuRequestInterval
PVSオプション利用時に、CO-BooterServerへリクエストを
送信する間隔を指定します。通常は指定する必要はありません。
デフォルト値は 0.2 (秒)です。この項目の値は小数点
以下6桁まで記述することができます。
PVSMenuReceiveInterval
PVSオプション利用時に、CO-BooterServerへの1回のリクエスト
につき、応答受信を試みる間隔を指定します。通常は指定する
必要はありません。デフォルト値は 0.1 (秒)です。
この項目の値は小数点以下6桁まで記述することができます。
PVSMenuWarnSeconds
PVSMenuSelectionReportPolicy = Warn時に、警告を表示して
一時停止する時間を指定します。通常は指定する必要は
ありません。デフォルト値は 3 (秒)です。

6.3.9. サイクリック乱択の調整セクション(オプション)

PVS メニュー取得時などに行う「サイクリック乱択」を試行する最大回数と間隔を指定します。

項目名 説明
CyclicLoopCount 通常は指定する必要はありません。デフォルト値は 3 (回)です。
CyclicLoopInterval
通常は指定する必要はありません。デフォルト値は 1.0 (秒)です。
この項目の値は小数点以下6桁まで記述することができます。

 例えば CyclicLoopCount = 3, CyclicLoopInterval = 1.0 のとき、メニュー取得は(最悪のケースで)以下のように順次試行されます。最初に接続するサーバ( 例では2)は乱択されます。

( サーバー2 へ接続)→ ( サーバー3 へ)→(サーバ4 へ)→(サーバ1 へ)
↓
1.0 秒スリープ
↓
(サーバー2 へ)→(サーバー3 へ)→(サーバ4 へ)→(サーバ1 へ)
↓
1.0 秒スリープ
↓
(サーバー2 へ)→(サーバー3 へ)→(サーバ4 へ)→(サーバー1 へ)

6.3.10. PVSに関係したブートメニューに関する設定 (PVSMenu)

 PVS オプションを利用する場合は、BootFile に、使用するブートローダのファイル名を指定してください。

 BootFile に指定するブートローダには、CO-BooterServer のIP アドレスとポートが埋め込まれている必要があります。埋め込みには Ardbp32Editor.exe ないしは PVS 管理コンソールを利用してください。ここで指定するブートローダは ardbp32.bin をベースにしたものでも ctxbp.bin をベースにしたものでも支障ありません。

(設定例)

[PVSMenu]
BootFile = ardbp32_co-booter.bin

6.3.11. ブートメニューに関する設定

 画面に表示するメニューの項目を設定します。各項目には、以下の項目を指定できます。

項目名 説明
Type
PXE , MBR , Disk , LoadConfig , Reboot , Shutdown , ReleaseReadCache
のいずれかを指定し、各項目の動作を選択します。
ActiveImage
選択中のメニュー項目用の画像を指定します。
複数のメニュー項目が指定されたときには EntryWxH の間隔で並べられますが、
ここで指定する画像のサイズは EntryWxH で指定した大きさと必ずしも同一で
ある必要はありません。(一般には EntryWxH のサイズよりも小さく、
横に細長い画像を指定することになるとおもわれます。)
画像の指定がない場合や、指定された画像がない場合には、
「メニュー項目の内容」を示す文字列が表示されます。
InactiveImage
選択されていない時のメニュー項目用の画像です。
画像サイズに対する制約は ActiveImageの項目と同じです。
Description
メニュー項目を複数列挙するときには、Order値が高いものから順に上から
並べられます。この項目が指定されていないときの Order値 は 1000
となります。Order値が同じ項目が複数あるときには、本設定ファイルに
おいて先に記述されたものが上から並びます。
Order
各メニュー項目の説明文を指定することができます。
指定した項目は「ステータスバー」の領域に表示されます.
  • Type が PXE の場合には、以下のように指定された引数のブートローダに対してチェインブートします。ただし、ここでIP アドレスを指定することでCO-Booter はどのサーバからブートローダを読み込むこともできますが、読み込まれたブートローダがさらに他のファイル群を読み込む際には、最初にCO-Booter.bin が読み込まれた際のサーバーから読みこもうとします。そのため、チェインブートしようとするOS によっては、IP アドレスを指定しても意味を持たない可能性があります。(Linux を起動する際に pxelinux.0 が pxelinux.cfg/default を読みこもうとする処理がこの制限にひっかかります。)

    Argument = tftp://192.168.95.103/PXELINUX.0
    
  • Type が MBR の場合には、1台目のハードディスクからMBR を読み込み、端末を起動しようとします。

  • Type が Disk の場合には、指定した Drive の 指定したパーティションから PBR方式で起動します。

    Drive = 0
    Partition = 2
    

    現バージョンでは、[Drive]としては 0 以外を指定できません。

 [Partition] には、 0 から 3 の値を指定します。このパラメータが省略された時には、第1 パーティションから順に起動可能かを確認し、最初に見つけた起動可能パーティションより起動します。(起動可能パーティションが1つも見つからなければ、メニュー選択後にエラーとなり停止します。) - Type が LoadConfig の場合には、指定された CO-Booter の設定ファイルを再読み込みします。

Argument = AnotherConfig.ini
  • Type が Reboot の場合には、端末を再起動します。

    再起動にあたってはデフォルトでは ACPI の機能を用います。

  • Type が Shutdown の場合には、端末の電源を切断します。

  • Type が ReleaseReadCache の場合には、端末内のReadCache パーティション領域をリリースします。ただし、ReadCache4.5 以降を利用している場合には、キャッシュパーティションを一旦削除してしまうと再起動した際に再生成されませんので、この機能は利用しないで下さい。