UEFI 부팅 FreeBSD를 위한 GRUB 구성 작동

UEFI 부팅 FreeBSD를 위한 GRUB 구성 작동

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_customgrub.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

관련 정보