O mais quebrado Grub bootloader, de todos

Primeiramente

Obrigado por se interessar sobre o meu problema e, se você se dispor, por tentar me ajudar. :pray:

Resumo do problema (mas, por favor, leia todos os outros capítulos também)

Por favor, poderia me ajudar?

Não consigo reparar o grub bootloader que eu acidentalmente “quebrei” após tentar apagar uma entrada ubuntu no efibootmgr (ou, pelo menos, eu acho que esse foi causador de todo o problema que eu estou enfrentando).

Tentei várias soluções nos mais diversos fóruns gringos e apesar do terminal retornar, aparentemente, uma mensagem de sucesso após executar (quase) todos os passos, o grub bootloader não é reparado.

O que causou a corrupção do Grub?

Meu notebook há um dualboot de Windows 10 com uma distribuição GNU/Linux. Eu estava até então com o Kubuntu. Tudo estava funcionando bem, até que eu insisti comigo mesmo em substituir essa distribuição pelo KDE Neon.

A instalação deu tudo certo, o grub veio pré-instalado e configurado de antemão, o que foi ótimo porque configurar o grub não estava mais fresco na minha memória.

No entanto, eu me incomodei com uma entrada ubuntu na seleção de boot da UEFI do notebook e pude confirmar, através do comando sudo efibootmgr que havia mesmo essa opção, apesar de não parecer no grub.

Tentei executar sudo grub-update, mas nada mudou na seleção de boot da UEFI. Em seguida tentei deletar a tal entrada apagando-a do efibootmgr seguindo esse ¹²tutorial, mas tudo continuou o mesmo.

  1. A leitura começa a partir do capítulo Deleting a boot entry;

  2. Eu não me lembro se foi o conteúdo desse site mesmo que eu me guiei, mas existem várias páginas tratando do mesmo assunto com os mesmo comandos, então estou usando-o mais como exemplo.

A ideia de girino

A “ideia de girino” (que não parece ser tanto se considerarmos que ela é mesmo uma opção possível de ser traçada de acordo com essa resposta de uma pergunta, no askubuntu.) minha foi deletar a pasta e seus conteúdo de /boot/efi/EFI/ubuntu usando o comando sudo rm -r.

Assim que reinicei a máquina, desde de então caio diretamente para o grub shell. A partir daí, eu, sinceramente, não recordo muito bem mais o que eu fiz exatamente, mas todas foram inicializar o KDE Neon em modo “Live boot” pelo pendrive com o Ventoy e tentar:


Captura do terminal executando esses comandos.

Tentei consertar os caracteres estranhos, mas não deletei tudo, por que eles estão em todo lugar…

