GRUB2를 사용하여 MBR에서 FreeBSD 및 PC-BSD를 이중 부팅하는 방법은 무엇입니까?

GRUB2를 사용하여 MBR에서 FreeBSD 및 PC-BSD를 이중 부팅하는 방법은 무엇입니까?

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

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

나의 기본 운영 체제는 Ubuntu에서 파생된 Linux-Mint입니다.

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

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

+++

내 문제는 FreeBSD와 PC-BSD입니다. 그들은 잘 지내지 못합니다! 두 BSD 설치에 대한 GRUB 항목에 다른 루트 파티션 등을 지정하더라도 GRUB 메뉴에서 FreeBSD를 선택하든 PC-BSD를 선택하든 동일한 파티션(FreeBSD 또는 PC-BSD)이 부팅됩니다.

부팅 *BSD는 3단계 프로세스로 보입니다. MBR 로더(1단계)는 2단계에서 BSD 파티션을 로드하고 마지막으로 실제 커널(3단계)을 로드합니다.

마지막으로 *BSD 부팅과 관련하여 RTFM으로 축소했으며 두 번째 단계 BSD 부트로더(두 BSD 파티션 모두에 설치됨)에 대한 다음과 같은 정보를 찾았습니다.

  • 파티션 테이블에 활성(부팅 가능)으로 표시된 BSD 파티션이 없으면 로더는 다음 위치에 있는 BSD 커널 로드의 세 번째 단계를 시작합니다.첫 번째 BSD 파티션디스크에서 - 두 번째 단계가 로드되는 BSD 파티션에 관계없이. 내 경우에는 그럴 것이다.언제나FreeBSD를 로드합니다(첫번째 것이기 때문에).
  • 반면, BSD 파티션이 활성(부팅 가능)으로 표시되면 이는 세 번째 단계로 로드된 BSD 커널이 됩니다. 내 경우에는 항상 FreeBSD를 사용하거나 항상 PC-BSD를 사용합니다.

분명히 이 문제를 해결할 수 있는 방법이 있을 것입니다. 어쩌면 두 번째 단계를 건너뛰고 GRUB가 세 번째 단계 커널을 직접 로드하도록 할 수도 있습니다.다른커널은 내 선택에 따라 달라집니다... 아니면 두 번째 단계에 대한 일부 특수 매개변수나 구성 또는 대체 두 번째 단계 로더일까요? 여기에 비슷한 문제가 발생하여 해결한 사람이 있습니까?

추신: MBR에 GRUB를 설치하면 FreeBSD(및 PC-BSD) 설치의 첫 번째 단계 부트로더가 무시됩니다. 그러나 (내가 아는 한) 문제는 두 번째 단계 로더에 있기 때문에 FreeBSD 첫 번째 단계를 사용하면 내 문제가 해결될 것이라고는 생각하지 않습니다.

답변1

우선, 4개의 운영 체제가 있고 그다지 멀리 가지 않기 때문에 MBR을 사용하지 않을 것입니다. /boot 파티션을 확장 파티션이 아닌 기본 파티션으로 만들어야 합니다. 따라서 Solaris 설치나 Linux 설치를 포기합니다. GRUB2를 사용하면 FreeBSD(또는 PC-BSD...무엇이든 차이 없음)로 부팅하는 것이 쉽습니다. "set root=..."를 정의한 다음 "kfreebsd /boot/loader"라고 말합니다. 귀하의 유형에서는 GUID/GPT 파티션 테이블을 사용하고 모든 파티션을 이 테이블로 분할할 수도 있으며 그러면 추가 BSD 슬라이스가 필요하지 않습니다.

관련 정보