Recuperar GRUB EFI no Deepin

Algumas pessoas que usam a Distro Deepin, alguma vez ou outra já deve ter experimentado a experiência de perder o GRUB em computadores que usam EFI e tiveram dificuldades de recuperar o mesmo. Em um dos meus testes nesta Distro, fiz algo que resultou na perca do GRUB e percebí que não dá pra recuperar o GRUB EFI da mesma forma que o habitual GRUB MBR (Legacy).

Tentei fazer o que o Wiki do Deepin sugeriu, mas não deu certo. Porém, após alguns testes consegui resolver, mas pra isto precisei verificar o log de instalação do Deepin pra saber o que ele faz na hora de instalar o GRUB-EFI. O Log de instalação fica em /var/log/deepin-installer.log.

Então vamos aos passos:

  1. Faça o boot com o instalador do Deepin em modo EFI, então vai aparecer o menú de boot do mesmo, selecione a opção "Install Deepin" :

  1. Aperte a letra E para entrar em modo edição e verá no meio das opções de boot do Kernel a opção livecd-installer:

  1. Vá até esta opção e apague:

  1. Aperte F10 para iniciar o Boot. Como foi apagado a opção livecd-installer, o sistema irá fazer o boot como um Live, assim como o Ubuntu Live.

  2. A partir daqui vou explicar como fiz em meu sistema, pois fica mais fácil explicar e talvez para vocês entenderem.
    Após o inicio do “Deepin Live” , abra o Terminal e faça o comando lsblk para ver sua árvore de devices e ver através do mapeamento a configuração do seu dispositivo. Eu tenho bastante partições, também sei que a minha partição EFI foi criada em /dev/sda2, pois nele eu criei um sistema de arquivos de 300 MB e instalei o Deepin na partição /dev/sda4. Veja minha árvore (Eu fiquei como root direto pra não ter que ficar digitando sudo toda hora, pra ficar assim basta fazer o comando sudo su):

root@Deepin:/home/deepin# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 1.8G 1 loop /usr/lib/live/mount/rootfs/filesystem.squashfs
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 2G 0 part
├─sda2 8:2 0 300M 0 part
├─sda3 8:3 0 50G 0 part
├─sda4 8:4 0 50G 0 part
└─sda5 8:5 0 829.2G 0 part
sdb 8:16 0 931.5G 0 disk
└─sdb1 8:17 0 931.5G 0 part
sdc 8:32 1 7.5G 0 disk
└─sdc1 8:33 1 7.5G 0 part /usr/lib/live/mount/medium

  1. Após saber qual é sua partição Raiz e a partição EFI, monte os mesmos. Eu escolhi montar as partições na pasta /mnt pois é uma pasta padrão do Linux que sempre está vazia. Em meu caso ficou assim:
mount /dev/sda4 /mnt/
mount /dev/sda2 /mnt/boot/efi/
  1. Após montar estas 2 partições principais, monte outras partições essenciais usando a opção bind do mount:
mount -o bind /proc/ /mnt/proc/
mount -o bind /sys/ /mnt/sys/
mount -o rbind /dev /mnt/dev/
mount -o rbind /dev/pts/ /mnt/dev/pts/
mount -o bind /run/ /mnt/run/
  1. Agora logue-se com o chroot na partição montada da sua Distro:
chroot /mnt/
  1. Nesta parte, segui o Wiki do Deepin (reinstalar o grub-efi mas não deu certo, então verifiquei o log de instalação do Deepin e fiz exatamente o que o Wiki diz, só que com os pacotes que encontrei
    No meio da instalação, se perguntar qual versão do GRUB deseja usar, escolha a versão nova:
apt-get install --reinstall grub2-common grub-efi-amd64-bin grub-efi-amd64 grub-efi-amd64-signed mokutil
  1. Algumas pessoas na internet disseram que não precisaram fazer este passo em diante, então faça se quiser, porém, se não der certo terá que repetir os passos até aqui tudo de novo:
grub-install --recheck /dev/sda
update-grub
  1. Saia do chroot, reinicie o computador e veja se deu certo:
exit
reboot

Não se preocupe em desmontar as partições e devices que foram montados manualmente até aqui, pois vai reiniciar o computador mesmo.

Qualquer resultado, se deu certo ou não. Qualquer dúvida ou feedback, fiquem a vontade para comentar o post.

Até mais pessoal :wink::+1:

8 Curtidas