Adicionar o FreeBSD no Grub do Debian

Vamos adicionar a entrada do FreeBSD no Grub do Debian. O Grub do sistema Debian e quase todas ou se não todas as distribuições GNU/linux, não enxergam a partição do FreeBSD corretamente, sendo assim não adicionando a entrada na instalação do Grub. Para contornar esse problema, vamos adicionar manualmente a entrada do FreeBSD no Grub do Debian. O FreeBSD é um sistema do tipo Unixlike com diferença entre as licenças das distribuições GNU/Linux.

Para saber mais sobre o projeto FreeBSD e o projeto Debian, clique nos botões abaixo.

FreeBSD

Debian

Para saber mais sobre BSD, de uma lida nos artigos de introdução ao BSD nos botões abaixo:

Introdução ao BSD – Parte 1

Introdução ao BSD – Parte 2

Identificando as partições dos discos

Para começar, tenho outros discos e sistemas instalados em multiboot, no caso 4 HD’s SATA no máquina, sda (Windows 10 – no sda2), sdb (Debian – no sdb1 / openSUSE – no sdb2), sdc (FreeBSD – no sdc5) e sdd (disco de dados – no sdd1), assim devemos saber como são identificado os discos e partições dos mesmos tanto no Debian como no FreeBSD.

No Debian, executamos o comando lsblk ou fdisk -l (como root) para listar com detalhes as partições dos discos e assim anotando os devices com suas partições para logo compararmos com os devices e partições no FreeBSD.

Comando: lsblk
Comando – lsblk no Debian
Comando: fdisk -l
Comando – fdisk -l no Debian

Agora vamos configurar na BIOS ou escolher com a botão F8 (o botão vai depender de cada bios, no meu caso é F8) o HD onde esta instalado o FreeBSD e iniciar o mesmo para podermos listarmos os discos e partições fazendo uma comparação com a listagem que identificamos no Debian.

No FreeFSD, executamos o comando gpart show para listar com detalhes as partições dos discos.

Comando: gpart show
Comando – gpart show no FreeBSD
Comando – gpart show no FreeBSD cont.

Vale lembrar que:

  • O Grub enxerga o primeiro HD como hd0, o segundo como hd1 e assim por diante. Após a virgula é identificado o número da partição começando do número 1.
  • O Debian enxerga o primeiro HD como sda, o segundo HD como sdb e assim por diante. Após a letra vem o número da partição.
  • O FreeBSD enxerga o primeiro HD como ada0, o segundo HD como ada1 e assim por diante.

Para saber mais sobre o Grub, acesse o manual clicando no botão abaixo.

Manual do Grub2

 

Adicionando a entrada do FreeBSD no Grub do Debian

Abaixo, veremos como está a identificação dos 4 HD’s de acordo com os comandos executados acima.

No Debian:

HD          GRUB    DEBIAN   ? Sistema          – partição
1 (160 GB)  hd0     sda      ? Recovery Windows – sda1 / Windows – sda2
2 (500 GB)  hd1     sdb      ? Debian           – sdb1 / openSUSE – sdb2
3 (160 GB)  hd2     sdc      ? FreeBSD          – sdc5 / Swap – sdc6
4 (1 TB)    hd3     sdd      ? Dados            – sdd1

No FreeBSD:

HD          GRUB    FREEBSD  ? Sistema          – partição
1 (160 GB)  hd0     ada3     ? Recovery Windows – ada3s1 / Windows – ada3s2
2 (500 GB)  hd1     ada0     ? Debian           – ada0s1 / openSUSE – ada0s2
3 (160 GB)  hd2     ada1     ? FreeBSD          – ada1s1 / Swap – ada1s2
4 (1 TB)    hd3     ada2     ? Dados            – ada2s1

 

Notamos que o FreeBSD identificou o HD número 3 onde o mesmo esta instalado como se fosse o segundo HD ada1. A ordem de identificação do Grub no Debian não bate corretamente com a identificação do FreeBSD, por isso que devemos analisar bem como estão sendo identificado os devices tanto no Debian como no FreeBSD para podermos setar adequadamente a partição do FreeBSD no Grub do Debian.

Como já sabemos as identificações dos discos e partições, vamos acrescentar manualmente a entrada do FreeBSD no Grub adicionando no arquivo /etc/grub.d/40_custom.

Abra um editor de texto de sua preferência, no meu caso o nano e adicione as linhas abaixo, lembrando que deverá mudar a identificação do disco e partição de acordo com a configuração de sua máquina.

Comando: nano /etc/grub.d/40_custom
Comando – nano no Debian

Adicione as linhas abaixo no arquivo 40_custom.

menuentry ‘FreeBSD 11.1 em /dev/sdc1’{
set root=(3,1)
chainloader +1
}
Arquivo: 40_custom
Arquivo – 40_custom no Debian
Se setarmos no Grub como root=(hd2,1) como o HD 3 e partição 1, ao escolher a entrada no Grub, retorna que não foi encontrada nenhuma partição. Assim devemos alterar para root=(hd3,1), assim a entrada é identificada e o sistema carregado. A identificação dos devices no Grub, Debian e FreeBSD, ainda não encontrei referência para tal diferença, assim que tiver informações sobre esse problema, atualizarei essa parte do tutorial.

Após editado o arquivo pelo nano, vamos salvar e fechá-lo com as teclas Ctrl+o e Crtl+x. Em seguida, vamos deixar o arquivo com permissão de execução executando o comando chmod +x /etc/grub.d/40_custom. Depois da permissão de execução, executaremos o comando update-grub para poder gravar a entrada no Grub.

Comando: chmod +x /etc/grub.d/40_custom e update-grub
Comando – update-grub no Debian

Pronto, agora é só reiniciar a máquina e escolher a entrada do FreeBSD no menu do Grub e iniciar o sistema.

Tela do Grub

Neste tutorial, você viu como adicionar o FreeBSD no Grub do Debian, esperamos ter ajudado. Até a próxima…

Share This Article
Usuário do GNU/Linux desde 2004, graduado em Sistemas de Informação, entusiasta na cultura DevOps.
Sair da versão mobile