■掲示板に戻る■ 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

初心者もOK! FreeBSD質問スレッド その25

948 :名無しさん@お腹いっぱい。 :02/11/23 15:03
>>863
まずは予備知識としてこれを読むべし。
http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/handbook/boot-blocks.html

起動するドライブとパーティション(FreeBSD的に言うとスライス)を
見つけるのは boot1 の仕事で、こんな感じのロジック。

1. DLレジスタに格納されている値(これはBIOSまたはブートセレクタによって
設定される)を起動対象のドライブ番号とし、そのドライブのMBRをロードする。
2. MBR内のパーティションテーブルを先頭から順に走査し、アクティブな
FreeBSDパーティションを発見したら、そこを起動パーティションとする。
3. アクティブなFreeBSDパーティションが見つからなかったら、
同様に非アクティブなFreeBSDパーティションを探し、
最初に見つかったものを起動パーティションとする。
4. 起動パーティションから boot2 → /boot/loader → /kernel と
順にロード・実行する。

つまり、同じディスク内の異なるFreeBSDパーティションからの
起動を切替えるためには、以下のどれかの方法を使わなければならん。

a. パーティションテーブルのアクティブ・インアクティブを切替えられる
ブートセレクタを使う。例えば、FreeBSDのboot0を使う場合は、
boot0cfgでupdateオプションを指定しておく。

b. grubを使ってboot1,boot2を経由せず直接 /boot/loader を読み込むようにする。

c. /dev/da0s3のboot1をhackして、上記2,3の手順を省略して
強制的に3番目のパーティションを起動に用いるようにする。


read.cgi ver5.26+ (01/10/21-)