web-dev-qa-db-ja.com

FreeBSDを起動するUEFIの設定GRUB

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を誰かが共有できるかどうかを高く評価します。

2
Satpal Parmar

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が生成されます。

2
GAD3R