내 MBR 드라이브에 Grub2와 함께 Gentoo x64를 설치했습니다. 오늘 저는 FreeBSD x64 9.2를 설치했습니다. 이제 젠투에서 grub2
메뉴 목록 에 FreeBSD를 추가하려고 합니다.
grub2-install /dev/sda
os-prober
grub2-mkconfig -o /boot/grub2/grub.cfg
젠투에서 위의 작업을 수행했지만 FreeBSD를 찾지 못했습니다. FreeBSD 중첩 파티션이 있고 파티션을 sda1
포함 freebsd-ufs
하고 freebsd-swap
있습니다.
FreeBSD를 grub2
어떻게 추가 할 수 있습니까?
답변
여기 내 것이있다 :
menuentry "FreeBSD" --class freebsd --class bsd --class os {
insmod ufs2
insmod bsd
set root=(hd0,1)
kfreebsd /boot/kernel/kernel
kfreebsd_loadenv /boot/device.hints
set kFreeBSD.vfs.root.mountfrom=ufs:/dev/ada0s1a
set kFreeBSD.vfs.root.mountfrom.options=rw
set kFreeBSD.hw.psm.synaptics_support=1
}
답변
저의 목표는 다음과 같습니다. /etc/grub.d에서 40_custom을 편집하여 Grub2에서 FreeBSD 10을 부팅하십시오
내 설정 : FreeBSD10은 내 시스템의 다섯 번째 hdd (Linux에서는 / dev / sde, 따라서 Grub2의 경우 hd4입니다. Grub2의 경우 hd는 드라이브의 경우 hd0에서 시작하고 파티션은 0이 아닌 1에서 시작 함을 기억하십시오. 루트 파티션은 FreeBSD의 Guided partitioning (전체 디스크 사용)을 설치하는 동안 (가장 간단한) 두 번째 파티션 (/ dev / sde2)입니다. 즉, 다섯 번째 hdd와 두 번째 파티션에 대해 root = ‘(hd4,2)’를 설정하십시오.
info : (chainloader +1은 실제로 필요하지 않습니다. 다음은 FreeBSDs Bootloader로 직접 연결됩니다).
조금만 요약하면 set root = (x, x)를 적용하면 더 이상 필요하지 않습니다. 커널을 직접 부팅하려면 아래 항목보다 약간 복잡합니다.
menuentry "FreeBSD 10.0" {
insmod part_gpt
set root='(hd4,2)'
kfreebsd /boot/loader
}
나는 ‘/ dev / sde2의 알 수없는 리눅스 배포판’을 찾은 os-prober에 약간 실망했습니다.
추신 : 나중에 ‘update-grub’과 Taddaa를 잊지 마십시오. 🙂 누군가가 성공하면, 메시지를 던져, 나는 당신의 의견을 드리겠습니다!
답변
이 순서대로 수행하십시오.
-
uzsolt의 지시문을 편집
/etc/grub.d/40_custom
하고 추가 하십시오 . 파일 끝에 지시문을 추가 하십시오. 안에있는 것을 삭제하지 마십시오 . -
40_custom
실행 가능한지 확인하십시오 . 그렇지 않다면chmod u+x 40_custom
. -
이제 변경 사항을에 기록하십시오
grub.cfg
.grub2-install /dev/sda os-prober grub2-mkconfig -o /boot/grub/grub.cfg
-
타다! 지금 재시작 해; GRUB 메뉴의 OS 목록에 FreeBSD가 있어야합니다.
UFS 파티션 슬라이스에 액세스하려면 다음을 수행해야합니다.
-
커널 구성을 편집하여
UFS filesystem
및 을 추가하십시오UFS label
. -
그런
make && make_modules
다음 커널. -
UFS 파일 시스템 소프트웨어를 설치하십시오 .
-
Linux에서 UFS 슬라이스를 마운트하십시오.
sudo mkdir /mnt/freebsd && sudo mount -r -t ufs -o ufstype=ufs2 /dev/sda1 /mnt/freebsd
답변
이 사이트 에 따르면 :
- 리눅스 부팅.
/boot/grub2/custom.cfg
파일을 작성 하십시오.-
작성된 파일에 다음 행을 추가하십시오.
menuentry "FreeBSD" { set root='(hd0,3)' kfreebsd /boot/loader }
여기서
hd0,3
이것은 첫 번째 하드 드라이브이고 FreeBSD가 세 번째 파티션에 있음을 의미합니다 (디스크 번호는 0부터 시작하고 파티션 번호는 1부터 시작하므로). 아마 당신은 그 숫자를 조정해야 할 것입니다. 디스크가 무엇인지 알아내는 한 가지 방법은 실행하는 것fdisk -l
입니다. -
를 실행하십시오
grub2-mkconfig -o /boot/grub2/grub.cfg
.
명령이 약간 다를 수 있습니다. grub2-mkconfig
수도 grub-mkconfig
와에 있도록 (이 BunsenLabs 리눅스에 내 사건이었다).
이 시스템에서 ZFS 대신 UFS와 함께 FreeBSD를 사용하고 있다는 점에 유의하십시오. 제시된 솔루션은 내가 들었던 ZFS 기반 설치에서는 작동하지 않습니다.
답변
아치 리눅스 위키 같은 아주 좋은 설명이있다. 일반적인 방법, 즉 직접 OS 로딩과 체인 로딩을 안내합니다.
그러나 sudo grub-mkconfig -o /boot/grub/grub.cfg
변경 사항을 커밋 하려면 반드시 발행해야합니다 .