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