FreeBSD QandA 1355
Q. FreeBSD(98) 3.1R で、2台目以降の SCSI HDD から起動したい。
A. SCSI ID と、da device の unit number が一致していないと、SCSI HDD からの
起動に失敗することがあります (FreeBSD(98)3.1R-Rev01 で確認)。
例えば、下記のような SCSI 機器構成の場合、
0:NONE
1:NONE
2:2BG HDD (FreeBSD(98)2.2.8R-Rev02 (da0)
3:6GB HDD (FreeBSD(98)3.1R-Rev01 (da1)
4-6:NONE
7:ホストアダプタ
起動ディスクとして SCSI 3の HDD (kernel からは da1 として認識される)を
選択すると、SCSI デバイスの初期化の後、
change root device to da3
と表示した後
cannot mount root
で、panic・reboot してしまうという不具合が報告されています。
この場合、2通りの解決方法があります。
1. SCSI ID を変更する。
上記の構成を次のように変更して、SCSI ID と da device の unit number を
一致させれば、da1 から起動することができます。
0: 2BG HDD (FreeBSD(98)2.2.8R-Rev02 (da0)
1: 6GB HDD (FreeBSD(98)3.1R-Rev01 (da1)
2-6: NONE
7: ホストアダプタ
2. loader の設定を変更する。
ハードウェア上の制約などから 1 の方法を採ることができない場合もある
でしょう。このような場合は loader に、読み込むべき kernel の場所を明
示します。/boot/loader.rc を下記の内容で作成して下さい。
set root_disk_unit=1 #1を適宜変更する。
load /kernel
load -t userconfig_script /boot/kernel.conf #必要な場合
autoboot 5
/boot/kernel.conf については
<URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/releases/3.1R/errata.html>
を参照して下さい。
ただし loader.rc の記述が無くても起動できるのが正常なので、
FreeBSD(98) 3.3R-Rev01 では、root_disk_unit を設定しなくても
起動できるようになっています (FreeBSD(98)3.2R ではどうなるか未確認)。
また、FreeBSD 3.2-RELEASE でも
SCSI構成
0 : 4GB HDD(WindowsNT)
1 : 2GB HDD(FreeBSD3.2R)
2-6: NONE
7: ホストアダプタ(Adaptec AHA-2940UW)
ホストアダプタ設定
BootTargetID = 1
のように設定した場合に、
cannot mount root
で、panic reboot する不具合が発生しています。FreeBSD(98)-3.1R と
同じように「2. loader の設定を変更する」で対処が可能です。
関連 QandA:
[管理番号 85] `panic: cannot mount root' で FreeBSD が起動しない。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。