I had to rescue my grub bootloader setup, again. Running a multi-boot system can have its downsides, I guess. So here's a note to my future self how to fix it.
Scenario:
I am running a multi-boot setup with Arch (daily use), Debian (fallback) and FreeBSD (getting familiar) on different partitions and disks.
After upgrading packages in Debian, my grub setup was broken: Debian overwrote Arch's grub config and its os-prober did not generate a valid config for Arch, neither did I have a custom rule in place to get FreeBSD into the menu, since Arch is my primary system and I use grub exclusively from there. (Note to self: Remove grub from Debian!)
Fixing it:
I booted from an Arch installation USB I had lying around, then re-setup grub:
# mount EFI system partition
mount /dev/sda1 /boot
# mount Arch root partition
mount /dev/nvme0n1p2 /mnt
# mount EFI partition into Arch root partition at proper path
mount -o bind /boot /mnt/boot
# switch into Arch root filesystem
arch-chroot /mnt
# re-install grub into EFI system partition
grub-install --target=x86_64-efi --efi-directory=/boot/ --bootloader-id=grub
Afterwards, unmount and reboot - everything is back in place, hooray! 
Docs:







