terça-feira, 24 de janeiro de 2023

Problema com o USB bootável contendo o Fedora 37

Preparei uma USB Stick contendo a imagem do Fedora 37 com a intenção de fazer uma fresh install mas quando tentei fazer o boot do media dava erro.

O mesmo aconteceu com o Fedora 38 quando tentei instalá-lo:

Invalid image
Failed to read header: Unsupported
Failed to load image: Unsupported
start_image() returned Unsupported

Tentei por várias vezes, verifiquei de novo a .iso, testando a sua integridade e estava tudo normal, foi aí que pensei que eventualmente poderia ser um problema próprio desta versão do Fedora. Após uma Googlada constatei que esse problema ocorria nalguns motherboards e que não fazia boot em modo UEFI. Não testei em modo BIOS mas ao que parece há opinião positiva nesse sentido.

O problema foi identificado e resolvido em shim (Bootloader UEFI inicial) mas ao que parece a implementação só será no Fedora 38. Mas há várias soluções apontadas e caso seja do teu interesse podes escolher a solução com a qual te sentes mais confortável.

O que encontrei na minha pesquisa:

F37 install media don’t boot in UEFI mode on certain motherboards por Kamil Páral no Ask Fedora

Mas a solução que resolvi experimentar foi baseada neste post de Roland McDoland no Ask Fedora F37 Invalid image error while booting

Esta solução funcionou para mim.

Vamos supor que o dispositivo USB esteja conectado ao computador

Para localizar o dispositivo no qual vamos trabalhar:

$ sudo fdisk -l

Escolhemos o /dev/sdb2 a partição que contém o sistema EFI.

Resultado do comando fdisk -l para localizar o USB bootável

Montamos o /dev/sdb2 em /mnt/ com permissão de rwx (read, write, execute) -o (opção) umask=000

$ sudo mount /dev/sdb2 /mnt/ -o umask=000

Entramos na pasta BOOT

$ cd /mnt/EFI/BOOT

Podemos checar os ficheiros nesta pasta e ver as respetivas permissões:

$ ls -l

ls -l na pasta BOOT da iso Fedora em USB bootável, fase inicial após a montagem do USB stick

Deletamos os ficheiros BOOTX64.EFI e BOOTIA32.EFI

$ rm BOOTX64.EFI BOOTIA32.EFI

Alteramos o nome do ficheiro grubx64.efi para BOOTX64.EFI

$ mv grubx64.efi BOOTX64.EFI

Alteramos o nome do ficheiro grubia32.efi para BOOTIA32.EFI

$ mv grubia32.efi BOOTIA32.EFI

Saimos da pasta /mnt/EFI/BOOT antes de desmontar pois caso contrário teremos a mensagem "target is busy":

$ cd ~

Desmontamos a partição /dev/sdb2:

$ sudo umount /dev/sdb2

Podemos checar para ver que as permissões voltaram à forma inicial:

$ ls -l /run/media/usmejohn/Fedora-WS-Live-37-1-7/EFI/BOOT/

ls -l na pasta BOOT da iso Fedora em USB bootável, fase final após a desmontagem do USB stick

Momento de experimento a ver se funciona mesmo. Dei o boot e o resultado foi positivo.

imagem do boot loader do fedora 37

Esta foi a solução que resolvi experimentar e que funcionou para mim.

Sem comentários:

Enviar um comentário