2つのZFSプールがあるシステムにFreeBSD 10.1をインストールし、ブートローダーのみを含む他のハードドライブから起動しました。メインプールディスクが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番目のプールのディスクを取り外すと、システムが正しく起動します。
ありがとうございます。
答え1
まあ、私はそれを自分で見つけました。
ZFSローダーは起動するルートプールを設定できませんが、プールされたBIOSの起動優先順位で正しいルートプールを推測しようとします。
正しいプールから起動するために、ブートローダを含むドライブをBIOSの最初の起動デバイスとして設定し、ルートミラープールに属するドライブを2番目と3番目に設定しました。
答え2
cp -r /boot
正しいプールから間違ったプールに移動してみてください。bootfs
無効なプールのプロパティが空であるか、正しいプールに設定されていることを確認してください。
答え3
適切な展開CDから「ライブCD」モードで起動します。ルートとしてログインします。
では、起動可能なプールを「タンク」と仮定しましょう。
プールをインストールせずにインポート -
zpool import -N -f tank
次に、bootfs 属性を適切に設定します。一般的なブートファイルシステム名は「tank/ROOT/default」です。
zpool set bootfs=tank/ROOT/default tank
起動可能なプールの内容です。起動できないプールに対してこの手順を繰り返します。今回は bootfs プロパティを "" に設定します。これですべての作業が完了しました。