Error no grub (no sush device)

Boa noite, estou tendo um problema no boot do meu hd principal. O error apareceu depois de ter formatado um hd externo, quando tento acessar o linux principal (debian 11) não vai, sempre aparece a mensagem de error, se o hd externo não tiver conectado ele não carrega, mas se eu conectar o hd externo ele inicia o hd externo assim dando boot nele.

Mas ainda consigo ter acesso ao arquivos do hd instalado. Atraves do hd externo ou do Live Linux.

(Imagem do boot sem o hd externo conectado)

(Imagem de boot com o hd externo conectado)

Para conseguir acessar o hd externo tenho acessa o grub-cli e setar esse dois comandos:

set root=(hd1,1)
configfile (hd1,1)/boot/grub/grub.cfg

O que eu faço para corrigir esse problema?

Obs:
UUID:

58149389-797c-435b-b6c9-a8abaa558f0d (hd principal)

fla1d59f-7b58-4c48-9c2f-1cf68b8b9918 (hd externo)

Me parece que vc está usando o sistema raiz (ou a partição /boot se vc tem uma) no hd externo.

Não entendi como funciona seu sistema, mas caso você tenha um sistema instalado no hd interno, deverá iniciar por ele e reinstalar o grub. Caso vc só tenha o sistema instalador no hd externo, então teria que fazer um transplante de instalação para o hd interno.

Isso é muito comum quando se usa o /etc/fstab para montar outras partições – “adicionais”, “extras”, ou seja, que não fazem parte do “sistema” propriamente dito.

Ao formatar uma partição “extra” – p.ex.: uma que você usa só para documentos, vídeos etc., e que não faz parte do “sistema” – você alterou o identificador UUID – e neste caso precisa alterar o UUID (antigo), que continua no /etc/fstab.

É por isso que não gosto de usar o /etc/fstab para montar partições “extras”.

Comigo, isto só acontece no Debian – única distro em que ainda uso o /etc/fstab para montar partições “extras”. – Nas outras distros (todas com KDE), faço a montagem automática de partições “adicionais” pelo KDE System Settings, que se utiliza do udisks2.

Por favor, utilize uma sessão Live para obter as seguintes informações, e poste aqui para podermos verificar se é isso mesmo:

sudo blkid

e também:

sudo cat [PATH]/sdaX/etc/fstab

trocando [PATH] pelo caminho que a sessão Live estiver usando – e “sdaX” pela partição exata onde está esse arquivo.

Exemplos:

Nas imagens abaixo, estou usando meu “Linux2” – para exibir o conteúdo do /etc/fstab do meu Debian, que está na partição “Linux3”:

(note que uso “Label”, em vez do UUID, pois isso facilita as coisas)

Aqui, o /etc/fstab do Fedora, que é meu “Linux4”:

