This completely works....... just remember that in UEFI you need to mount the EFI before changing to chroot directory. i.e if you get an error like "grub-install:error: cannot find EFI directory."
Add the below command before the chroot command
sudo mount /dev/sda1 /mnt/boot/efi
Provided that your EFI partition is /dev/sda1