Problemas com o Grub, Pop!_OS e UEFI

Gente, não consigo instalar o grub no Pop!_OS, acho que tem a ver com o UEFI, mas ta uma bagunça.
Eu to querendo iniciar o Batocera pelo meu PC, pra isso preciso do grub, porém todas as opções que aparecem no UEFI não funcionam, com exceção do Windows e do Pop!_OS.

Os dois Ubuntu não existem, era o Linux Mint antes de eu formatar pro Pop_OS. Os que começam com P são HDs ou talvez partições e os que funcionam é o Windows e Pop_OS.

Quando tento ir no UEFI OS também dá erro:

E nos dois Ubuntus aparece isso:

Já tentei de tudo que achei na internet e não resolve, o problema que agora quero jogar o Batocera no HD e não consigo por conta dessa bagunça que está.

Olá @leandrosob Não é a resposta adequada de minha parte mas, se eu fosse você eu deletaria todas as partições e instalaria os sistemas do 0, então você poderia juntar o Batocera OS com os outros. Mas vamos aguardar se aparecem usuários mais experientes que consigam resolver este detalhe antes, vai que você tenha coisas importantes para fazer back ups. :innocent:

quando isso acontece é pq tá faltando o arquivo de configuração
só isso
nesse terminalzinho aí vc pode dar boot no batocera (?), a sintaxe é assim:
linux /boot/vmlinuz-restodonomedoarquivo root=/dev/sda1 rw # imagino que o batocera esteja na primeira partição, se ela estiver na segunda, seria sda2
initrd /boot/init... resto do nome do arquivo
depois só digitar boot

quando vc chegar no batocera vc precisará fazer sudo grub-mkconfig -o /boot/grub/grub.cfg, como vc usa uefi, eu não sei onde a pasta do grub fica, nas minhas instalações do archlinux ele fica em /boot/efi, não sei como o batocera se comporta com isso
as distribuições linux baseadas no ubuntu vem com um comando mais simples pra consertar isso, o update-grub

Bem, precisa dar uma arrumada em todas essas entradas e aumentar o conhecimento sobre o boot UEFI.

Pra dar boot em UEFI o computador precisa de duas coisas:

  • Uma entrada com a localização do inicializador que fica dentro de uma parte especial da firmware que se chama NVRAM.
  • O arquivo do inicializador que fica numa partição EFI (ou também chamada de ESP).

A entrada na NVRAM pode ser verificada e editada com o comando efibootmgr no linux ou bcdedit no windows. Além de criar a entrada com as configurações necesárias, esse comando também pode trocar a ordem de boot. Em alguns modelos de placa mãe, também dá pra editar as entradas via firmware (ou BIOS).

