FreeBSD 10.1を、2つのZFSプールがあり、ブートローダーのみを含む他のハードディスクから起動するシステムにインストールしました。メインプールディスクはPCI-EカードのSATAポートに接続されていますが、ブートローダーは間違ったプール(マザーボードのSATAポートに直接接続されている2番目のプール)から起動しようとします。
エラーは次のとおりです。
Can't find /boot/zfsloader
FreeBSD/x86 boot
Default: storage:/boot/kernel/kernel
boot:
/
Cant't find /boot/kernel/kernel
FreeBSD/x86 boot
Default: storage:/boot/kernel/kernel
boot:
/mnt/boot/loader.confでvfs.root.mountfrom = "zfs:zpool"または "zfs:zpool/ROOT"を設定しようとしましたが、機能しません。
2番目のプールのディスクを抜くと、システムは正しく起動します。
どうもありがとう。
わかりました、私はそれを自分で理解しました。
ZFSローダーは起動元のルートプールを設定することを許可していませんが、起動優先順位のBIOSをプールすることにより、正しいプールを推測しようとします。
正しいプールから起動するために、BIOSで最初の起動デバイスとしてブートローダーを含むドライブを設定し、2番目と3番目としてルートミラープールに属するドライブを設定しました。
適切な配布CDから「ライブCD」モードで起動します。 rootとしてログインします。
ここで、起動可能なプールが「タンク」と呼ばれているとしましょう。
マウントせずにプールをインポートします-
zpool import -N -f tank
次に、bootfsプロパティを適切に設定します。一般的なブートファイルシステム名は「tank/ROOT/default」です。
zpool set bootfs=tank/ROOT/default tank
起動可能なプールについては以上です。起動できないプールについても繰り返します。今回はbootfsプロパティを「」に設定します。これで完了です。
cp -r /boot
正しいプールから間違ったプールへ。間違ったプールのbootfs
プロパティが空であるか、正しいプールに設定されていることを確認してください。