neon@neon: neon@neon00m:01;34m~00m$ devKKKmountKsudo mount /dev/nvme0n1p1K2 /mjKnt
?2004l
neon@neon: neon@neon00m:01;34m~00m$ sudo mount /dev/nvme0n1p2 /mnt1P /mnt1 /mntC/boot/efi
?2004l
neon@neon: neon@neon00m:01;34m~00m$ for Kfor i in /dev/K /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i;doneK done
?2004l
neon@neon: neon@neon00m:01;34m~00m$ sudo chrottKKKoot /mnt
?2004l
root@neon: /aroot@neon:/# grub/K-install --boot-directory=/mnt/boot --efi-directory=/,mKKmnt/boot/efi /dev/nv0mKKme0n1
?2004l
Installing for x86_64-efi platform.
grub-install: error: failed to get canonical path of `/mnt/boot/efi'.
root@neon: /aroot@neon:/# grub-install --boot-directory=/mnt/boot --efi-directory=/mnt/boot/efi /dev/nvme0n15P4P11P5P1P1P
?2004l
Installing for x86_64-efi platform.
grub-install: error: failed to get canonical path of `/mnt/boot/efi'.
root@neon: /aroot@neon:/# grub-install --efi-directory=/mnt/boot/efi /dev/nvme0n14P/dev/nvme0n15P/dev/nvme0n14P/dev/nvme0n111P/dev/nvme0n14P/dev/nvme0n110P/dev/nvme0n1i/dev/nvme0n1n/dev/nvme0n1s/dev/nvme0n1t/dev/nvme0n1a/dev/nvme0n1l/dev/nvme0n1l/dev/nvme0n1 /dev/nvme0n1
?2004l
Installing for x86_64-efi platform.
grub-install: warning: EFI variables cannot be set on this system.
grub-install: warning: You will have to complete the GRUB setup manually.
Installation finished. No error reported.
root@neon: /aroot@neon:/# exit
?2004l
exit
neon@neon: neon@neon00m:01;34m~00m$ 7mfor i in /mnt/dev/pts /mnt/dev  /mnt/proc /mnt/sys /mnt/run /mnt/boot/efi /mnt/boot /mnt; do sudo umount $i;  done27m
Cfor i in /mnt/dev/pts /mnt/dev  /mnt/proc /mnt/sys /mnt/run /mnt/boot/efi /mnt/boot /mnt; do sudo umount $i;  done
?2004l
umount: /mnt/boot: not mounted.
neon@neon: neon@neon00m:01;34m~00m$ for i in /mnt/dev/pts /mnt/dev  /mnt/proc /mnt/sys /mnt/run /mnt/boot/efi /mnt/boot /mnt; do sudo umount $i;  done4P4P1P1P
?2004l
umount: /mnt/dev/pts: no mount point specified.
umount: /mnt/dev: no mount point specified.
umount: /mnt/proc: no mount point specified.
umount: /mnt/sys: no mount point specified.
umount: /mnt/run: no mount point specified.
umount: /mnt/boot/efi: no mount point specified.
umount: /mnt: not mounted.

A forma improvisada que estou conseguindo inicializar o KDE Neon

Apesar de ter desktop além do meu notebook, eu ainda preciso usar esse dispositivo por certo motivos.

Por sorte, literalmente, eu “descobri” que consigo inicializar o KDE Neon ao navegar pelos arquivos da partição que ele está no meu NVMe e executar o arquivo grub.efi ou core.efi em /boot/grub/x86_64-efi, pela ferramenta Ventoy.

Quanto ao Windows, eu pude confirmar que perdi mesmo o seu bootloader ao explorar as partição também com o Ventoy.

Algumas informação a mais que possa ajudar a facilitar a jornada na busca por uma solução do problema


Como estão as minhas partições de acordo com o KDE Partition Manager


Saída do comando lsblk
nvme0n1     259:0    0 238,5G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/efi
├─nvme0n1p2 259:2    0 157,5G  0 part /
├─nvme0n1p3 259:3    0    16M  0 part 
├─nvme0n1p4 259:4    0    72G  0 part 
├─nvme0n1p5 259:5    0     8G  0 part [SWAP]
└─nvme0n1p6 259:6    0   512M  0 part 


Imagem da seleção de boot da UEFI do notebook


