渡すループバックコマンドを実行すると、GRUB2を使用してISOファイルを直接起動できます。
今、私はその項目を設定しました。メニューアイテムPC-BSD起動ライブDVD ISOしかし、始めようとするとFreeBSDブートローダ出力:
can't load 'kernel'
現在使用しているGRUB2メニュー項目は次のとおりです。
menuentry "PC-BSD" {
search --no-floppy --fs-uuid --set root 0d11c28a-7186-43b9-ae33-b4bd351c60ad
loopback loop /PCBSD9.0-RC1-x64-DVD-live.iso
kfreebsd (loop)/boot/loader
}
PC-BSDライブシステムを起動するためにこれを修正する方法を知っている人はいますか?
答え1
「カーネル」を読み込めませんでした後、ローダーのプロンプトが表示されます。
ls
カーネルの位置を確認、使用、ロードできるコマンドがload
ありますboot
。
kfreebsd (loop)/boot/kernel/kernel
.
答え2
イメージにブートローダをチェーンロードしてみることができます。 grub2チェーンロードは次のように動作します。
insmod chain
set root = (hdX,Y)
chainloader +1
答え3
編集:誰かが指摘したようにこのスレッド問題は、ある時点で、ブートプロセスがループバックデバイスからルートファイルシステムをマウントしようとしたが、GRUBのループバック機能がこれを実行できないことです。 PC-BSDの名前が次に変更されました。実際のオペレーティングシステムこれでUSBイメージを提供します。
私はBSDについてよく知らず、ArchのBSDについては何も見つかりません。マルチブートUSBドライブの記事しかし、3つの方法があります。GRUB 記事、ループを調整してデバイスを取り付けるときは、少なくとも1つが機能するはずです。
組み込みブートレコードチェーンのロード
menuentry 'FreeBSD' { insmod ufs2 set root='hd0,gpt4,bsd1' chainloader +1 }
これは簡単に見え、適切なファイルシステムモジュールをロードするのが良い考えのようです。しかし、光学メディアにはISO 9660またはUDFがあり、私が知っている限り、El Torito以外のパーティションはありません。
既存のBSD 2段階ローダーの実行
menuentry 'FreeBSD' { insmod ufs2 set root='(hd0,4)' kfreebsd /boot/loader }
これは、検索を呼び出さずに静的構成で行うこととほぼ同じです。
カーネルを直接ロード
menuentry 'FreeBSD' { insmod ufs2 set root='hd0,gpt4,bsd1' ## or 'hd0,msdos4,bsd1', if using an IBM-PC (MS-DOS) style partition table kfreebsd /boot/kernel/kernel kfreebsd_loadenv /boot/device.hints set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s4a set kFreeBSD.vfs.root.mountfrom.options=rw }
これは非常に複雑に見えます。私はPC-BSD 10.3 isoをダウンロードし始めました。今後数日以内にUEFIまたは以前のバージョンで動作させる方法を理解できることを願っています。