Grubを使用してfreeBSD10.1を実行しているx86_64マシンをデュエルブートしようとしています。 FreeBSD Grub2-efiのインストールはうまくいっているようですが、grub.cfgはありませんでした。 grub.cfgを手動で作成しました。以下は、私が試した構成と得た結果です。
私のセットアップ:
gpart show -l
=> 6 146239733 da0 GPT (558G)
6 10 - free - (40K)
16 128 1 (null) (512K)
144 262144 2 efi (1.0G) -----> MY ESP
262288 1048576 3 rootfs (4.0G) ----> freebsd+ grub are here
1310864 2097152 4 swap (8.0G)
3408016 1048576 5 nextroot (4.0G)
グラブインストールコマンド:
grub-install --target=x86_64-efi --efi-directory=/efi/ --bootloader-id=grub --boot-directory=/boot/ --modules="part_gpt part_msdos"
構成1:
menuentry "FreeBSD" {
insmod ufs2
insmod bsd
set root=(hd0,3)
kfreebsd /boot/loader.efi
}
結果:「無効なa.outヘッダー」と文句を言っています。
構成2:
menuentry "FreeBSD" {
insmod ufs2
insmod bsd
set root=(hd0,3)
kfreebsd /boot/loader
}
結果:上部に白いぼかしが付いた空白の画面。ビデオの問題ですか?
構成3:
menuentry "FreeBSD" {
insmod ufs2
insmod bsd
insmod gfxterm
insmod font
insmod videotest
insmod videoinfo
set gfxmode=auto
set kernvt="vt"
set root=(hd0,3)
kfreebsd /boot/boot1.efi
}
再び結果:上部にぼやけが速く変化する空白の画面。
構成4:
menuentry "FreeBSD" {
insmod ufs2
insmod bsd
insmod gfxterm
insmod videotest
insmod videoinfo
set gfxmode=auto
set kernvt="vt"
set root=(hd0,3)
chainloader /boot/boot1.efi
}
結果:署名が一致しません。起動しない
何が欠けているのかわかりません。誰かが私のgrub.cfgを確認できますか?私が見逃している明らかなものはありますか? x86でのUEFIブートgrubに使用するgrubconfigを誰かが共有できるかどうかを高く評価します。
Linux OSから、新しいFreeBSDエントリを/etc/grub.d/40_custom
に追加してから、grub.cfg
ファイルを再生成します。
rm /boot/grub/grub.cfg
/etc/grub.d/40_custom
に次の行を追加します。
menuentry "FreeBSD" {
insmod ufs2
set root=(hd0,gpt3)
kfreebsd /boot/loader
}
grub-mkconfig
を実行します:
grub-mkconfig -o /boot/grub/grub.cfg
編集
bios-boot
パーティションを作成する必要があります(サイズ= 1 M)
FreeBSDから、portsコレクションからgrub
をインストールした後、次のコマンドを使用して正しくインストールします。
grub-install --modules=part_gpt /dev/ada0
gpart show
コマンドを使用して、適切なデバイスを取得します。
grub-mkconfig -o /boot/grub/grub.cfg
コマンドを実行すると、grub.cfg
が生成されます。