Querendo experimentar vários sistemas operacionais, instalei o seguinte em um disco rígido particionado por MBR:
Partição 1: FreeBSD em UFS dividido em root-slice e swap.
Não há problemas para inicializar ...
Partição 2: PC-BSD em UFS dividido em root-slice, swap, var e usr
Tenho um menu que me permite escolher entre os dois, sem problemas de inicialização ...
Partição 5: (lógica 1): partição raiz LinuxMint (usando outras partições lógicas para troca, etc.)
Instalado o GRUB2, sem problemas ao inicializar o LinuxMint, mas não há como selecionar outro SO '.
Em /etc/grub.d, adicionei as seguintes entradas:
15_freebsd:
#!/bin/sh -e
echo "Adding FreeBSD..."
cat << EOF
menuentry "FreeBSD" {
set root=(hd0,1)
chainloader (hd0,1)+1
}
EOF
16_pcbsd:
#!/bin/sh -e
echo "Adding PC-BSD..."
cat << EOF
menuentry "PC-BSD" {
set root=(hd0,2)
chainloader (hd0,2)+1
}
EOF
Eu os defini como executáveis, executei grub2-update
e grub-install /dev/sda
.
Eu agora tinha entradas para o FreeBSD e para o PC-BSD. Usando o do FreeBSD funcionou como esperado, eu inicializei no FreeBSD ... Mas usando o do PC-BSD, também inicializou no FreeBSD - não PC-BSD como eu esperado.
Eu não posso ver francamente o que fiz de errado, então chainloading
obviamente não funciona para o meu set-up. Eu estava lá imaginando quais seriam os parâmetros corretos para inicializar o PC-BSD diretamente (ou seja, sem chainloading) do GRUB instalado no LinuxMint? A parte mais estranha é que a entrada PC-BSD "funcionou" - acabou de iniciar o sistema operacional errado ...
(É claro que qualquer ideia sobre o porquê de o chainloading funcionar com o FreeBSD, mas não com o PC-BSD, também seria uma ajuda.)