First off, MBR (Legacy) is becoming less common these days and is gradually being replaced with EFI. As your question doesn't explicitly say you know you are using legacy boot and not EFI, I'll suggest you check which you are actually using. To do this boot into your working (main) Debian system and look for:
If this exists then you will have booted via EFI. You should also notice you have a directory there
/boot/efi/ which is where the EFI partition is mounted.
Setting up a recovery environment.
You have a working environment so to fix your problem you might want to use the working environment to bootstrap into the "broken" one.
You've mentioned you are using encrypted LVM. That makes this a bit more complex. The first thing you would need to do is unlock your encrypted drive with your encryption recovery password:
# Assuming your LVM is /dev/vg/encrypted
# This will create a decrypted block device /dev/mapper/decrypted
cryptsetup open /dev/vg/encrypted decrypted
Then mount your "broken" system to
/mnt and chroot into it (assuming your USB boot partition is
mount /dev/mapper/decrypted /mnt
mount /dev/sdb1 /mnt/boot
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
mount --bind /run /mnt/run
# chroot into the recovery environment
This should leave you with a command line inside your "broken" system.
If you are definitely using legacy boot
From inside your recovery system (described above), you need to install the bootloader to the MBR of your USB drive, NOT the
/boot/ partition. If your
/boot on the USB drive is
/dev/sdb1 then you need to install MBR to
For good measure you should also run through and update grub config and initramfs:
update-initramfs -uk all
Watch out for any errors here.
If you are really using EFI
Some BIOS firmware will only use one or the other, so if you booted your main system from EFI then you will need to boot your USB from this way too. From inside your recovery environment (described above)...
First ensure you have an EFI partition on your USB drive. If you don't it may be easiest to copy
/boot somewhere safe and re-format the USB drive. Use this to interactively start again from scratch on USB
cp -r /boot ~/old_boot
cfdisk -z /dev/sdb
Using cfdisk, create a new GPT partition table, create two partitions - one "EFI" one "Linux".
Then format them:
mkfs.fat -F 32 -n EFI /dev/sdb1
mkfs.ext4 -L BOOT /dev/sdb2
Mount and restore
mount /dev/sdb2 /boot
cp -r ~/old_boot/* /boot
cat /etc/fstab), make sure the UUID matches
/boot/ and add an entry for
/boot/efi if necessary too, you can find the new UUIDs with:
blkid /dev/sdb1 /dev/sdb2
Then finally setup EFI.
mount /dev/sdb1 /boot/efi
# If you've not already done so install grub efi:
apt-get install grub-efi-amd64-bin
update-initramfs -uk all