Como consertar o boot do FreeBSD

Single User no FreeBSD

Para começar, vamos ver como consertar o boot do FreeBSD editando o arquivo do boot do Grub onde é gerenciado o bootloader com o Debian e também o arquivo de identificação das partições no FreeBSD.

Uma breve descrição do problema. O Debian tem o Grub que é o gerenciador de boot da máquina onde tem mais 3 sistemas, o openSUSE, o FreeBSD e o Windows.

Após a substituição do disco HDD por um SDD, instalei o Debian nesse SSD para ele continuar a gerenciar o boot. Os arquivos para gerenciar o boot no Debian ficou configurado da mesma forma como antes, mas por algum motivo a partição do FreeBSD não estava sendo identificada.

No entanto, foi necessário verificar o que estava ocorrendo para que o Grub não identificasse a partição do FreeBSD.

Como consertar o boot do FreeBSD

Antes de qualquer coisa, é necessário verificar como esta a tabela de partição com o comando lsblk ou fdisk -l. Lembrando que para executar o comando fdisk deverá ter privilégio de root.

$ lsblk

Comando lsblk

$ sudo fdisk -l

Comando fdisk -l

Como podemos ver nas saídas dos comandos, temos 4 discos, sda, sdb, sdc e sdd. O disco sda tem o Debian na partição sda1, já o disco sdc tem o FreeBSD na partição sdc1, como é identificado com o comando fdisk.

Ao escolher a opção FreeBSD no Grub, retorna erro conforme é visto na imagem abaixo.

Por tanto, no próprio menu do Grub, na opção FreeBSD apertando a tecla “e” podemos editar a entrada do Grub e verificar com qual identificação o mesmo reconhece o FreeBSD.

Como é reconhecido os discos no Grub.

Observe que o Grub identifica o primeiro disco como 0 e a primeira partição como 1.

sda  > hd0
sda1 > hd0,1
sda2 > hd0,2

sdb  > hd1
sdb1 > hd1,1
sdb2 > hd1,2
sdb3 > hd1,3

sdc  > hd2
sdc1 > hd2,1
sdc2 > hd2,2
sdc3 > hd2,3

sdd  > hd3
sdd1 > hd3,1

Como o sdc (hd2) não foi identificado corretamente para o boot do FreeBSD, foi alterado para hd1 como se fosse o segundo disco (sdb). A tabela de partição identificada para o FreeBSD no Grub é a sdc1, como identificado com o comando fdisk, logo, ficando a identificação para o Grub como hd1,1.

Após editar no menu do Grub, para executar com essa modificação, pressione as teclas “Ctrl + x“. Deste modo vemos que o boot do FreeBSD carregou perfeitamente.

Como a modificação feita no Grub reconheceu a partição do FreeBSD, agora é só aditar a entrada do FreeBSD no arquivo 40_custom em /etc/grub.d/ no Debian.

menuentry 'FreeBSD 11.2 em /dev/sdc1'{
set root=(hd1,1)
chainloader +1
}

Erro no disco do FreeBSD

Com o boot do FreeBSD reconhecido perfeitamente, ao escolher a opção para carregar o sistema, nos deparamos com outro problema, agora com a identificação do disco no FreeBSD.

No prompt onde parar o boot, digite “?” (interrogação), assim é listado todos os discos identificado pelo FreeBSD.

Analisando o resultado e identificando qual o disco que é reconhecido para raiz “/” do sistema FreeBSD, em nosso caso o ada2s1a, portanto basta executar o comando abaixo para carregar o sistema.

ufs:/dev/ada2s1a

Com o sistema FreeBSD já iniciado, é preciso apenas editar o arquivo fstab no diretório /etc e mudar a identificação da partição raiz do sistema e salvar o mesmo.

/dev/ada2s1a       /       ufs         rw        0       0
/dev/ada2s1b       none    swap        sw        0       0

Pronto! Vimos como consertar o boot do FreeBSD, assim já podendo carregar o sistema perfeitamente.

Se gostou do tutorial, compartilhe.

Precisando de suporte? Entre em nosso grupo no Telegram para tirar suas dúvidas que os admins e outros usuários poderão ter ajudar.

Para receber atualizações de nosso blog, siga-nos no Twitter.

Acesse a versão completa
Sair da versão mobile