Criando um pen-drive com uma imagem do zero inicializável no modo BIOS e UEFI

1

Eu fiz um LiveCD usando este guia , mais buscas adicionais na internet, e eu criei um sistema funcional usando pacotes dos repositórios Ubuntu xenial: ele pode inicializar, o sistema pode ser usado, o wireless funcionou em todos os notebooks que testei e pode ser instalado com o Ubiquity (estou impressionado).

O problema é: consegui inicializar apenas no modo BIOS. No modo UEFI, nada aparece, nem mesmo o resgate do GRUB, então algo está completamente errado.

Eu tentei copiar o boot e o EFI diretamente do ISO do Ubuntu, o que não funcionou. O ISO do Ubuntu tem alguns arquivos, particularmente casper / vmlinuz.efi , EFI / BOOT / bootx64.efi e EFI / BOOT / grubx64.efi que, não importa o que eu faça, não fui capaz de criar ou encontrar. Eu encontrei apenas vmlinuz, que não tem a extensão .efi, e os outros dois, não tenho idéia de como criar esses arquivos.

Para inicializar o computador no modo BIOS, estou usando o isolinux, que funciona. Eu tentei com o syslinux para inicializar no modo UEFI também, mas não tive sucesso, então estou tentando usar o GRUB, como é feito no LiveCD do Ubuntu.

Quais são as etapas necessárias para fazer o LiveCD que eu fiz para inicializar no modo UEFI, como o Ubuntu faz? Eu acredito que precisaria criar arquivos especiais. Se sim, como posso criá-los?

Obrigado.

    
por FurretUber 18.03.2017 / 06:02

1 resposta

3

De um modo geral, você precisa instalar um gerenciador de inicialização no modo EFI para Linux na unidade USB que você preparou. Este gerenciador de partida deve ser armazenado como EFI/BOOT/bootx64.efi na partição do sistema EFI (ESP), que é uma partição FAT no disco. Há uma chance de que o disco que você preparou não tenha um ESP, portanto talvez seja necessário criá-lo. (Até mesmo uma partição FAT comum é normalmente suficiente, portanto, se o disco tiver uma partição FAT, talvez você não precise de um ESP separado.)

O mais complicado é que o carregador de boot que você escreve no disco deve estar configurado corretamente para inicializar a instalação no disco. O GRUB retirado da instalação do Ubuntu O arquivo .iso não funciona sem alterações, porque está configurado para inicializar o instalador do Ubuntu, não a instalação que você criou na unidade USB. Portanto, você deve saber o suficiente sobre o gerenciador de inicialização para saber como configurá-lo e o suficiente sobre sua instalação para saber quais valores colocar no arquivo de configuração do carregador de inicialização.

Infelizmente, o GRUB 2 é um gerenciador de inicialização muito difícil de configurar; seu formato de arquivo de configuração é bastante complexo e geralmente é criado por scripts especializados. Mesmo o binário pode precisar ser modificado para sua situação específica, já que o arquivo de configuração principal ( grub.cfg ) está normalmente localizado na partição raiz ( / ) ou /boot do Ubuntu, significando que o binário deve ser modificado para sua partição. instalação particular.

Eu escrevi uma página sobre Carregadores de inicialização EFI para Linux que abrange muitas alternativas, a maioria das quais são mais fáceis para configurar do que o GRUB 2. O meu rEFInd provavelmente é o mais fácil de configurar e configurar, já que ele tenta auto- detectar kernels Linux quando ele é iniciado, e normalmente ele pode descobrir quais opções passar para o kernel para obter o sistema inicializado. Assim, as alterações do arquivo de configuração necessárias para inicializar com o rEFInd são mínimas e, às vezes, inexistentes.

Uma grande advertência é o Boot Seguro. Se você deseja que o computador inicialize com o Secure Boot ativo, você deve fornecer Shim ( shimx64.efi ) ou PreLoader ( preloader.efi ) como o carregador de boot (renomeado para EFI/BOOT/bootx64.efi ), com o respectivo carregador de inicialização renomeado apropriadamente para Shim ou PreLoader. Além disso, dependendo do carregador de boot em questão, talvez você precise adicionar chaves ou hashes ao firmware sempre que inicializar o disco em um novo computador. Nesse caso, provavelmente vale a pena ir ao incômodo de usar o GRUB 2 no novo computador, já que o Ubuntu fornece todas as partes necessárias para que um computador inicialize o Ubuntu sem mexer nas chaves ou nos hashes.

    
por Rod Smith 18.03.2017 / 18:38