Como posso reinstalar o GRUB na partição EFI?

15

Eu quero reinstalar o GRUB 2 e encontrei estas instruções: Como reparar, restaurar ou reinstalar o Grub 2 com um Ubuntu Live CD ou USB . No meu caso, o gerenciador de partida está instalado na partição EFI. Se eu usar os comandos fornecidos neste guia, o GRUB será reinstalado automaticamente na partição EFI ou será instalado na partição raiz onde o Ubuntu está instalado? Obviamente, não quero que isso aconteça.

    
por Generoso 29.09.2016 / 16:40

5 respostas

31

Reinstale o gerenciador de inicialização GRUB na sua instalação do Ubuntu no modo EFI desta forma ...

Inicialize com o meio de instalação do Ubuntu e selecione 'Experimentar o Ubuntu sem instalar'.
(Inicialize sua mídia de instalação no modo EFI, selecione a entrada do Ubuntu com UEFI na frente.)

Quando estiver na área de trabalho do Live, abra um terminal e execute estes comandos:

sudo mount /dev/sdXXX /mnt
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sdX
update-grub  

Nota: sdX = disco | sdXX = partição efi | sdXXX = partição do sistema

Para identificar as partições use GParted, a ferramenta está incluída no meio de instalação.
Depois de executar os comandos, o GRUB será instalado na partição EFI separada.

    
por cl-netbox 29.09.2016 / 17:51
2

Obrigado ao @cl-netbox pelas instruções!

Depois de atualizar (Linux Mint 18.2 Sonya para 18.3 Sylvia), meu sistema não inicializaria, então segui as instruções acima, mas ainda não obtive sucesso. Notei, no entanto, que minha máquina tem / boot em uma partição separada (possivelmente porque estou usando o LVM), então meu processo ligeiramente modificado era:

sudo mount /dev/sdXXX /mnt
sudo mount /dev/sdXY /mnt/boot
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sdX
update-grub 

Nota: sdX = disco | sdXX = partição efi | sdXY = partição de inicialização | sdXXX = partição do sistema

    
por Rob Pearman 23.06.2018 / 00:32
2

esta é a única maneira que funcionou para mim: (Sistema: sdb8, boot: sdb6, efi: sdb2)

sudo mount /dev/sdb8 /mnt 
sudo mount /dev/sdb6 /mnt/boot 
sudo mount /dev/sdb2 /mnt/boot/efi

sudo mount --bind /dev /mnt/dev &&
sudo mount --bind /dev/pts /mnt/dev/pts &&
sudo mount --bind /proc /mnt/proc &&
sudo mount --bind /sys /mnt/sys

sudo chroot /mnt

grub-install --target=x86_64-efi /dev/sdb

grub-install --recheck /dev/sdb

exit &&
sudo umount /mnt/sys &&
sudo umount /mnt/proc &&
sudo umount /mnt/dev/pts &&
sudo umount /mnt/dev &&
sudo umount /mnt
    
por Chilu Pereira 28.08.2018 / 22:07
0

além da resposta do ci-netbox.
Se a sua versão do sistema operacional pendrive não coincide com a que está instalada no disco, o grub-install pode ter dificuldades em identificar a instalação correta do grub:

$ sudo chroot /mnt
# grub-install /dev/sdX
grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. 
Please specify --target or --directory.

Tente identificar manualmente a instalação para usar

# ls /usr/lib/grub/
grub-mkconfig_lib  x86_64-efi  x86_64-efi-signed

Em seguida, reinicie o grub-install:

# grub-install --target=x86_64-efi /dev/sdX 
Installing for x86_64-efi platform.
Installation finished. No error reported.
    
por Emmanuel 08.12.2017 / 00:53
0

Se você perder a partição EFI, é fácil recuperá-la. Você pode usar fdisk ou parted para criar uma nova partição GPT com o tipo "partição EFI (1)" e formatá-la com:

sudo mkfs.msdos /dev/sdX

monte-o e você poderá seguir a execução:

sudo grub-install /dev/sdX

como em outras soluções.

    
por cengique 17.07.2018 / 11:04