Eu tentei instalar o Ubuntu 16.04 e o Linux Mint 18 em partições separadas de um disco rígido, com duas outras partições para serem montadas como /boot
(uma para cada). A ideia era ter os dois sistemas completamente independentes e selecionar entre eles através do menu de inicialização UEFI do laptop. Eu também estava esperando poder fazer com que cada carregador de boot veja o outro. No futuro planejei adicionar mais uma distribuição.
A primeira coisa que parece estar fora de ordem é que os instaladores do Ubuntu e do Mint me perguntaram onde instalar os gerenciadores de inicialização, apesar da documentação da comunidade do Ubuntu diz :
Note that in a UEFI-mode installation, Ubuntu will not ask you where to install the boot loader. If it does, or if it complains about the lack of a BIOS Boot Partition, you've probably accidentally booted in BIOS/CSM/legacy mode.
(Tenho certeza de que fui inicializado no modo UEFI: "Launch CSM" foi desativado na configuração do UEFI e, no final, os sistemas instalados estavam montando a partição do sistema EFI em /boot/efi
.)
Como eu tive que escolher onde instalar os gerenciadores de partida, eu os selecionei para serem instalados nas respectivas partições /boot
.
Depois de instalar o Ubuntu, ele apareceu no menu de inicialização do UEFI. Inspecionando o ESP (partição do sistema EFI), descobri que um diretório /EFI/ubuntu
foi criado. Com a ajuda de efibootmgr
, determinei que o arquivo de inicialização para o Ubuntu era \EFI\UBUNTU\SHIMX64.EFI
. (Na verdade, na primeira vez que tentei instalar o Ubuntu, selecionei "não use essa partição" para ESP, mas foi usado mesmo assim.)
Depois eu instalei o Mint, e o que aconteceu foi que o item "ubuntu" no menu de inicialização do UEFI começou a lançar o GRUB do Mint em vez do GRUB do Ubuntu, e eu não encontrei mais como iniciar o Ubuntu. Descobriu-se que Mint tinha substituído o diretório /EFI/ubuntu
no ESP com seus próprios arquivos.
Meu principal problema ainda está por vir.
Eu descobri que, se eu reinstalar o GRUB do Mint com o seguinte comando
sudo grub-install --efi-directory=/boot/efi --bootloader-id=linux-mint
ele criará um diretório EFI/linux-mint
com seus "kernels" de inicialização. Aqui está o conteúdo deste diretório após a operação acima:
$ sudo ls -l /boot/efi/EFI/linux-mint
total 3546
-rwx------ 1 root root 121 juil. 28 22:05 grub.cfg
-rwx------ 1 root root 1067896 juil. 28 22:05 grubx64.efi
-rwx------ 1 root root 1271672 juil. 28 22:05 MokManager.efi
-rwx------ 1 root root 1289424 juil. 28 22:05 shimx64.efi
Por meio da configuração do UEFI, adicionei a opção de inicialização "linux-mint" apontando para /EFI/linux-mint/shimx64.efi
e funcionou.
(Eu me arrependo agora de não ter removido o diretório /EFI/ubuntu
primeiro para um experimento mais limpo).
Eu reinstalei o Ubuntu e recriou seu /EFI/ubuntu
:
$ sudo ls -l /boot/efi/EFI/ubuntu
total 3610
drwx------ 2 root root 1024 juil. 28 22:23 fw
-rwx------ 1 root root 64352 juil. 28 22:23 fwupx64.efi
-rwx------ 1 root root 121 juil. 28 22:25 grub.cfg
-rwx------ 1 root root 1067896 juil. 28 22:25 grubx64.efi
-rwx------ 1 root root 1271672 juil. 28 22:25 MokManager.efi
-rwx------ 1 root root 1289424 juil. 28 22:25 shimx64.efi
No menu de inicialização do UEFI, a entrada "ubuntu" apareceu automaticamente junto com o "manualmente" criado antes do "linux-mint". A entrada "ubuntu" lançou o GRUB do Ubuntu, como esperado. Eu inspecionei o menu de inicialização do UEFI com efibootmgr -v
e verifiquei se o "ubuntu" estava apontando para \EFI\UBUNTU\SHIMX64.EFI
e "linux-mint" estava apontando para \EFI\LINUX-MINT\SHIMX64.EFI
:
$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0003,0000,0005
Boot0000* Windows Boot Manager HD(1,GPT,e430ad60-82d4-4bbf-93df-dc0690541c64,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...1................
Boot0001* ubuntu HD(1,GPT,e430ad60-82d4-4bbf-93df-dc0690541c64,0x800,0x32000)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot0003* linux-mint HD(1,GPT,e430ad60-82d4-4bbf-93df-dc0690541c64,0x800,0x32000)/File(\EFI\LINUX-MINT\SHIMX64.EFI)
Boot0005* Hard Drive BBS(HD,,0x0)..GO..NO........o.H.G.S.T. .H.T.S.5.4.1.0.1.0.A.7.E.6.3.0....................A...........................>..Gd-.;.A..MQ..L. . . . . . .0.S.0.0.1.0.S.S.T.H.3.1.F.Y........BO..NO........o.H.F.S.1.2.8.G.3.9.M.N.C.-.2.3.0.0.A....................A...........................>..Gd-.;.A..MQ..L.I.E.9.5.0.N.7.5.1.2.7.0.9.0.5.I. .P. . ........BO
Selecionei o "linux-mint" no menu de inicialização do UEFI e ele lançou o GRUB do Ubuntu. Por favor me ajude.