Geralmente as partições indicadas no fstab que não são achadas dão erro após o início de carregamento do kernel e aparece aquela mensagem “Enter root password for maintenance or Ctrl+D to continue” (que eu lembro de cabeça, não necessariamente essas mesmas palavras.

O erro do colega parece ser que o /boot/grub/grub.cfg indica algumas partições que não existem. Pode ser:

  1. Há mais de um grub instalado e está sendo chamado o /boot/grub/grub.cfg da partição errada (talvez de uma instalação antiga?)
  2. O colega pode ter apagado partições erradas por engano, então o grub não consegue mais achar a partição que possui o kernel para inicialização.
  3. O colega pode ter movido o sistema raiz mas não atualizou o grub com a nova localização do /boot (onde estão os kernel)
1 curtida

Saida do blkid:

Saida do /etc/fstab (hd interno):

Foram essas as saidas dos comandos

Vamos tentar entender:

  • O HDD interno é o /sda?

  • O particionamento dele é MBR ou GPT?

  • Qual sistema operacional está instalado nele?

Agora, o outro:

  • O HDD externo é o /sdb?

  • O particionamento dele é MBR ou GPT?

  • Qual sistema operacional está instalado nele?

  • Poste aqui a saída de:

sudo cat /media/sdb1/etc/fstab

E este outro:

  • /sdc é um Live Pendrive?

  • Você executou esses comandos a partir de uma sessão Live Pendrive em /sdc?

Verdade!

O sda é o hdd interno
Mbr
Debian 11
------------------------------------------------
O sdb é o hdd externo
Mbr
Kali linux 1.1.0

Saida:


------------------------------------------------
O sdc é o pendrive em modo live
Sim
------------------------------------------------

Primeiro ponto para evitar dor de cabeça seria ter habilitado apenas o modo UEFI para instalação dos sistemas operacionais. Porém como está em MBR/CSM, vc precisa entrar na BIOS e alterar a ordem de inicialização pelo disco que tem o sistema que está instalado. Como vc já relatou que quando o segundo disco está desconectado há erro, então quando foi instalado o segundo sistema no hd externo, o grub foi instalado também no disco principal.

A correção é vc habilitar a detecção de outros sistemas operacionais pelo grub, e atualizar o grub (no sistema do hd externo). Daí vc com o hd externo conectado vai conseguir iniciar o Debian. No debian faça o mesmo procedimento e além de atualizar o grub, dê um “grub install no disco principal”. Daí vc vai ter devolta o grub do debian na MBR do disco principal.

1 curtida

Siga as instruções do @Deleterium

Exemplo da época em que eu tinha 3 HDDs internos (sda, sdb, sdc) e 1 SSD externo USB, desplugável (sdd):

Ao instalar qualquer distro, o “Instalador” automaticamente escolhia o sda para instalação do Bootloader:

Acontece que meu “Menu de inicialização” era o Grub do Mageia, no MBR do sda – e eu não queria que nenhuma outra distro substituísse o Grub do Mageia:

Como havia 7 sistemas instalados, eu precisava evitar que outros Linux interferissem no Grub controlado pelo Mageia.

As configurações precisavam ser planejadas de modo racional, para segregar o campo de atuação de cada um:

  • MBR do sdaGrub do Mageia (sda2)

  • MBR do sdbGrub do openSUSE (sdb2)

  • MBR do sdcGrub do Debian, Kubuntu, Mint, Neon, Arch

Então, eu precisava lembrar de alterar o local do Bootloader das outras distros que eu estivesse instalando:

Neste exemplo (acima), eu estava instalando o Kubuntu no meu SSD externo USB (sdd) – cujo Grub eu nunca iria utilizar. – Portanto, eu podia desplugar o SSD externo, sem problemas, pois a BIOS da placa-mãe estava configurada para procurar o Bootloader no MBR do sda, e não iria sentir falta do SSD externo.

Configuração de prioridade de Boot na BIOS da placa-mãe, com o SSD externo USB em último lugar:

No mais, continue seguindo a dica do @Deleterium

Porém não basta instalar (reinstalar) o Grub do Debian no MBR do sda! – pois da próxima vez que o Kali receber nova versão do Grub, ele poderá se instalar outra vez no MBR do sda.

(Sim, até hoje, me acontece de o Grub do Debian tomar o lugar do openSUSE – que hoje é meu “Menu de inicialização”).

Para re-configurar o Grub do Kali, para sempre se instalar no MBR do sdb – e nunca mais no sda – use este comando dentro do Kali:

# dpkg-reconfigure grub-pc

Então é só desmarcar “sda” – e marcar “sdb”. – Use “barra de espaço” para marcar / desmarcar:

O link Menu de inicialização tem coisas demais – pois anotei todas as coisas e todos os detalhes que descobri na época, para lembrar quando precisasse. – Mas talvez você queira ler mais tarde, e encontre mais alguma coisa útil.

1 curtida

Essas foram as saidas do dpkg-reconfigure grub-pc

(Está tudo default menos onde está instalado o grub)

Imagem da bios:

Se o usb hdd estiver em primeiro fica apenas um curso piscando na tela e não carrega

Você executou o dpkg-reconfigure grub-pc dentro de qual dos 2 Kali?

Outra coisa:

  • Ele encontrou um “Debian (kali-rolling)” no sda. – Isso não combina com o que deveríamos esperar.

  • O “grub-probe” não funcionou. – Ou seja, não encontrou outro sistema instalado. – Pode ser falha (ou configuração errada) do “grub-probe”, ou falta de “os-probe”.

Lembrem-se de que o nome do dispositivo pode mudar. Ou seja, o disco interno pode aparecer como sdb caso o disco externo tenha sido conectado na inicialização.

Estranho o fato de ter sido achado um kernel 3.18. Ele foi lançado em 2014 e teve fim de suporte em 2017. Essa instalação (ou live cd) está extremamente antiga.

Recomendo criar um instalador novo e colocar o debian atualizado. Aproveite o hd externo para fazer backup dos arquivos que sejam importantes no debian que vc não consegue iniciar.

No kali que esta instalado no hd externo

Você está me recomendando a formatar onde está o debian
Certo?

Se vc conseguir iniciar o debian, então deve atualizar o grub e tbm fazer o “grub install”. Para iniciar o Debian, tente antes:

set root=(hd0,1)
configfile (hd0,1)/boot/grub/grub.cfg

Se vc conseguir iniciar o debian, remova o hd externo, remova o pendrive e use grub-install /dev/sda (ou ache o dispositivo correto com fdisk -l ). Teoricamente deve voltar a iniciar o debian normalmente ao reiniciar o computador. Como opção vc pode iniciar manualmente o hd externo usando o prompt do grub.

Caso não consiga fazer o debian funcionar, então use o modo live para montar as partições dos dois discos, copie seus arquivos importantes, prepare um novo disco de boot do debian e reinstale o sistema com o hd externo desplugado.

Recomendo também, caso faça a reinstalação, que proceda em modo UEFI ONLY que costuma dar menos problema pra quem usar diversos sistemas operacionais. O modo legacy é um transtorno para poder dar suporte.

A essa altura, recomendo fortemente uma outra providência: – Colocar Rótulos (Label) em todas as partições.

  • Isso não afeta, nem causa nenhum prejuízo. – Uso para isso o GParted, e verifico várias vezes, se é só isso que estou fazendo: – Aplicar Rótulos (e nada mais):

Tenho até 12 distros em dualboot, desde o início de 2017, e não saberia lidar com isso, sem Rótulos (Label) para “ver” o que estou fazendo.

Sim, isso pode acontecer.

Neste caso, colega pode ter aplicado o dpkg-reconfigure grub-pc no sdb errado.

1 curtida

Só mais uma dúvida. Já que o debian da alguns problemas seria bom mudar de distro tipo para o Arch Linux, por exemplo

Instalar o Arch manualmente seria interessante caso você esteja querendo aprender mais sobre como funciona o GNU/Linux. Na wiki do Arch, cada passo é explicado para o usuário entender o que está fazendo. O funcionamento do GRUB será mais um passo da jornada de instalação. Porém se quiser apenas usar o computador e continuar com o disco em MBR, recomendo usar apenas um sistema operacional, independente de qual seja.

Vou instalar o arch linux mesmo é melhor
Obrigado a todos que ajudaram

1 curtida