¿Cómo puedo realizar un arranque dual en FreeBSD y PC-BSD con GRUB2 en MBR?

¿Cómo puedo realizar un arranque dual en FreeBSD y PC-BSD con GRUB2 en MBR?

Tengo una computadora con varios sistemas operativos instalados en diferentes particiones:

  1. FreeBSD
  2. PC-BSD
  3. Solaris
  4. Partición extendida
  5. / -partición para Linux-Mint
  6. Cambiar por Linux-Mint
  7. /home para Linux-Mint
  8. / -partición (y todo) para Linux CentOS

Mi sistema operativo principal es Linux-Mint, un derivado de Ubuntu.

Tengo GRUB2 instalado en MBR y (GRUB) utiliza datos de la instalación de Linux-Mint (/boot/grub, etc.).

FreeBSD y PC-BSD tienen cada uno su propio cargador de arranque de segunda etapa en su partición. Solaris tiene su propia instalación de GRUB en su partición (que actúa como un cargador de arranque de segunda etapa, lo que me permite seleccionar entre diferentes núcleos de Solaris). Linux-Mint y CentOS se inician mediante GRUB en MBR.

+++

Mi problema es FreeBSD y PC-BSD: ¡simplemente no funcionan bien entre sí! Aunque he especificado diferentes particiones raíz, etc. en las entradas de GRUB para las dos instalaciones de BSD; Se inicia el mismo (ya sea FreeBSD o PC-BSD), sin importar si seleccioné FreeBSD o PC-BSD en el menú de GRUB.

Arrancar *BSD parece ser un proceso de tres etapas: el cargador MBR (primera etapa), carga una segunda etapa en las particiones BSD, que finalmente carga el núcleo real (tercera etapa).

Finalmente, bajando a RTFM sobre el arranque en *BSD, descubrí el siguiente dato sobre el gestor de arranque BSD de segunda etapa (que se instaló en mis dos particiones BSD):

  • Si no hay ninguna partición BSD marcada como activa (la de arranque) en la tabla de particiones, entonces el cargador comenzará la carga de la tercera etapa del núcleo BSD ubicado en el1.ª partición BSDen el disco, sin importar desde qué partición BSD se cargó la segunda etapa. En mi caso, serásiemprecargue FreeBSD (ya que es el primero).
  • Si, por otro lado, una partición BSD está marcada como activa (de arranque), este será el kernel BSD que se cargará como tercera etapa. En mi caso, siempre obtendré FreeBSD o siempre obtendré PC-BSD.

¡¿Seguramente debe haber alguna manera de evitar esto?! Quizás de alguna manera saltarse la segunda etapa y dejar que GRUB cargue el kernel de la tercera etapa directamente, y luegodiferentekernels dependiendo de mi elección... ¿O quizás algunos argumentos o configuraciones especiales para la segunda etapa, o tal vez un cargador alternativo de segunda etapa? ¿Alguien aquí se ha encontrado con un problema similar y lo ha resuelto?

PD: La instalación de GRUB en el MBR sobrescribió el cargador de arranque de primera etapa instalado por FreeBSD (y PC-BSD). Sin embargo, dudo que usar la primera etapa de FreeBSD hubiera resuelto mi problema, ya que el problema es (AFAIK) el cargador de la segunda etapa.

Respuesta1

Primero, no usaría MBR, porque tienes 4 sistemas operativos y eso no llegará muy lejos. Necesita tener la partición /boot como primaria y no extendida. Entonces, o descartas la instalación de Solaris o la de Linux. Arrancar en FreeBSD (o PC-BSD... lo que sea, no hace ninguna diferencia) con GRUB2 es fácil. Simplemente define su "set root=..." y luego dice "kfreebsd /boot/loader" y listo. Para su tipo, usaría la tabla de particiones GUID/GPT, allí también puede dividir todas las particiones en ella, entonces no necesita tener segmentos BSD adicionales.

información relacionada