Inicialize UEFI de 32 bits a partir do arquivo

Inicialize UEFI de 32 bits a partir do arquivo

Tenho linux em usb (32 bits x86) e dois PCs,

  1. um, um laptop 64x uefi inicializa bem.
  2. um tablet com processador de 64 bitsmas uefi-bios de 32 bitsnão inicialize.

O segundo não tem opção de inicialização legada, mas tem a possibilidade de inicializar a partir de .efi-File.

Infelizmente nenhum dos .efi-files ...

  • /efi/boot/bootx64.efi
  • /efi/boot/grubx64.efi

... carrega e dá a mesma mensagem: \efi\boot\bootx64.efi boot failed.

Alguma sugestão?

Responder1

EFIs suportam programas, incluindo carregadores de inicialização, com profundidade de bits semelhante. Em outras palavras, um EFI x86-64 (também conhecido como AMD64, x64 ou EM64T) pode iniciar um binário de 64 bits, que normalmente tem um nome de arquivo terminando em x64.efi; e um EFI x86 (também conhecido como IA32, i686 ou relacionado) pode iniciar um binário de 32 bits, que normalmente tem um nome de arquivo terminando em ia32.efi. Observe que, se você tiver uma EFI de 32 bits, a profundidade de bits da CPU é irrelevante. O resultado é que seu sistema com EFI de 32 bits e CPU de 64 bits está limitado à execução de programas EFI de 32 bits.

Normalmente, a profundidade de bits do carregador de inicialização EFI (que é apenas um tipo específico de programa EFI) também limita a profundidade de bits do sistema operacional que ele executa. Portanto, é mais fácil instalar um sistema operacional de 32 bits em um computador com EFI de 32 bits. Existem maneiras de contornar esse limite, no entanto. Em particular, tanto o carregador de inicialização OS X da Apple quanto o GRUB do Linux suportam inicialização de kernel com profundidade de bits cruzada, para que você possa iniciar um kernel de 64 bits a partir de um carregador de inicialização de 32 bits ou vice-versa. (Obviamente, você precisa de uma CPU de 64 bits para iniciar um kernel de 64 bits.) Já que você diz que está usando Linux, mas não diz qual distribuição está usando, não posso dar instruções muito detalhadas - e na verdade não tenho os detalhes à mão. Essas instalações com profundidade cruzada são muito "de vanguarda" e recomendo evitá-las, se possível.

Ficar com um sistema operacional de 32 bits provavelmente será mais fácil, mas muitos sistemas operacionais (incluindo a maioria das distribuições Linux) negligenciaram os EFIs de 32 bits, então você mesmo pode precisar adicionar um carregador de inicialização. Este processo é descrito para Ubuntuaqui.IIRC, o Debian agora fornece suporte EFI de 32 bits, então você pode fazê-lo funcionar "pronto para usar".

Em última análise, para ter um disco inicializável em EFIs de 32 e 64 bits, com suporte de inicialização em modo BIOS/CSM/legado fora de questão, você precisará instalar versões de 32 e 64 bits do um carregador de inicialização e configure um para inicializar com profundidade de bits cruzada. É provável que seja melhor ter dois discos ou pelo menos duas instalações em um disco, uma de 32 bits e outra de 64 bits. Para um disco externo, o carregador de inicialização de 32 bits será EFI/BOOT/bootia32.efie o carregador de inicialização de 64 bits será EFI/BOOT/bootx64.efi.

informação relacionada