さまざまなLinuxイメージをマルチブートするためのUSBキーの設定があります。 FreeNASを追加してもかまわないし、_ doc にサンプルを追加してgrub.cfg
menuentry "FreeNAS-8.0.4-RELEASE-x64" {
insmod ufs2
insmod iso9660
# /usr/local/sbin/grub-probe -d /dev/sde1 -t fs_uuid
# c89c-7b3a
#search --no-floppy --fs-uuid --set c89c-7b3a
set isofile="/boot/FreeNAS-8.0.4-RELEASE-x64.iso"
loopback loop $isofile
kfreebsd (loop)/boot/kernel/kernel.gz
kfreebsd_loadenv (loop)/boot/device.hints
#set FreeBSD.vfs.root.mountfrom=ufs:/dev/ad4s1a
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/acd0
set kFreeBSD.vfs.root.mountfrom.options=rw
#set vfs.root.mountfrom=cd9660:/dev/ad1s1
#set vfs.root.mountfrom.options=rw
}
Vfsルートの設定については少しわかりません。これを起動しようとした結果です。
いくつかの有用な情報はで見つけることができます; grub2 USBスティックからFreeBSDisoを起動します
USBフラッシュドライブから起動しようとしているので、デバイスはdaで始まります。出力では、/ dev/da0として検出されたことがわかります。デバイスのパーティション分割方法に応じて、/ dev/da0s1aまたは/ dev/da0a(bsdlabelがない場合)のようになります。
これに伴う問題は、コンピューターによっては、すべての場合にda0として検出されない可能性があることです。 daはscsiデバイスにも使用され、usbメディアリーダーもda *デバイスとして登場します。ブートできるようになった後の回避策は、GEOMラベル機能を使用してマウントポイントに「名前を付け」、それからfstabを変更して名前で参照できるようにすることです。ラベルが付けられているデバイスに関係なく、常に機能します。 FreeBSD環境の詳細については、man glabel。 (またはfreebsdマニュアルでウェブサイトをチェックしてください)
USBドライブの起動に関しては、カーネルの存在がまだ報告されていないため、カーネルが停止しているようです。あなたの設定は何をするのだろうかと思いますが、それは機能せず、起動するためのFreeBSDカーネルの正しいデバイス名を提供しませんでした。
「?」と入力して、利用可能なドライブについてカーネルに問い合わせる必要があります。プロンプトが示唆するように。その後、ルートパーティションの正しいルートファイルシステム仕様を入力する必要があります。 USBドライブをどのようにパーティション分割したかに応じて、ufs:/ dev/da0s1aのようになります。
正しいドライブパスが見つかったら、そのパスでgrub.confを変更する必要があります。また、設定は単に黙って無視されるため、「kFreeBSD」ではなく「FreeBSD」と表示されていることにも注意してください。
ローダー変数を追加して、USB初期化の遅延を増やしてみてください。この変数は、/ boot/loader.confに追加するか、起動時にプロンプトで追加できます。または、ブートメニューの[3番目]オプションを選択して、USBからのブートを可能にすることもできます。 (3番目かどうかは100%わかりません)
set kern.cam.boot_delay="10000"
これは、起動プロセスでUSBスティックのマウントに問題がある場合に機能します。
上記の3つのオプションはすべて同じことを実現します
幸運を