Os arquivos de inicialização, chamados em inglê de bootloaders, ficam dentro de uma partição EFI seguindo uma localização padrão para facilitar o entendimento (não é necessário seguir isso, mas facilita). Eles ficam numa partição que deve ser formata como vfat (ou fat32) dentro de uma pasta EFI, e dentro dela o nome do sistema operacional, e dentro dessa pasta todos os arquivos que o booloader necessita. Numa instalação padrão, essa partição é montada no diretório /boot/efi. Portanto o inicializador do GRUB do ubuntu estará localizado na pasta /boot/efi/EFI/ubuntu No windows, ( https://www.binaryera.com/2020/08/RemoveGrubFromWindow10.html ) essa partição pode ser montada como uma unidade de disco pra vc apagar o conteúdo na pasta X:\EFI\ubuntu

Agora você já sabe o suficiente para procurar mais informações para arrumar o seu boot, ou então se precisar de mais ajuda, já poderá fazer perguntas mais específicas que estaremos aqui pra responder!

Eu tentei os comandos que você me falou, mas não consegui… aí fui fuçar na internet e achei um artigo no Unix Universe pra ver se me ajudava. Não ajudou… hahahaha… mas pelo menos consegui que localizasse os arquilvos vmlinuz e o initrd.

Estou pensando em instalar o Ubuntu em outra partição para ver se corrige isso, esses problemas surgiram depois que instalei o Pop_Os e apaguei o Linux Mint. Gosto do gnome, então vou tentar o Ubuntu.

1 curtida

Obrigado, já me deu um norte!! Vou estudar e ver se consigo limpar essa bagunça que está o UEFI.
Eu já não entendia muito quando era o Legacy, agora tenho que estudar ainda mais… rsrs

1 curtida

Vc vai ver que é fácil depois que pegar a filosofia de funcionamento! É casar a NVRAM com o arquivo do bootloader.

Depois disso, se continuar tendo problema, não é mais problema de UEFI, mas sim de configuração do bootloader.

Eu fiz a remoção do ubuntu, agora está assim:

BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0002,0003,0000,0006
Boot0000* Windows Boot Manager
Boot0002* pop
Boot0003* Pop!_OS 20.10
Boot0006* UEFI OS

Meu diretório /boot está assim:

grub
initrd.img-5.8.0-7630-generic
vmlinuz-5.8.0-7630-generic
config-5.8.0-7630-generic
System.map-5.8.0-7630-generic
initrd.img
initrd.img-5.8.0-7625-generic
vmlinuz-5.8.0-7625-generic
config-5.8.0-7625-generic
System.map-5.8.0-7625-generic
vmlinuz
initrd.img-5.3.0-7648-generic
initrd.img.old
vmlinuz.old
efi

Ele é pra ficar essa bagunça mesmo? To achando que tem muito arquivo para ter somente o Windows e o Pop_OS instalado.

na verdade nem tem coisa do Windows aí, esses arquivos aí são as imagens de kernel velhas, um sudo apt autoremove no terminal provavelmente limpa elas

O diretório /boot contém as imagens de kernel do seu sistema. Dentro dele tem o diretório /boot/grub onde ficam arquivos importantes do bootloader GRUB.

Já o /boot/efi é um diretório especial, pois nele é montada a partição ESP que contém os arquivos executáveis dos bootoloaders. São arquivos .efi. É dentro do /boot/efi que está o diretorio EFI, que dentro contem as pastas dos bootloaders que estão instalados no seu disco. Verifique com ls /boot/efi/EFI ou se tiver o comando tree instalado fica mais bonito visualmente tree /boot/efi

Lembre-se que no linux um diretório pode ser muito mais que uma pasta. Ele pode ser:

  • Uma subpasta de um sistema de arquivos (a maioria dos casos e o caso comum no windows)
  • Um link simbólico ou físico. Parecido com o que seria criar um atalho no windows, mas muito mais poderoso e com mais opções
  • Um ponto de montagem. Que na verdade é o local a partir do qual é montado um sistema de arquivos que esteja em outra partição. Diferente do windows, que cada partição gera uma nova unidade com letras associadas, no linux vc associa um caminho para ter acesso a esse local.
  • Um subvolume de um sistema de arquivos. Alguns sistemas de arquivos tem opções especiais que se chamam subvolumes. Eles parecem uma pasta mas também tem características especiais. Geralmente estão associadas a sistemas mais complexos e sistema de arquivos btrfs ou zfs.
  • Outras opções que pode ser que exista mas eu não conheço! Afinal ainda estou longe de saber tudo sobre GNU/Linux!
2 curtidas

Eu tentei muita coisa… resumindo, instalei o Ubuntu para ver se conseguia ficar com o Grub instalado e iniciar o Pop_OS no grub. Porém devo ter feito alguma coisa errada.
Já apanhei para entrar no Ubuntu, que não saía da tela de login, depois que consegui logar, tentei entrar no Pop_OS e caia num terminal. Fui no forum da System76 e segui um tutorial para reparar o Bootloader através de um live disk. Fiz todos os comandos, agora ele ameaça a entrar na tela inicial do Pop, mas não aparece nome de usuário, fica uma tela cinza.

Olha como ficou a partição EFI:

/boot/efi
├── EFI
│ ├── Boot
│ │ ├── bkpbootx64.efi
│ │ ├── bootx64.efi
│ │ ├── fbx64.efi
│ │ ├── grubx64.efi
│ │ └── mmx64.efi
│ ├── Microsoft
│ │ ├── Boot
│ │ │ ├── BCD
│ │ │ ├── BCD.LOG
│ │ │ ├── BCD.LOG1
│ │ │ ├── BCD.LOG2
│ │ │ ├── bg-BG
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── bootmgfw.efi
│ │ │ ├── bootmgr.efi
│ │ │ ├── BOOTSTAT.DAT
│ │ │ ├── boot.stl
│ │ │ ├── cs-CZ
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── da-DK
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── de-DE
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── el-GR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── en-GB
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── en-US
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── es-ES
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── es-MX
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── et-EE
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── fi-FI
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── Fonts
│ │ │ │ ├── chs_boot.ttf
│ │ │ │ ├── cht_boot.ttf
│ │ │ │ ├── jpn_boot.ttf
│ │ │ │ ├── kor_boot.ttf
│ │ │ │ ├── malgun_boot.ttf
│ │ │ │ ├── malgunn_boot.ttf
│ │ │ │ ├── meiryo_boot.ttf
│ │ │ │ ├── meiryon_boot.ttf
│ │ │ │ ├── msjh_boot.ttf
│ │ │ │ ├── msjhn_boot.ttf
│ │ │ │ ├── msyh_boot.ttf
│ │ │ │ ├── msyhn_boot.ttf
│ │ │ │ ├── segmono_boot.ttf
│ │ │ │ ├── segoen_slboot.ttf
│ │ │ │ ├── segoe_slboot.ttf
│ │ │ │ └── wgl4_boot.ttf
│ │ │ ├── fr-CA
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── fr-FR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── hr-HR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── hu-HU
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── it-IT
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── ja-JP
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── kd_02_10df.dll
│ │ │ ├── kd_02_10ec.dll
│ │ │ ├── kd_02_1137.dll
│ │ │ ├── kd_02_14e4.dll
│ │ │ ├── kd_02_15b3.dll
│ │ │ ├── kd_02_1969.dll
│ │ │ ├── kd_02_19a2.dll
│ │ │ ├── kd_02_1af4.dll
│ │ │ ├── kd_02_8086.dll
│ │ │ ├── kd_07_1415.dll
│ │ │ ├── kd_0C_8086.dll
│ │ │ ├── kdnet_uart16550.dll
│ │ │ ├── kdstub.dll
│ │ │ ├── ko-KR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── lt-LT
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── lv-LV
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── memtest.efi
│ │ │ ├── nb-NO
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── nl-NL
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── pl-PL
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── pt-BR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── pt-PT
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── qps-ploc
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── Resources
│ │ │ │ ├── bootres.dll
│ │ │ │ └── pt-BR
│ │ │ │ └── bootres.dll.mui
│ │ │ ├── ro-RO
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── ru-RU
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── shdldr.efi
│ │ │ ├── sk-SK
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── sl-SI
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── sr-Latn-RS
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── sv-SE
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── tr-TR
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ ├── uk-UA
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ └── bootmgr.efi.mui
│ │ │ ├── winsipolicy.p7b
│ │ │ ├── zh-CN
│ │ │ │ ├── bootmgfw.efi.mui
│ │ │ │ ├── bootmgr.efi.mui
│ │ │ │ └── memtest.efi.mui
│ │ │ └── zh-TW
│ │ │ ├── bootmgfw.efi.mui
│ │ │ ├── bootmgr.efi.mui
│ │ │ └── memtest.efi.mui
│ │ └── Recovery
│ │ ├── BCD
│ │ ├── BCD.LOG
│ │ ├── BCD.LOG1
│ │ └── BCD.LOG2
│ ├── pop
│ │ ├── grubx64.efi
│ │ └── shimx64.efi
│ └── ubuntu
│ ├── BOOTX64.CSV
│ ├── grub.cfg
│ ├── grubx64.efi
│ ├── mmx64.efi
│ └── shimx64.efi
└── System Volume Information
├── IndexerVolumeGuid
└── WPSettings.dat

Vou continuar tentando entrar no Pop_OS… rsrs

Pelo que eu sei o Pop OS usa o systemd-boot. Não sei como você fez a instalação do GRUB nele, mas a princípio o grub de cada distribuição que você instala é um bootloader diferente, pois cada um vai buscar a informação do menu e dos módulos na pasta /boot de sua respectiva distribuição.

O que pode causar muito transtorno, é que o Pop OS é baseado no ubuntu, então se o pacote é o mesmo, ele vai criar o mesmo diretório na partição EFI. Nesse caso a instalação do GRUB em um sistema destrói a informação do GRUB do outro sistema. Já passei por isso quando instalei o Mint com o Ubuntu.

Enfim, a melhor solução é, se quer usar o Pop, use o systemd-boot com os comando apropriados para instalação (se não me falha a memória é bootctl pra configurar isso). Caso prefira continuar usando o grub, faça uso do parâmetro --bootloader-id=meu-pop durante o grub-install

Eu instalei o systemd-boot, agora ele entra e fica como se fosse na tela de login, cinza, só que não acontece nada. Depois de umas tentativas consegui entrar no terminal, mas aparece isso:

Tentei apagar o .Xauthority, reiniciar com startx, mas nada dá certo, aparece uma mensagem de erro no Xorg.

Ainda pra piorar, ele não ta conseguindo fazer o apt update, dá algum erro no servidor.

Algum serviço não foi iniciado corretamente, o que está impedindo o computador de completar a inicialização até o esperado ambiente gráfico.

Use o comando indicado pra ver qual é o vilão. A foto está cortada mas é algo como journalctl -p 3 -xb

O caso da rede, dá pra ver se o serviço inicializou normalmente.

systemctl status NetworkManager.service

O mais sensato agora é tentar entender a situação que você se encontra atualmente. Como o @Deleterium sugeriu, você pode dar uma olhada no journal.

Ele inicia com uma tela cinza, que é a cor da tela de login dele, só que não aparece o nome de usuário… aí aguardo um pouco e aparece o terminal.

Consegui salvar o journal num arquivo, porém li e não consegui encontrar nada de errado.

Consegui resolver usando o Boot Repair a partir de um live disk, nem acredito… to o dia inteiro tentando resolver isso!

Muito obrigado pela ajuda e atenção de todos!!

2 curtidas

No log indicou que falhou a montagem de alguns discos.

Ponto de montagem: /mnt/Virtualbox
/dev/disk/by-uuid/2ab81f1e-4d45-4862-bb19-826dd55436da

Ponto de montagem: /boot/efi
/dev/disk/by-uuid/B9BA-2F3B

Não sei se isso deveria causar o não carregamento da interface gráfica… Mas já que resolveu, que ótimo!

Em algum momento ele mudou para emergency.target, ao invés de prosseguir para o graphical.target.

2 curtidas

Talvez pela falha de montagem no /boot/efi, que derrubou o fsck daquela unidade?

Daí no shell de emergência o usuário precisaria corrigir a situação dos pontos de montagem que não carregaram, alternar novamente pro graphical.target e o sistema deveria carregar.

Possivelmente a partição EFI tinha sido formatada novamente, o que gerou um novo UUID, mas ainda constava o UUID antigo no /etc/fstab do Pop. Mesmo com o grub-install esse problema não foi corrigido, realizando a instalação correta do GRUB na partição EFI, mas trazendo problemas na inicialização.

2 curtidas