Saída quando executo grub-update dentro do KDE Neon
user@user:~$ grub-install /dev/nvme0n1
Installing for x86_64-efi platform.
grub-install: warning: disk does not exist, so falling back to partition device /dev/nvme0n1p1.
grub-install: warning: disk does not exist, so falling back to partition device /dev/nvme0n1p1.
grub-install: warning: disk does not exist, so falling back to partition device /dev/nvme0n1p1.
grub-install: error: disk `hostdisk//dev/nvme0n1p1' not found.

Reinstalar tudo não é uma opção?

Eu gostaria de evitar ao máximo ter que reinstalar e configurar tudo novamente tanto o Windows como o KDE Neon.

Aliás, eu já garantia cópias de segurança dos poucos arquivos importantes que há tanto nos dois sistemas operacionais.


Se você leu até aqui, agradeço a sua paciência.

2 curtidas

Monta a particao da EFI do ssd e do pendrive de instalacao
e copia a pasta EFI do pendrive para o ssd q foi apagada.

Acho que chegou a hora de parar de seguir tutoriais e começar a ler os manuais. É preciso entender o processo de boot, cada passo da instalação do sistema operacional e sua inicialização.

Basicamente as entradas de boot UEFI do notebook ficam gravadas na NVRAM da firmware, essas são as entradas que vc vê quando está no menu de boot.

Essas entradas apontam para algum arquivo que esteja em alguma partição efi (ou apenas uma partição fat32). Esse é inicializador que pode ser o grub.efi, bootx64.efi ou mesmo algum kernel linux (em sistemas embarcados).

No caso do grub, esse grub.efi vai ainda tentar carregar mais coisa, inclusive o menu de boot, da partição onde o sistema está instalado. Daí sim vc poderá selecionar o que iniciar via grub.

Quando o sistema é iniciado, então o grub completamente carregado vai executar os arquivos de initram e vmlinux do seu sistema e aí vc inicia o seu sistema desejado.

Cada ponto pode falhar e gerar um tipo diferente de erro, todos eles culminando no computador não iniciar. Agora como resolver? Eu iria verificar:

  1. Na partição efi, estão os arquivos de inicialização corretos? Eu lembro que o mint e o ubuntu tinham uma zica que ambos criavam o mesmo diretório e então quando instala um, o outro deixa de ser iniciado. Pode ser que tenha acontecido isso, mas acho que não pois eu vi um diretório ‘neon’ e um ‘ubuntu’.
  2. Como está a nvram e as entradas? Para isso vc precisa masterizar o comando efibootmgr para ver quais são as entradas atuais e para quais arquivo efi eleas apontam. Sugiro a leitura de Efibootmgr - Gentoo wiki em especial a parte ‘efivars’ que parecem não estar montadas
  3. O grub install faz essa tarefa de copiar o arquivo grub.efi para a partição efi e adicionar uma nova entrada efiboot, mas se ele está falhando, é preciso investigar.

Vale uma leitura completa do manual de instalação do gentoo para saber detalhamente como fazer isso. Embora vc não esteja instalando o gentoo, os passos são exatamente os mesmos mas mudando apenas a pasta de instalação do bootloader. Configuring the bootloader - Gentoo wiki

1 curtida

Esquece o que eu escreve o parted diz que é FAT32 mesmo.

Há muitos anos – 7 anos? 10 anos? – deixei de usar qualquer oferta de “particionamento” contida nos "instaladores – e qualquer “orientação” de usar “particionador” indicada por qualquer “tutorial”.

“Particionamento” é uma coisa que aprendi a fazer “por mim mesmo” – antes de instalar “meu primeiro Linux”, antes de 2007.

Li sobre particionamento, nas “revistinhas sobre Linux” – e comecei por aplicar aquelas lições, no próprio Windows: – Separei "C:" para o sistema Windows, D:\ para o “swap” do Windows (arquivo de trocas), E:\ para alguns documentos, F:\ para outros documentos – e assim por diante.

Até hoje, faço isso: – Crio as partições que quero usar – e só depois, abro o “Instalador”.

Particionador em modo CLI? – Nem pensar! – Uso o GParted, ou o KDE Partition Manager – muito antes de começar a “instalar”.

Quando o “Instalador” me propõe “particionar”, escolho a opção “Avançado” (ou algo assim) – e apenas “escolho” partições que já criei antes.

– Particionar (para mim) é 1 coisa – e “instalar”, é outra coisa. – Evite misturar essas 2 coisas! – É cilada, Bino!

Planeje suas partições – e faça seu particionamento, antes. – Na hora de “instalar”, limite-se a escolher partições que você já criou.

Sua saúde mental agradece.

3 curtidas

você não pode reinstalar o grub e este na MBR?

outra sugestão: não use o efibootmgr pois o ubuntu e família tem tudo “ajustado” para o grub. usei-o por um ano mas dava muito trabalho para mantê-lo. melhor deixar do jeito que está. tente reinstalar o grub no seu NVMe

Voto com o relator.

1 curtida

E não faça esse particionamento pelo instalador do Ubuntu a partir do 23.10. É masoquismo.

1 curtida

Meus advogados me mandaram concordar! :exploding_head:

Acabo de verificar que, em 2012, eu já tinha ideias formadas, sobre como particionar meus HDDs – para não dar nenhuma bola para o papo furado dos “instaladores”.

Em 2016, minhas ideias sobre isso já estavam um pouco mais aperfeiçoadas.

Ainda em 2016, percebi que cada distro podia encarar “de um modo diferente” as – mesmas – partições que eu usava para todas as minhas distros.

Aí, ganhei de presente um SSD “externo” USB2, e anotei minha experiência, ao incorporá-lo às várias distros que eu já tinha instaladas.

Quando “montei” meu novo PC – inicialmente, só com 1 SSD, e mais nada – anotei o “particionamento, do zero”.

Em 2021, tentei condensar minha experiência com isso tudo – sempre, tratando “particionamento” como “um assunto meu” – onde eu nunca deveria permitir que os “instaladores” tivessem qualquer ingerência.

Quanto ao Grub, em 2017 eu já tinha anotado um monte de “pequenos detalhes”, que convém a gente observar, sobre ele.

E em 2018, anotei mais alguns detalhes – sobre “pequenos problemas”, capazes de endoidar o Grub.

Com tantas distros, você põe à prova o “coitado” do Grub.
Admirável que tenha tantas distros.

1 curtida

Você acertou “no alvo”!

Minha “experiência pessoal” com o Grub, vem justamente do fato de eu lidar com 12 distros em “dualboot” – sendo que essas “12 distros” já mudaram muito. – Acredito ter experimentado 25 ou 30 distros, nos últimos 10 anos… sempre em “multiboot”.

Aprendi que “o Grub dos Buntus” não sabe lidar com Arch, openSUSE BtrFS etc. – Aprendi que “o Grub do Mageia” é muito melhor – e que “o Grub do openSUSE Tumbleweed” é o melhor de todos.

Mas “não testei tudo”. – Cada um, poderá descobrir mil coisas que eu nunca descobri.

Só recomendo, “nunca usar o Grub-Customizer”. – É um buraco sem saída!

Sobre as “alternativas ao Grub”, não posso dizer nada. – Nunca usei – porque nenhuma delas oferece os mesmos (ou, tantos) recursos que o Grub.

1 curtida

Mas e ai galera, o Grub do rapais do tópico já era? eu imagino que a dica do @sparrow pode resolver os arquivos excluídos apensar de não resolver o menu grub.cfg.

1 curtida

Bom, quanto ao Grub do Rapaz, talvez isso funcione:

https://pt.m.wikibooks.org/wiki/Como_recuperar_o_GRUB_após_instalar_o_Linux/Guia_de_como_recuperar_o_GRUB

Basicamente usar um LiveDVD ou um Pendrive com alguma distro e usar o Boot Repair.

E quanto ao masoquismo do Instalador do Ubuntu 23.10, ele simplesmente não me obedecia. Eu colocava o valor em GB do que eu queria e simplesmente não acontecia.

Tipo ali em cima. Eu queria 183 GB para a minha /home e não estava indo de jeito nenhum. Só consegui o que queria ao colocar 172 GB.

Ele já tentou isso, não funcionou.

Ele já tentou reinstalar o Grub? Pode ser que isso funcione.

Obrigado :pray:

Primeiramente, gostaria de agradecer a todos que se reservaram para tentar me ajudar. Estou impressionado com o engajamento da publicação, tinha quase toda certeza que teria pouca repercussão.

Isso me faz sentir acolhido e mais interessado em participar desse espaço.

Voltando ao assunto do tópico…

Eu não testei tudo que mandaram por aqui, mas vou comentar o que eu já tentei, de acordo com vocês:

Ah! Uma coisa legal (que eu achei pelo menos) foi gravar a minha tela enquanto tentei algumas soluções. A qualidade de imagem é baixa, não tem meu rosto e nem áudio, só a captura do que apareceu no meu display. Os procedimentos foram feitos bem devagar, eu apenas comecei a gravar e “deixei rolar”. Irei colocar o endereço do vídeos do YouTube, para caso alguém queira assistir e conferir como eu fiz.

Sparrow

Eu achei esse ideia super preguiçosa e inteligente, ao mesmo tempo, mas eu não obtive sucesso, ou, ao menos da forma como fiz, não atingi êxito.

Eu acabei esquecendo de comentar, mas os meus conhecimentos sobre bash shell e terminal em geral é basicamente de um novato.

Link para o vídeo da minha captura de tela.

Deleterium

As suas recomendações da Wiki do Gentoo foram tão incríveis, muito obrigado por compartilhá-las. Eu acho que precisava, indiretamente, desse “tapa na cara” de ir procurar a solução do problema por conta própria.

Apesar de eu ter ido além dos links que você enviou, eu infelizmente não consegui resolver o problema. Um coisa que me deixou bem confuso foi que:

O KDE Neon tanto usa o Grub bootloader como Efibootmgr para gerenciar a inicialização (apesar da UEFI ser autosuficiente para cumprir esse papel…)? :thinking:

Resumidamente

Em primeiro momento, eu li algumas coisas na Wiki e tentei replicar os comandos em uma sesão Liveboot sem realmente se dar conta do que elas queria dizer. Depois, o meu entendimento melhorou um pouco e passei a executar os passos de forma mais ciente do que aleatória.

Eu segui os procedimentos para configurar o Grub listado na Wiki, mas nada mudou. Em seguida, eu tentei configurar o efibootmgr, mas fiquei preso na parte que se trata do bzImage.efi.

Aqui diz de forma mais resumida, agora aqui dá mais detalhes de como conseguir gerar esse tal arquivo, mas o make falha no que ele deveria realizar, que me parece ser esse arquivo bzImage.efi, lá no diretório /usr/src/ALGUMA VERSAO DO KERNEL/arch/x86/boot.

Se você quiser assisitr, aqui o vídeo rodada 1 (Grub e efibootmgr) e rodada 2 (somente efibootmgr).

Agora…

  • Eu lerei as referência deixadas pelo frc_kde;
  • acvsilva, meu sistema está em EFI e agradeço a sugestão sobre o Ubuntu;
  • Tentar novamente a configuração do efibootmgr.
3 curtidas

O comando que você precisa para criar uma nova “entrada” para o KDE Neon no “efi” é, mesmo, o grub-install – porém é preciso descobrir os parâmetros corretos. – Infelizmente, só fiz isso com o Arch (exemplo adiante).

Digo “criar uma nova entrada”, porque me parece a solução mais simples. – Resista à tentação de deletar a “entrada” antiga. – Deixe ela quietinha, que não faz mal a ninguém (rs).

Como não tenho uma “solução pronta”, só posso falar da minha própria experiência.

Vamos, primeiro, “simplificar” as coisas – o que talvez ajude a formar uma ideia mais clara:

São 2 coisas bem diferentes, e bem separadas:

  1. seleção de boot da UEFI do notebook

  2. sudo grub-update

A “seleção de boot da UEFI do notebook” é o que você mostrou nesta imagem:

Isso varia conforme a marca & modelo da placa-mãe, pois cada uma tem seu próprio “firmware”.

No meu PC, aparece já na tela inicial do “UEFI Bios Utility” – quando aperto DEL durante o boot, para alterar alguma configuração do hardware:

Observe que em cima (à direita) são listadas 4 opções – openSUSE, Mageia, Debian, PCLinuxOS. – É uma lista de “Prioridade de Boot”. – Se eu arrastar uma opção de baixo para o topo da lista, essa opção passará a ter a “prioridade de boot”.

Logo embaixo, há uma indicação de “F8 Boot Menu”, que me apresenta a “lista completa” – pois tenho várias outras “opções” – Slackware, Fedora, Arch, Redcore etc:

De onde “vieram” essas “opções”? – Elas estão na partição “efi” – aquela partição pequena, Fat32, também indicada como “vfat”:

# lsblk -o name,mountpoint,label,fstype,size,fsavail,fsused,FSUSE%
NAME    MOUNTPOINT                  LABEL     FSTYPE   SIZE FSAVAIL FSUSED FSUSE%
sda                                                  447.1G
├─sda1  /boot/efi                   EFI       vfat       2G      2G  35.6M     2%
├─sda2  /run/media/flavio/Linux1    Linux1    btrfs     50G   17.1G  29.9G    60%
├─sda3  /                           Linux2    ext4      30G   12.6G  15.3G    52%
├─sda4  /run/media/flavio/Linux3    Linux3    ext4      30G   14.7G  13.2G    45%
├─sda5  /run/media/flavio/Linux4    Linux4    ext4      30G   12.2G  15.6G    53%
├─sda6  /run/media/flavio/Linux5    Linux5    ext4      30G   13.6G  14.2G    48%
├─sda7  /run/media/flavio/Linux6    Linux6    ext4      30G   18.5G   9.3G    32%
├─sda8  /run/media/flavio/Home1     Home1     xfs       15G    6.3G   8.7G    58%
(...)

Tempos atrás, iniciei uma sessão Live, montei a partição “efi” em /mnt, e salvei seu conteúdo, para documentar como era, naquele momento:

$ tree mnt
mnt                                      
├── EFI                                  
│   ├── boot                             
│   │   ├── BOOTIA32.EFI                 
│   │   ├── bootx64.efi                  
│   │   ├── fallback.efi                 
│   │   ├── fbia32.efi                   
│   │   └── fbx64.efi                    
│   ├── fedora                           
│   │   ├── BOOTIA32.CSV                 
│   │   ├── BOOTX64.CSV                  
│   │   ├── fonts                        
│   │   │   └── unicode.pf2              
│   │   ├── gcdia32.efi                  
│   │   ├── gcdx64.efi                   
│   │   ├── grub.cfg                     
│   │   ├── grubenv                      
│   │   ├── grubia32.efi                 
│   │   ├── grubx64.efi                  
│   │   ├── mmia32.efi                   
│   │   ├── mmx64.efi                    
│   │   ├── shim.efi                     
│   │   ├── shimia32.efi                 
│   │   ├── shimia32-fedora.efi          
│   │   ├── shimx64.efi                  
│   │   └── shimx64-fedora.efi           
│   ├── neon                             
│   │   ├── BOOTX64.CSV                  
│   │   ├── grub.cfg                     
│   │   ├── grubx64.efi                  
│   │   ├── mmx64.efi                    
│   │   └── shimx64.efi                  
│   ├── opensuse                         
│   │   ├── boot.csv                     
│   │   ├── fw                           
│   │   ├── fwupdx64.efi                 
│   │   ├── grub.cfg                     
│   │   ├── grub.efi                     
│   │   ├── grubx64.efi                  
│   │   ├── MokManager.efi               
│   │   └── shim.efi                     
│   ├── pclinuxos                        
│   │   └── grubx64.efi                  
│   └── ubuntu                           
│       ├── fw                           
│       ├── fwupx64.efi                  
│       └── grub.cfg                     
├── mach_kernel                          
└── System                               
    └── Library                          
        └── CoreServices
            └── SystemVersion.plist

13 directories, 38 files

Até aquele momento, eu tinha instalado apenas 4 distros – openSUSE, Fedora, KDE Neon e PCLinuxOS – em um SSD “limpo”, zero-km, que nunca tinha sido sequer formatado. Nenhuma “herança” anterior.

No entanto, veja que aparece 1 subdiretório “neon” e 1 subdiretório “ubuntu”. – Pelos registros da época, verifico que ambos tinham sido criados na mesma data e hora: “2020 Jan 12, às 16:43”. – Só posso concluir que aquelas 2 pastas pertenciam ao KDE Neon.

Quando você inicializa uma distro Linux instalada, ela monta essa partição “efi” em algum lugar do diretório /boot – como se fosse uma sub-pasta ou sub-diretório daquela distro. – Hoje, por exemplo, está assim (visto “dentro” do Arch):

# tree /boot
/boot
├── efi
│   ├── EFI
│   │   ├── arch_grub
│   │   │   └── grubx64.efi
│   │   ├── arch_grub2
│   │   │   └── grubx64.efi
│   │   ├── boot
│   │   │   ├── BOOTIA32.EFI
│   │   │   ├── bootx64.efi
│   │   │   ├── fallback.efi
│   │   │   ├── fbia32.efi
│   │   │   ├── fbx64.efi
│   │   │   └── mmx64.efi
│   │   ├── Debian
│   │   │   ├── BOOTX64.CSV
│   │   │   ├── fbx64.efi
│   │   │   ├── grub.cfg
│   │   │   ├── grubx64.efi
│   │   │   ├── mmx64.efi
│   │   │   └── shimx64.efi
│   │   ├── fedora
│   │   │   ├── BOOTIA32.CSV
│   │   │   ├── BOOTX64.CSV
│   │   │   ├── gcdia32.efi
│   │   │   ├── gcdx64.efi
│   │   │   ├── grub.cfg
│   │   │   ├── grub.cfg.rpmsave
│   │   │   ├── grubenv.rpmsave
│   │   │   ├── grubia32.efi
│   │   │   ├── grubx64.efi
│   │   │   ├── mmia32.efi
│   │   │   ├── mmx64.efi
│   │   │   ├── shim.efi
│   │   │   ├── shimia32.efi
│   │   │   └── shimx64.efi
│   │   ├── mageia
│   │   │   └── grubx64.efi
│   │   ├── MX
│   │   │   └── grubx64.efi
│   │   ├── MX21
│   │   │   └── grubx64.efi
│   │   ├── neon
│   │   │   ├── BOOTX64.CSV
│   │   │   ├── grub.cfg
│   │   │   ├── grubx64.efi
│   │   │   ├── mmx64.efi
│   │   │   └── shimx64.efi
│   │   ├── opensuse
│   │   │   ├── boot.csv
│   │   │   ├── fw
│   │   │   ├── fwupdx64.efi
│   │   │   ├── grub.cfg
│   │   │   ├── grub.efi
│   │   │   ├── grubx64.efi
│   │   │   ├── MokManager.efi
│   │   │   └── shim.efi
│   │   ├── pclinuxos
│   │   │   └── grubx64.efi
│   │   ├── Redcore
│   │   │   └── grubx64.efi
│   │   ├── slackware-14.2+
│   │   │   └── grubx64.efi
│   │   └── ubuntu
│   │       └── grub.cfg
│   ├── mach_kernel
│   └── System
│       └── Library
│           └── CoreServices
│               └── SystemVersion.plist
(...)

Observe que continua existindo 1 pasta “neon” e 1 pasta “ubuntu” – embora hoje eu tenha 2 instalações do KDE Neon (em dualboot ou multiboot). – Duvido que isso “funcione”, para 1 dos 2 KDE Neon. Felizmente, não uso, nem dependo deles, pois uso o Grub do openSUSE.

No Arch, o caminho (PATH) é /boot/efi/EFI – mas pode acontecer que alguma distro use “efi” em minúsculas. – Só consigo acesso, como root, ou usando sudo:

Note que existem 2 opções, ou “entradas”: /arch_grub e /arch_grub2 – porque aconteceu algum problema, que eu não consegui consertar, então apenas criei uma nova entrada – usando o comando grub-install que é familiar a quem já instalou o Arch “na unha”:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub2 --recheck

Observe a quantidade de “parâmetros” utilizados com o comando!

“Peguei” esse comando, já “pronto”, ao ler a Wiki do Arch para aprender como “instalar na unha”. – Não sei o que cada “letrinha” faz, e não sei quais alterações teria de fazer, no caso do KDE Neon. – O importante, é descobrir quais alterações precisaria fazer (ou não) para usá-lo no KDE Neon.

Imagino (apenas imagino!) que o parâmetro --target=x86_64-efi seja +/- comum a todas as distros – mas não posso afirmar.

Me parece que o parâmetro --efi-directory=/boot/efi indica o “caminho” (PATH), pois esse comando é para usar “dentro” do Arch Linux instalado – e nele, a partição “efi” está montada em /boot/efi. – Talvez seja assim em outras distros, mas nunca verifiquei.

Acho que o parâmetro --bootloader-id=arch_grub2 diz o nome da pasta (subdiretório) que eu estava criando – e neste caso o “2” em arch_grub2 foi uma opção pessoal minha, para diferenciar da outra “entrada”, que não estava mais funcionando.

Enfim, “imagino” que o parâmetro --recheck manda re-checar alguma coisa (não me pergunte o quê!).

Existem “versões” diferentes desse comando + parâmetros, na Wiki do Arch. – Escolhi o que me pareceu “mais completo” – pois minha ignorância não me permitia fazer coisa melhor. Felizmente, deu certo.

Essa foi a 3ª vez que usei esse comando. – Eu já tinha usado quando fiz minha 1ª instalação do Arch “na unha” (antigo PC, sem UEFI) – e a 2ª vez, quando instalei o Arch no meu PC atual (UEFI).

Bom, deixei lá a “entrada” anterior /arch_grub – que não funciona mais. – Meu conselho é: “deixe quieto!” (rs).

Eu já deletei “entradas” – seja pelo comando efibootmgr, e também deletando “fisicamente” algum subdiretório que não queria mais. – Cometi erros, deletei alguma coisa que não devia (felizmente, não me prejudicou), e hoje meu conselho é: “deixa quieto!”.

(Existe um tópico, aqui no Fórum, onde descrevi o que andei fazendo – inclusive os erros que cometi).

Apesar de ter um “grub” nesse comando – repito: – “EFI” e “grub” são coisas bem distintas, separadas.

Esse comando apenas “ensina” ao “efi”, onde deverá procurar o Grub.

O comando ´update-grub´ não terá nenhum efeito sobre o “efi”.

Hoje em dia, não uso mais “arrastar e soltar” na tela do UEFI Bios Utility. – Quando alguma distro “se apossa” da prioridade de boot, prefiro usar o comando efibootmgr para recolocar o openSUSE no topo das prioridades:

KDE Neon (user) -- após PCLinuxOS se apossar da prioridade na "efi"

$ efibootmgr
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0004,0000,0001,0003,000A,0002,0005,000E,0006,0007,000B,000F
Boot0000* opensuse
Boot0001* debian
Boot0002* Fedora
Boot0003* mageia
Boot0004* pclinuxos
Boot0005* arch_grub
Boot0006* arch_grub2
Boot0007* MX Linux
Boot000A* slackware-14.2+
Boot000B* neon
Boot000E* Redcore
Boot000F* debian

$ date; sudo efibootmgr -o 0000,0001,0003,000A,0002,0005,000E,0006,0007,000B,000F,0004
Tue 13 Feb 11:59:12 -03 2024
[sudo] password for flavio:
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001,0003,000A,0002,0005,000E,0006,0007,000B,000F,0004
Boot0000* opensuse
Boot0001* debian
Boot0002* Fedora
Boot0003* mageia
Boot0004* pclinuxos
Boot0005* arch_grub
Boot0006* arch_grub2
Boot0007* MX Linux
Boot000A* slackware-14.2+
Boot000B* neon
Boot000E* Redcore
Boot000F* debian

Quando o PCLinuxOS “se apossou da prioridade”, apareceu o Grub do PCLinuxOS:

(Sim, configurei o Grub do PCLinuxOS para detectar apenas ele mesmo – para não perder tempo detectando outras distros).

Quando o Mageia “se apossou da prioridade de boot” na EFI, apareceu o Grub do Mageia:

(O Grub do Mageia é meu “Grub de reserva”, por isso, deixo ele detectar as outras distros).

Meu Grub preferido é o do openSUSE – o único que consegue detectar e carregar qualquer uma das outras 25 ou 30 distros que já tive:

Então, é isso: – Ao configurar a “prioridade de boot” no “efi”, estamos apenas dizendo “onde” procurar o Grub – em qual partição, em qual distro.

P.S.: - Esqueça os links que postei antes. – O que pode ser útil é este.

1 curtida

Eu só fiz instalação manual do Grub legacy, o Grub 2 tanto em UEFI eu BIOS para mim é um mistério. E já faz tanto tempo que não mexo no Grub legacy que já nem lembro mais como mexer.

Rapais, no seu vídeo sobre a dica do @sparrow a sua missão foi um sucesso, o que aconteceu de errado que não vi?

Caros amigos, eu consegui solucionar o problema, dei um pulo de alegria quando entre diretamente para a seleção de boot do grub ao invés de ir para o grub shell / grub rescue.

Eu documentarei tudo o que eu fiz junto com as referência muito provavelmente amanhã, mas dando um spoiler: eu dei volta ao mundo para saber que eu precisava daquela entrada ubuntu dentro de /boot/efi/EFI para a inicialização do KDE Neon funcionar. :rofl: .

Obrigado por cada um que reservou um pouco do seu tempo para tentar me ajudar nessa “mini-jornada”.

:heart:

1 curtida