編集:このスレッドで誰かが指摘したように、問題は、ある時点でのブートプロセスが、GRUBのループバック機能では不可能な方法でループバックデバイスからルートファイルシステムをマウントしたいということです。PC-BSDはTrueOSに名前が変更され、現在USBイメージを提供していることに注意してください。
私はBSDに詳しくないので、ArchのマルチブートUSBドライブの記事でBSDについて何も見つかりませんが、GRUBの記事には3つの方法があります。
埋め込まれたブートレコードのチェーンロード
menuentry 'FreeBSD' {
insmod ufs2
set root='hd0,gpt4,bsd1'
chainloader +1
}
これは単純なようで、適切なファイルシステムモジュールをロードすることは良い考えのようですが、光学メディアにはISO 9660またはUDFがあり、私の知る限りではEl Torito以外のパーティションがないことに注意してください。
従来のBSD 2ndステージローダーの実行
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やレガシー経由で動作させる方法を見つけるために、それを試してみることができます。
ls
与えopen '/' failed: no such file or directory
ます。ルートが見つからない(どうやら)間、ローダーはどのように機能するのでしょうか。