0

So, I have the following situation: I want to make a dual boot on a laptop and first I have installed Windows and configured and then I installed Pop OS. Pop OS complained that the EFI partition is too small and then I have increased and since Pop was still complaining I have formated it.

So, Pop OS had installed himself and made his EFI entry on the respective partition. To my surprise (I am new to Pop), it did not install grub...

After this I have repaired the Windows launcher following this guide: Reconstructing Windows EFI files in /boot partition (Linux+Windows dual boot) with the only difference that bootrec /fixboot throw me an access denied error.

The actual situation is that I have the EFI entries for both systems, I can select the default one and if I want to switch at boot I have to call the boot menu and select the other OS.

Can somebody help me and point me to a tutorial to install grub? I would like to avoid a reinstall situation as I have already put a lot of time into configuration.

This is how my partitioning is looking at the moment: gparted printscreen of the disk

At one moment I will get into deleting nvme0n1p4, which I falsely created as EFI partition for Linux.

Thank you!

Vlad
  • 133

1 Answers1

1

PopOS is using systemd-boot instead of GRUB and I'd recommend sticking to it.

They have an article on fixing the bootloader in their documentation. The steps relevant for you are to boot PopOS from USB and execute the following commands:

sudo mount /dev/nvme0n1p3 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo cp /etc/resolv.conf /mnt/etc/
sudo chroot /mnt
apt install --reinstall linux-generic linux-headers-generic
update-initramfs -c -k all
exit
sudo bootctl --path=/mnt/boot/efi install

(These are for NVMe disks, for SATA disks all nvme0n1 references become sda. The article assumes that /dev/nvme0n1p1 is the EFI System Partition and /dev/nvme0n1p3 is filesystem root, you have to substitute them for yours.)

In your case booting into installed OS is possible. You could use it (instead of a live media) with just these relevant commands:

apt install --reinstall linux-generic linux-headers-generic
update-initramfs -c -k all
sudo bootctl --path=/mnt/boot/efi install

The other ones would be used to act on the installed system instead of the booted one.

gronostaj
  • 58,482