Olá caros participantes da lista.

Fiz uma instalação do linux em um pendrive, com boot UEFI em um pendrive
para que eu possa utilizá-lo em mais de um notebook. Como não quero
escrever nada no disco interno (sda), faço o boot totalmente pelo pendrive
(sdb).

Meu cenário é:

Device     Type
/dev/sda1  EFI System
/dev/sda3  Windows

Device     Type        Mount Point
/dev/sdb1  Linux swap
/dev/sdb2  EFI System  /boot/efi
/dev/sdb3  ntfs
/dev/sdb5  ext4        /
/dev/sdb6  ext4        /home
/dev/sdb7  ext2        /boot

Os dois discos usam GTP.

Quando eu instalei diretamente pelo instalador da Live, mesmo setando para
não utilizar o sda1 como partição UEFI e sim a partição sdb2, o sistema
utilizou o sda1.

Me parece que eu consegui gerar a entrada correta via efibootmgr para o
boot UEFI para o disco sdb2, porém agora ele reconhece  o boot, porém cai
na tela do Grub Bash Minimal-like.

Criei então uma máquina virtual para simular o pendrive e o boot UEFI é
realizado com sucesso.

Reparei que o arquivo /EFI/ubuntu/grub.cfg na máquina virtual possui o
seguinte conteúdo:

search.fs_uuid uuid_dev_sda7 root hd0,gpt7
set prefix=($root)'/grub'
configfile $prefix/grub.cfg

Então utilizei o mesmo padrão para o arquivo no pendrive, fazendo as
devidas correções nos discos, jáque na máquiva virtual eu só tenho um disco.

search.fs_uuid uuid_dev_sdb7 root hd1,gpt7
set prefix=($root)'/grub'
configfile $prefix/grub.cfg

Porém continua caindo na tela do Grub Bash Minimal-like.

Já tentei apagar todos os dados da partição EFI do sdb, reinstalar o
grub-efi-amd64, grub-install /dev/sdb e o update-grub e ele gera o mesmo
arquivo grub.cfg.

Que eu me lembre quando funcionava, no arquivo grub.cfg da partição EFI ele
usava uma partição do tipo msdos para a partição ext2, mas não tinha salvo
o arquivo e não consigo alterar para voltar como estava.

Resumindo:

Entrada gerada pelo efibootmgr ( efibootmgr -c -d /dev/sdb -p 2 -L ubuntu
-l "\EFI\ubuntu\shimx64.efi" ):
Boot0001* ubuntu
HD(2,GPT,uuid_dev_sdb2,0x800,0xee000)/File(\EFI\ubuntu\shimx64.efi)

Arquivo /dev/sdb2\EFI\ubuntu\grub.cfg gerada pelo grub-install ( grub-install
/dev/sdb ):
search.fs_uuid uuid_dev_sdb7 root hd1,gpt7
set prefix=($root)'/grub'
configfile $prefix/grub.cfg

Me parece que a primeira parte está correta, pois antes o boot não
encontrava a partição EFI em /dev/sdb2 e iniciava o Windows em /dev/sda1
(failback).

Pela configuração do arquivo grub.cfg na partição /dev/sdb2, ele na minha
opinião está corretamente apontando para o arquivo /dev/sdb7/grub/grub.cfg.
Infelizmente não encontro documentação sobre este arquivo grub.cfg na
partição EFI.

Descobri que existe uma pasta /dev/sdb7/grub/uuid com um uuid que eu não
conheço, não encontro quando listo blkid.

Se alguém puder me ajudar nesta tarefa eu agradeço muito, senão terei que
reinstalar todo o linux para resolver o problema.

Ewerton D.
-- 
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Lista de discussão Ubuntu Brasil
Histórico, descadastramento e outras opções:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a