Problema: Viver com Manjaro em dualboot com outro linux. Não funciona, como faço?

Desde que descobri o Manjaro parece que encontrei minha distro queridinha, mas como gosto de ficar experimentando outros projetos linux, decidi por ter reservado mais 2 partições para instalar outras (sem contar a NTFS do Windows 10).

Estou sofrendo constantemente com um tipo de “incompatibilidade” no boot/grub. É difícil de explicar, mas vou tentar…

Problema: Já tenho o Manjaro e instalo o Ubuntu noutra partição por exemplo… Terei que mudar a preferencia de boot lá na bios pra conseguir entrar no grub do Ubuntu, mas neste mesmo grub, se eu tentar iniciar o Manjaro, irá travar e não vai iniciar nem com vudu. Só se eu mudar lá na bios de novo pra iniciar com o grub do Manjaro. Reinstalo e atualizo o grub, mas não adianta… já mexi muito e com isso tive que formatar o HD várias vezes… não quero mais ficar fuçando.

Pergunta: Alguém conhece esse problema e sabe como resolver? Se é que tem resolução rs.

1 Curtida

Olá @dannuper tudo beleza?

Em tese isso é até bem mais simples do que parece em princípio. A maior parte das distros modernas utilizam UEFI como padrão de inicialização, então, em teoria, você poderia instalar várias distribuições usando a mesma partição UEFI.

Porém, algumas distros te obrigam a formatar a partição UEFI durante a instalação - o que é um grande problema quando falamos de múltiplos boots. Para contornar isso, você pode criar multiplas partições UEFI (se você tiver espaço em disco suficiente).

Finalizando, com várias partições de boot basta entrar na sua “distribuição principal” e rodar uma atualização do grub que ele deverá localizar todas as outras instalações e dessa forma você não precisa ficar entrando na BIOS para poder acessar seus outros sistemas operacionais. Isso deve ser o suficiente para resolver essa situação que você citou.

Esse vídeo explica em detalhes o boot por UEFI, deve te ajudar.


:vulcan_salute:

Infelizmente o Manjaro é um pouco mais chato, para que ele não gerencie o grub é necessário uma manobra maior que as demais, caso contrário nos surpreende com o famoso Kernel panic.

Lembro que o Flávio Costa, do site Manjariando, ajudou em alguns tópicos aqui. Abaixo um artigo sobre, segue o link:

2 Curtidas

Isso usando partições de boot diferente para cada distro? O update-grub funciona e reconhece mesmo com distros em partições boot diferentes?

Super valeu pela ajuda @eddiecsilva e @thespation !

2 Curtidas

Algumas colocações do que pode acontecer:

  • O grub de um sistema consegue localizar o outro sistema operacional mas não carrega corretamente os parâmetros do kernel daquele sistema. Correção: Adicionar manualmente uma entrada do grub com o menu para inicializar a outra distribuição.

  • Partição /boot compartilhada: Vira uma bagunça quando dois sistemas operacionais compartilham a mesma partição.

  • Você pode adicionar uma entrada em um grub para carregar o outro grub. É o chainloader. Eu acho essa a opção mais fácil pois não precisa ficar alterando manualmetne o grub da outra versão cada vez que atualiza o kernel.

Valeu pela resposta!

Como eu faço esse chainloader? Tem algum link de tutorial pra me indicar? Até fiz uma busca rápida aqui e não encontrei nada.

O link que te passei tem todos os passos.

Como resolver de modo fácil:
Deixe o Manjaro gerenciar o grub.

Resolvendo de modo alternativo e deixando outra distro gerenciar:
Siga o tutorial do link.

1 Curtida

No GRUB do outro sistema operacional adicione uma entrada de menu:

menuentry "GRUB do Manjaro" {
 #It will reference its own modules and config.
 chainloader (hd0,gpt7)/EFI/manjaro/grubx64.efi
}

Basicamente é aquele comando:

  • Identificar a partição EFI através do modo que grub enxerga as partições. No exemplo (hd0,gpt7)
  • Identificar o caminho dentro da partição EFI do carregador do grub do manjaro: No exemplo /EFI/manjaro/grubx64.efi

Eu não testei aqui, mas é pra funcionar. Vc pode testar manualmente antes de adicionar a entrada. No grub aperte ‘c’ para entrar no menu de comando e digite a linha do chainloader. Depois digite ‘boot’ para efetuar a mudança.

1 Curtida

Tenho visto esse problema, tanto em relação ao Manjaro (e ao Arch), que não carregam pelo Grub de outras distros, ─ tanto no antigo PC Bios-MBR, quando no novo PC UEFI-GPT. ─ A única exceção que já vi, nos últimos 4 anos, é o Grub do openSUSE Tumbleweed, que carrega o Arch sem qualquer problema.

Não sei se é este o problema, pois sua descrição não dá detalhes. Mas segue o que observei, para você analisar.

Em resumo, eu tinha de abrir o /boot/grub/grub.cfg do outro Linux ─ após cada atualização ─ e corrigir manualmente as entradas referentes ao Manjaro (ou as entradas referentes ao Arch).

Até hoje, o Grub de todos os outros Linux testados gerou entradas com uma linha assim:

initrd /boot/intel-ucode.img

mas, para funcionar, tais linhas deveriam conter mais uma indicação:

initrd /boot/intel-ucode.img /boot/initramfs-XXXXXX.img

onde “XXXXXX” pode variar, em alguns casos.

No Manjaro, — com 2 Kernel, após um upgrade deliberado, — “XXXXXX” variava, exigindo substituição caso-a-caso, nas entradas do /boot/grub/grub.cfg:

initrd /boot/intel-ucode.img /boot/initramfs-4.9-x86_64.img

initrd /boot/intel-ucode.img /boot/initramfs-4.4-x86_64.img

Se eu eliminasse o Kernel antigo, e deixasse apenas o mais novo, poderia usar a busca-e-troca global.

No Arch, “XXXXXX” não apresenta variação, o que permite busca-e-troca global no /boot/grub/grub.cfg das outras distros:

initrd /boot/intel-ucode.img /boot/initramfs-linux-lts.img

Isso, porque o Arch nunca altera o “nome” do arquivo. Se você instala Kernel LTS, o “nome” será sempre este, por mais que mude a versão.

(Por isso, o Grub do Arch nunca se atualiza, a menos que você instale outra opção de Kernel).

Isso era chato, quanto eu usava o Grub do Mageia. Toda vez que atualizava o Grub, tinha de corrigir manualmente.

Ano passado, quando fiz upgrade do meu openSUSE para Tumbleweed (PC Bios-MBR), percebi que ele era capaz de gerar as entradas corretas para carregamento do Arch.

Este ano (PC UEFI-GPT), confirmei que o Grub do openSUSE Tumbleweed continua capaz de gerar as entradas corretas para carregar o Arch. ─ Desde então, uso o Grub do openSUSE Tumbleweed como “Menu de inicialização” da máquina.

2 Curtidas

poderia postar a entrada do manjaro no grub que esta travando?

Antes de conferir as respostas aqui eu acabei instalando o Manjaro novamente, mas em partição de boot separada e reconheceu de boa as outras distros, inclusive o Windows 10.

Por enquanto não me atrevi a instalar nova distro ou substituir alguma pra ver se vai dar incompatibilidade no boot de novo… logo menos vou tentar… será q ainda assim pode dar merd@? Pq me parece um trampo complicado e chato demais fazer todas essas configurações ae rsrs.

É como compilar o kernel, só é chato e complicados nas primeiras vezes kkkk!

2 Curtidas