Multi boot EFI e MBR / BIOS pendrive, um arquivo grub.cfg

0

Estou criando um USB inicializável com o bootloader grub. O objetivo é realizar algo com a maior compatibilidade possível, tanto para o BIOS quanto para o UEFI. Então, primeiro passo, eu normalmente instalei um bootloader grub para BIOS e copiei um bootloader EFI compatível com sistemas EFI de 32 e 64 bits (copiei o clonezilla!). Todos os arquivos relacionados a inicialização estão em uma partição ext4.

Segundo passo: o mais importante é que eu queira editar um arquivo grub.cfg exclusivo em vez de dois (um para BIOS, outro para EFI). Minha ideia era criar dois links simbólicos com o mesmo arquivo grub.cfg de destino. A ideia funcionou bem para os sistemas Windows EFI. Isso porque eles só suportam arquivos inicializáveis EFI na partição FAT32, enquanto eu uso uma partição ext4!

Agora, o problema: como criar algo semelhante e igualmente útil em uma partição FAT32, que não suporta links simbólicos?

    
por WD_SeaSerpent 30.07.2016 / 14:21

1 resposta

1

Eu não entendo o que você realmente fez diferente e onde está o seu problema, mas pode ser que possamos descobrir isso.

Você sabia que não só pode carregar outros carregadores de inicialização, como Windowx ou OS X, mas outros arquivos grub.cfg?

search.fs_uuid 7bd6ae5a-b02b-4acf-b5f5-0d7c6b435d5b root hd0,gpt2
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

Este código procura o sistema de arquivos raiz com o UUID especificado no primeiro disco rígido na segunda partição. Ele define uma variável chamada prefixo e, finalmente, inicializa o grub.cfg a partir de / boot / grub do sistema de arquivos raiz. Você pode encontrar este código em todas as partições do sistema FAT32 EFI no Ubuntu. (A configuração do Fedora é um pouco diferente e armazena kernels no ESP e tem um link simbólico do grub.cfg no / etc que liga ao ESP IIRC, a configuração do Ubuntu é o mais próximo possível de um link simbólico na minha opinião). Por padrão, todos os carregadores EFI do grub executam um grub.cfg quando nenhuma configuração é incluída no próprio binário. (Sim, você pode encontrar um arquivo de configuração anexado ao final do binário e alguns certificados se o binário estiver chamuscado quando você visualizar o arquivo em um editor hexadecimal.) Apenas modifique este código para suas necessidades que ele carrega o grub.cfg você quer e colocá-lo em seu ESP ao lado de seus arquivos bootx64.efi e bootia32.efi. O pacote grub-efi-ia32-bin está disponível no Ubuntu 16.04, portanto, você também deve poder instalar um carregador EFI de 32 bits. A única coisa que resta é configurar o carregador MBR.

O que você precisa para juntar suas peças do jeito que você quer?

    
por LiveWireBT 31.07.2016 / 02:03