mount
ext4
sudo mkdir -p /mnt/chroot
sudo mount /dev/sdb3 /mnt/chroot
sudo mkdir -p /mnt/chroot/boot
sudo mount /dev/sdb2 /mnt/chroot/boot/efi
sudo mkdir -p /mnt/chroot/boot/efi
sudo mount /dev/sdb1 /mnt/chroot/boot/efi
for i in /sys /proc /run /dev; do sudo mount --rbind "$i" "/mnt/chroot$i"; done
sudo chroot /mnt/chroot
btrfs
Check subvolume IDs:
sudo mkdir -p /mnt/chroot
sudo mount /dev/sdb3 /mnt/chroot
sudo btrfs subvolume list /mnt/chroot
You should get something like this:
ID 256 gen 1558 top level 5 path root
ID 257 gen 1558 top level 5 path home
What we need here is root, now continue:
# sudo mkdir -p /mnt/chroot
sudo mount -o subvol=root /dev/sdb3 /mnt/chroot
sudo mkdir -p /mnt/chroot/boot
sudo mount /dev/sdb2 /mnt/chroot/boot/efi
sudo mkdir -p /mnt/chroot/boot/efi
sudo mount /dev/sdb1 /mnt/chroot/boot/efi
for i in /sys /proc /run /dev; do sudo mount --rbind "$i" "/mnt/chroot$i"; done
sudo chroot /mnt/chroot
chroot
Inside chroot:
debian/ubuntu:
grub-install --efi-directory=/boot/efi --bootloader-id=YOUR_BOOTLOADER_ID --recheck
update-grub
exit
fedora:
dnf install grub2-efi grub2-efi-modules shim
grub2-install --efi-directory=/boot/efi --bootloader-id=YOUR_BOOTLOADER_ID --recheck
grub2-mkconfig -o "$(readlink -e /etc/grub2.conf)"
exit
umount
for i in /sys /proc /run /dev; do sudo umount "/mnt/chroot$i"; done
sudo umount "/mnt/chroot/boot/efi"
sudo umount "/mnt/chroot/boot"
sudo umount "/mnt/chroot"