MBR의 GRUB2를 사용하여 FreeBSD와 PC-BSD를 이중 부팅하려면 어떻게 해야 합니까?

MBR의 GRUB2를 사용하여 FreeBSD와 PC-BSD를 이중 부팅하려면 어떻게 해야 합니까?

컴퓨터에는 여러 운영 체제가 서로 다른 파티션에 설치되어 있습니다.

  1. FreeBSD
  2. PC-BSD
  3. 솔라리스
  4. 확장 파티션
  5. / -Linux-Mint용 파티션
  6. Linux-Mint로 교환
  7. Linux-Mint의 경우 /home
  8. / -Linux CentOS용 파티션(및 모든 것)

내 주요 OS는 Ubuntu 파생물인 Linux-Mint입니다.

MBR에 GRUB2가 설치되어 있고 GRUB는 Linux-Mint 설치(/boot/grub 등)의 데이터를 사용합니다.

FreeBSD와 PC-BSD는 각각 자신의 파티션에 자체적인 2단계 부트로더를 가지고 있습니다. Solaris에는 파티션에 자체 GRUB 설치가 있습니다(2단계 부트로더 역할을 하여 다른 Solaris 커널 중에서 선택할 수 있음). Linux-Mint 및 CentOS는 MBR의 GRUB에 의해 부팅됩니다.

+++

내 문제는 FreeBSD와 PC-BSD입니다. 그들은 서로 잘 어울리지 않을 뿐입니다! 두 BSD 설치에 대한 GRUB 항목에 다른 루트 파티션 등을 지정했지만; GRUB 메뉴에서 FreeBSD를 선택했는지 PC-BSD를 선택했는지에 관계없이 동일한 것(FreeBSD 또는 PC-BSD)이 부팅됩니다.

부팅 *BSD는 3단계 프로세스로 보입니다. MBR 로더(1단계)는 BSD 파티션의 2단계를 로드하고, 최종적으로 실제 커널(3단계)을 로드합니다.

마지막으로 *BSD 부팅에 대해 RTFM으로 내려가서 2단계 BSD 부트로더(두 BSD 파티션 모두에 설치되어 있음)에 대한 다음과 같은 정보를 발견했습니다.

  • 파티션 테이블에 활성 파티션(부팅 가능)으로 표시된 BSD 파티션이 없으면 로더는 파티션 테이블에 있는 BSD 커널의 3단계 로딩을 시작합니다.첫 번째 BSD 파티션디스크에 -- 두 번째 단계가 어떤 BSD 파티션에서 로드되었는지에 관계없이. 내 경우에는 그럴 것이다.언제나FreeBSD를 로드합니다(처음이기 때문에).
  • 반면에 BSD 파티션이 활성(부팅 가능)으로 표시되면 이는 3단계로 로드되는 BSD 커널이 됩니다. 내 경우에는 항상 FreeBSD를 받거나 항상 PC-BSD를 얻습니다.

분명히 이 문제를 해결할 수 있는 방법이 있을 것입니다! 어쩌면 어떻게든 2단계를 건너뛰고 GRUB가 3단계 커널을 직접 로드하도록 할 수도 있습니다.다른내 선택에 따른 커널... 아니면 2단계에 대한 특별한 인수나 구성 또는 대체 2단계 로더일까요? 여기 누군가 비슷한 문제를 발견하고 해결한 사람이 있나요?

추신: MBR에 GRUB를 설치하면 FreeBSD(및 PC-BSD)가 설치한 1단계 부트로더를 덮어썼습니다. 문제는 (AFAIK) 2단계 로더이기 때문에 FreeBSD 1단계를 사용하면 내 문제가 해결될지 의심스럽습니다.

답변1

첫째, 나는 MBR을 사용하지 않을 것입니다. 왜냐하면 거기에 4개의 OS가 있고 그것은 멀리 가지 않을 것이기 때문입니다. /boot 파티션은 확장되지 않은 기본 파티션이어야 합니다. 따라서 Solaris 설치를 버릴 수도 있고 Linux 설치를 버릴 수도 있습니다. GRUB2를 사용하면 FreeBSD(또는 PC-BSD... 무엇이든 상관없음)로 부팅하는 것은 쉽습니다. "set root=..."를 정의한 다음 "kfreebsd /boot/loader"라고 말하면 됩니다. 귀하의 유형에 대해서는 GUID/GPT 파티션 테이블을 사용하고 모든 파티션을 분할할 수도 있으므로 추가 BSD 슬라이스가 필요하지 않습니다.

관련 정보