grubを使用してfreeBSD 10.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を起動するためのgrub設定を共有できる場合は非常に感謝します。
答え1
Linuxオペレーティングシステムは、新しい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
パーティション(サイズ= 1M)を作成する必要があります。
FreeBSDはgrub
ポートコレクションからインストールし、次のコマンドを使用して正しくインストールします。
grub-install --modules=part_gpt /dev/ada0
gpart show
正しいデバイスを取得するには、コマンドを使用してください。
コマンドを実行すると、コマンドが生成されgrub-mkconfig -o /boot/grub/grub.cfg
ます。grub.cfg