nextboot(8) FreeBSD 一般コマンドマニュアル

nextboot

前のページ 上に戻る 次のページ

nextboot


     nextboot [-b] filename bootstring file ...
     nextboot [-ed] filename


解説

     FreeBSD の nextboot プログラムは、次回ブート時のブートブロックの動作を制
     御します。正しいオプションと共にコンパイルされていれば、ブートに用いるマ
     ジックナンバとデフォルトネームがあるかどうか、ブートブロックはネームブ
     ロックをチェックします。ブートブロックがそのようにコンパイルされている場
     合、ブートが失敗したら再度ブートを試みないようにブートブロックはブロック
     からネームを削除します。ブートが成功した場合に nextboot を用いてブートス
     トリングを再インストールするのは /etc/rc の仕事です。これにより、リモート
     デバッギングや新しく信頼のおけないカーネルをインストールするといった場合
     に、一度だけのブートストリングを用いることができるようになります。コンパ
     イル時に、ネームブロックはディスクの 2 番目の物理ブロックとして定義されて
     います。

     次のオプションを使用可能です:

     -b    ネームブロックをブートストラップする (最初に構成する) のに用いられ
           ます。このオプションを指定しない場合、 nextboot はマジックナンバを
           まだもっていないブロックへの書き込みを拒否します。

     -d    マジックナンバ中のビットを変更して、既存のネームブロックを一時的に
           無効化します。

     -e    -d オプションで無効化されたブロックに、有効なマジックナンバを再設定
           します。

     -e および -d のフラグは相互排除です。


解説

     nextboot はまず、指定ディスクが fdisk テーブルを持ち、そのテーブルで定義
     されている全パーティションがネームブロックを含んでいないことをチェックし
     ます。ネームブロックが使われていないことが明らかになれば、 nextboot は引
     数に指定されたブートストリングを一つずつ、小さいマジックナンバを前につ
     け、最後に NULL を加えてインストールします。ストリングのリストの最後は
     0xff バイトの列で区切られます。ブートブロックがブートの度にネームブロック
     を書き戻す (write back) ようにコンパイルされている場合、ブートブロックは
     ブート毎に一つずつ供給されたネームをゼロクリアします。これは 0xff に到達
     するまで続き、その時点でコンパイル時に組み込まれたブートストリングに戻り
     ます。この時点で、ネームブロックはゼロクリアされたネームだけになります。

     使用例を示します:

        nextboot -b  /dev/rwd0 1:sd(0,a)/kernel.experimental wd(0,a)/kernel.old

     これは、次回ブート時に実験カーネルを SCSI ディスクからブートしてみるよ
     う、ブートブトックに指示します。何らかの理由でこれが失敗すると、その次の
     ブートではカーネル /kernel.old を IDE ドライブからブートしようと試みま
     す。 (書き戻しオプションが有効であると仮定しています。) これも失敗する
     と、コンパイル時に組み込まれたデフォルトが用いられます。

     す。 fdisk パーティションテーブルが存在しないディスク (つまり純粋にディス
     クラベルだけのシステム) と共存できるように、将来、この点に関して再考した
     いと考えています。

     書き戻しを有効とするか否かは実行時にネームブロックで指定し、この機能を得
     るためにブートブロックを書き換える必要のないようにすべきです。

FreeBSD 4.4                      July 9, 1996                      FreeBSD 4.4

ABELNET VPSサービス