web-dev-qa-db-ja.com

FreeNASgrub2起動ISO

さまざまな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ルートの設定については少しわかりません。これを起動しようとした結果です。

failed to mount root

いくつかの有用な情報はで見つけることができます; grub2 USBスティックからFreeBSDisoを起動します

18
Thermionix

USBフラッシュドライブから起動しようとしているので、デバイスはdaで始まります。出力では、/ dev/da0として検出されたことがわかります。デバイスのパーティション分割方法に応じて、/ dev/da0s1aまたは/ dev/da0a(bsdlabelがない場合)のようになります。

これに伴う問題は、コンピューターによっては、すべての場合にda0として検出されない可能性があることです。 daはscsiデバイスにも使用され、usbメディアリーダーもda *デバイスとして登場します。ブートできるようになった後の回避策は、GEOMラベル機能を使用してマウントポイントに「名前を付け」、それからfstabを変更して名前で参照できるようにすることです。ラベルが付けられているデバイスに関係なく、常に機能します。 FreeBSD環境の詳細については、man glabel。 (またはfreebsdマニュアルでウェブサイトをチェックしてください)

1
Lucas Holt

USBドライブの起動に関しては、カーネルの存在がまだ報告されていないため、カーネルが停止しているようです。あなたの設定は何をするのだろうかと思いますが、それは機能せず、起動するためのFreeBSDカーネルの正しいデバイス名を提供しませんでした。

「?」と入力して、利用可能なドライブについてカーネルに問い合わせる必要があります。プロンプトが示唆するように。その後、ルートパーティションの正しいルートファイルシステム仕様を入力する必要があります。 USBドライブをどのようにパーティション分割したかに応じて、ufs:/ dev/da0s1aのようになります。

正しいドライブパスが見つかったら、そのパスでgrub.confを変更する必要があります。また、設定は単に黙って無視されるため、「kFreeBSD」ではなく「FreeBSD」と表示されていることにも注意してください。

0
kworr

ローダー変数を追加して、USB初期化の遅延を増やしてみてください。この変数は、/ boot/loader.confに追加するか、起動時にプロンプ​​トで追加できます。または、ブートメニューの[3番目]オプションを選択して、USBからのブートを可能にすることもできます。 (3番目かどうかは100%わかりません)

set kern.cam.boot_delay="10000"

これは、起動プロセスでUSBスティックのマウントに問題がある場合に機能します。

上記の3つのオプションはすべて同じことを実現します

幸運を

0
QNimbus