Obrigado Raman Sailopal e cas pela ajuda, mas não se encaixou no meu caso.
Aqui estão os passos exatos a serem seguidos, assumindo que / dev / sda4 é a raiz do linux, / dev / sdb2 é sua partição EFI (localizada em / boot / efi), e seus arquivos linux / initrd são /boot/vmlinuz-linux
& /boot/initramfs.img
Grave um live usb do ubuntu (16.04?) Com arquitetura amd64, inicialize e cole estes comandos:
sudo os-prober
efibootmgr
Instale o os-prober ou o efibootmgr, se ainda não estiver instalado:
sudo apt-get install os-prober
sudo apt-get install efibootmgr
O grub no modo efi provavelmente não está instalado, instale-o também
sudo apt-get install grub-efi-amd64-signed
Em seguida, instale o grub:
sudo mount -t ext4 /dev/sda4 /mnt
sudo mount -t vfat /dev/sdb2 /mnt/boot/efi
grub-install --target=x86_64-efi --efi-directory=/mnt/boot/efi --boot-directory=/mnt/boot --bootloader-id=grub
Não tente usar grub-mkconfig
, isso não funcionará.
Em vez disso, inicialize a partir do seu gerenciador de boot recentemente grub, você terá um shell grub, cole estes comandos :
set root=(hd0,4)
linux /boot/vmlinuz-linux root=/dev/sda4
initrd /boot/initramfs.img
boot
Depois disso, você deve estar no linux, monte sua partição efi se ainda não estiver, instale o grub / os-prober / efibootmgr e execute estes:
sudo os-prober
grub-install --target=x86_64-efi --efi-directory=/boot/efi --boot-directory=/boot --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg
Reinicie e o grub está de volta.