BOOT(8)

名称
boot - システム立上げ時の手続き

解説
電源断とクラッシュからの回復。 通常、電源復旧時とクラッシュ発生後には、システムは自動的にリブートし ます。ファイルシステムの整合性チェックが自動実行され、途中で失敗しな ければ、システムはマルチユーザ・モードに移行します。

コールドスタート。 大多数の 386 PC AT 互換機は、まずフロッピードライブ 0 (ドライブ A: ともいう) からの ブートを試み、それに失敗すると、ハードディスクドライブ 0 (ドライブ C: も しくは (紛らわしいが) ハードディスクドライブ 1 とも BIOS のドライブ 0x80 ともいう) からブートしようとします。いくつかの BIOS では、この デフォルトの順序を変えたり、 CD-ROM デバイスをブートデバイスとして含 めることができます。 ブートブロックがロードされたあとで、次のようなプロンプトが現れます。

    >> FreeBSD BOOT @ 0x10000: 640/7168 k of memory, internal console
    Boot default: 0:wd(0,a)kernel
    boot:

(スクリーン上にはいくつかの情報も出力されているかもしれません)

自動ブートにおいては、フロッピー もしくはハードディスクのパーティション ‘a’ から /kernel をロードしようとします。 この動作は ‘boot:’ というプロンプトが出ている間なら、キーボードから適当な文字を入力する ことで中断できます。以下にあげるような入力はブート動作に対する指示と して受付けられます。

?   ブートファイルを探す際のヒントとして、デフォルトのブートデバイスの ルートディレクトリにあるファイルの名前を表示します。

[bios_drive:interface(unit,part) [filename [-aCcDdghPrsv]]]
    ブートファイルとブートフラグを指定します。
    bios_drive
        BIOS によって認識されるドライブ番号です。 1 つ目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。
    interface
        そこからブートするコントローラのタイプです。ブートファイルのイメージ をロードするのには BIOS の機能を使用するので、そのコントローラに対す る BIOS サポートが必要となることに注意して下さい。

        サポートされているインタフェースを以下にあげます。
        wd  WD100[2367] とその互換コントローラ上の ST506, IDE, ESDI, RLL ディスク
        fd  5 1/4" または 3 1/2" 高密度 フロッピ
        da  サポートされている SCSI コントローラ上の SCSI ディスク
    unit
        使用されているインタフェース上のドライブのユニット番号です。 1 つ 目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。
    part
        ディスク上の BSD 部分内のパーティション文字です。詳しくは disklabel(8) を参照して下さい。慣例として、パーティション ‘a’ のみが ブート可能なイメージを含んでいます。ディスクにスライス (“fdisk パーティション”) が設けられていた場合、最初の BSD スライスからのみブートが可能です。 また、パーティション文字は常に最初のスライスについてのものとなります。
    /filename
        ブートファイルの (指定されたパーティションのルートディレクトリからの 相対) パス名です。デフォルトでは /kernel となります。シンボリックリンクはサポートされていません (ハードリンク は使用できます)。
    -acCdDghPrsv
        ブートフラグです。
        -a  カーネル初期化中に、ルートファイルシステムとしてマウントされるデバイスを 尋ねて来るようにします。
        -C  CDROM からブートします。
        -c  ロードしたカーネルに対し、ハードウェアのパラメータを変更するため、 UserConfig を実行します。 カーネルが USERCONFIG_BOOT オプション付きで構築された場合、 スクリプト中に quit コマンドがあったとしても、UserConfig 中にとどまります。
        -D  シングルとデュアルのコンソール設定を切り替えます。シングル設定では、 下記の -h オプションの状態によって、コンソールは内部ディスプレイかシリアルポートの いずれかになります。デュアルコンソール設定では、内部ディスプレイ とシリアルポートの両方が、 -h オプションの状態によらず、同時にコンソールになります。しかし、 デュアルコンソール設定は、ブートプロンプトの間だけでしか効果を持ちません。 一旦カーネルがロードされると、 -h オプションによって指定されたコンソールが唯一のコンソールになります。
        -d  カーネルの初期化のできる限り早い段階で DDB カーネルデバッガ (ddb(4) を参照) に入ります。
        -g  GDB リモートデバッギングプロトコルを使用します。
        -h  内部コンソールとシリアルコンソールの切替えを行います。これを使用して コンソールデバイスを変更できます。例えば、内部コンソールからブートし た場合、カーネルがコンソールデバイスとしてシリアルポートを使用するよ うにするため、 -h オプションを使用できます。反対に、シリアルポートからブートした場合、 カーネルがコンソールとして代わりに内部ディスプレイを使用するようにす るため、このオプションを使用できます。 カーネルを options COMCONSOLE 付きでコンパイルした場合には、このオプションは効果ありません。
        -P  キーボードを検出します。キーボードが発見できなかった場合には、 -D と -h オプションが自動的にセットされます。
        -r  ルートファイルシステムを含むデバイスとしてスタティックに config され たデフォルトを使用します (config(8) を参照) 。
        -s  シングルユーザ・モードで立上がるようになります。コンソールが “insecure” (ttys(5) を参照) に設定されていた場合には、root のパスワードを入力しなければなり ません。
        -v  デバイス検出の際 (そしてその後も) 、詳細を出力します。

デフォルトを設定するため、BIOS ドライブ番号, コントローラタイプ, ユニット番号, パーティション, カーネルファイル名と -D, -h, -P オプションを /boot.config に書くこともできます。 ‘boot:’ プロンプトでタイプするように、 1 行で書いてください。

関連ファイル
/boot.config
    ブートローダに対するパラメータ (必須ではない)
/boot.help
    ヘルプメッセージ
/kernel
    デフォルトカーネル
/kernel.config
    デフォルトカーネルに対するパラメータ (必須ではない)
/kernel.old
    ふつうは非デフォルトカーネル (必須ではない)
/kernel.old.config
    非デフォルトカーネルに対するパラメータ (必須ではない)

関連項目
ddb(4), ttys(5), config(8), disklabel(8), halt(8), reboot(8), shutdown(8)

バグ
このバージョンの BSD で使用されているディスクラベルのフォーマットは、他のアーキテクチャで 使用されている物とは全く異なっています。

一文字だけのブートフラグはあまり分かりやすい物とは言えず、有用と思わ れるオプションをすべて実現するには、アルファベットの文字数は少なすぎ ます。