Como posso inicializar o FreeBSD e o PC-BSD - com o GRUB2 no MBR?

1

Eu tenho um computador com vários sistemas operacionais instalados em diferentes partições:

  1. FreeBSD
  2. PC-BSD
  3. Solaris
  4. Partição estendida
  5. / -partition para o Linux-Mint
  6. Trocar por Linux-Mint
  7. / home para o Linux-Mint
  8. / -partition (e tudo) para o Linux CentOS

Meu sistema operacional principal é o Linux-Mint, um derivativo do Ubuntu.

Eu tenho o GRUB2 instalado no MBR e ele (GRUB) usa dados da instalação do Linux-Mint (/ boot / grub etc.).

O FreeBSD e o PC-BSD têm seu próprio gerenciador de inicialização de segundo estágio em sua partição. O Solaris tem sua própria instalação GRUB em sua partição (que atua como um carregador de inicialização de segundo estágio, permitindo que eu selecione entre os diferentes kernels Solaris). O Linux-Mint e o CentOS são inicializados pelo GRUB no MBR.

+++

Meu problema é o FreeBSD e o PC-BSD - eles simplesmente não tocam bem um com o outro! Mesmo que eu tenha especificado diferentes partições-raiz, etc., nas entradas do GRUB para as duas instalações do BSD; o mesmo (ou FreeBSD ou PC-BSD) é inicializado, não importa se eu selecionei o FreeBSD ou o PC-BSD do menu do GRUB.

Inicialização * O BSD parece ser um processo de três estágios: O MBR-loader (1º estágio), carrega um segundo estágio nas partições do BSD, que finalmente carrega o kernel real (3º estágio).

Finalmente me abaixando para RTFM sobre a inicialização em * BSD, eu descobri o seguinte detalhe sobre o segundo estágio BSD-bootloader (que foi instalado em ambas as minhas partições BSD):

  • Se nenhuma partição BSD estiver marcada como a ativa (a inicializável) na tabela de partições, o carregador iniciará o carregamento do terceiro estágio do kernel BSD loacated na primeira partição BSD no disco - não importa de qual partição BSD o segundo estágio foi carregado. No meu caso, sempre carrega o FreeBSD (desde o primeiro).
  • Se, por outro lado, uma partição BSD estiver marcada como ativa (inicializável), este será o kernel BSD que será carregado como terceiro estágio. No meu caso, ou eu sempre recebo o FreeBSD ou sempre obtenho o PC-BSD.

Certamente deve haver alguma maneira de contornar isso ?! Talvez de alguma forma pulando o 2º estágio, e deixar o GRUB carregar o kernel do 3º estágio diretamente - e então diferentes kernels dependendo da minha escolha ... Ou talvez alguns argumentos especiais ou configurações para o 2º estágio - ou talvez um carregador de segundo estágio alternativo? Alguém aqui se deparou com um problema semelhante e resolveu o problema?

PS: A instalação do GRUB no MBR, sobrescreveu o primeiro boot loader instalado pelo FreeBSD (e PC-BSD). Eu duvido que usando a primeira fase do FreeBSD teria resolvido o meu problema, já que o problema é (AFAIK) o segundo estágio loader.

    
por Baard Kopperud 09.10.2014 / 17:28

1 resposta

0

Primeiro, eu não usaria o MBR, porque você tem 4 sistemas operacionais e isso não vai longe. Você precisa ter a partição / boot como primária e não estendida. Então você joga fora a instalação do Solaris ou a do Linux. Inicializar no FreeBSD (ou PC-BSD ... o que for, não faz diferença) com o GRUB2 é fácil. Você acabou de definir o seu "set root = ..." e então você diz "kfreebsd / boot / loader" e lá vai você. Para o seu tipo, eu usaria a tabela de partições GUID / GPT, lá você também pode dividir todas as partições nele, você não precisa ter fatias BSD extras então.

    
por 11.10.2014 / 21:29