Ao solicitar uma ilustração clara de como fazê-lo, aqui está. Eu suponho que você tenha o seu live Linux inicializado.
-
Particione o pen drive USB
Eu recomendo a ferramenta de linha de comando
gdisk
. Produz resultados muito limpos. Como alternativa, você pode usargparted
.-
Crie uma nova tabela de partição. Use o GPT com um MBR protetor.
-
Defina estas partições:
- (opcional) Uma partição de dados
- Uma partição do Linux
- Uma partição de inicialização de BIOS herdada (1 MB é suficiente)
- Uma partição do sistema EFI (pelo menos 32 MB)
-
Exemplo: no meu pen drive de 64 GB, o resultado é assim:
Number Start (sector) End (sector) Size Code Name 1 2048 107632639 51.3 GiB 0700 DATA 2 107632640 124411903 8.0 GiB 8300 Linux filesystem 3 124411904 124413951 1024.0 KiB EF02 BIOS boot partition 4 124413952 124822453 199.5 MiB EF00 EFI System
-
-
Instale o Linux no pendrive USB usando qualquer método.
Durante o processo, formate a partição Linux com um sistema de arquivos de sua escolha, preferencialmente
ext4
. Use esta partição como root/
.
Formate a partição do sistema EFI com FAT16.
A partição de inicialização do BIOS permanece não formatada. -
Instale o GRUB duas vezes
Em uma etapa final, instale o GRUB para os dois métodos de inicialização, inicialização de estilo UEFI e inicialização de BIOS legado.
grub-install --target=x86_64-efi --removable /dev/sdx grub-install --target=i386-pc /dev/sdx
Onde
/dev/sdx
é o seu pen drive, obviamente.
Esse--removable
é importante. Demorei três horas para perceber que preciso de um pendrive USB removível ...Se você instalar o GRUB no pen drive a partir do "outside" (sem ter inicializado o Linux a partir do pen drive USB), é necessário montar a partição Linux primeiro. Talvez você monte em
/mnt
. Em seguida, monte a partição do sistema EFI no diretório/mnt/boot/efi
das partições do Linux. Use--root=/mnt
como parâmetro paragrub-install
. Só entãogrub-install
encontra todos os diretórios necessários.
Feito.
Para leitura adicional:
Nós realmente não definimos partições no MBR. Então você pode perguntar por que ele funciona em máquinas BIOS legadas. Tenha em mente que instalamos o GRUB no MBR. Durante o processo de inicialização do BIOS, o bootloader armazenado no MBR é executado. Isso carrega o estágio 1 do GRUB, que então passa a carregar o estágio 2 da partição de inicialização do BIOS. Mas neste momento, o GRUB não sabe nada sobre partições MBR ou de outra forma. Por esse motivo, as informações sobre a posição da partição de inicialização do BIOS foram incorporadas ao estágio 1 do GRUB. Consequentemente, se a partição de inicialização do BIOS for movida, será necessário reinstalar o GRUB. Depois que o estágio 2 do GRUB é carregado, o GRUB entende a GPT e pode continuar com a inicialização do kernel do Linux.