Can I Install grub on an USB and make it a rescue disk?

Can I Install grub on an USB and make it a rescue disk?

Question: Is it safe to run the following commands?

sudo grub-install /dev/sdb    (where sdb is my USB drive)
update-grub2
  • Question: Would I really get a grub menu from USB (provided that it boot first at my BIOS) whenever I cannot boot from my hard disk?
  • Question: Does update-grub2 delete itself from one drive when installing to another, will I boot from hard disk also than from USB, depending on my BIOS options?

Solution 1:

The question is about installing GRUB on USB drive. Let's start with the questions first:

  1. The command sudo grub-install /dev/sdb (where sdb is my USB drive) should work when booted from the hard drive with USB drive connected. However, since GRUB puts its config files in /boot/grub, where those will go depends on what kind of Ubuntu installation you have in the USB drive.

    • If it is a live USB, the /boot/grub folder includes a loopback.cfg and installing the rest of grub there may have unintended effects.
    • If you have a full installation of Ubuntu in a 8GB or larger USB drive, See more at How do I install Ubuntu to a USB key? (without using Startup Disk Creator), then GRUB should be installed at the time of Ubuntu installation. If for some reason GRUB is not installed, you can mount the USB boot partion (assuming sdb1) and specify where the rest of grub goes by

      sudo mount /dev/sdb1 /mnt
      sudo grub-install –boot-directory=/mnt/boot /dev/sdb
      
  2. Yes, you can get a GRUB menu from USB drive provided you have a full Ubuntu installation in that USB drive.

  3. No, update grub should not delete information from the internal drive. You can control which GRUB will be updated by using sudo chroot /mnt after mounting sdb1 to mnt.

Hope this helps.

Solution 2:

Maybe you could, but this isn't the preferred way to do it. The Live USB is already a rescue disk by default. It doesn't make much sense because you would still need to restore/repair GRUB on the target disk. Until you did, you are stuck using the USB for GRUB, which isn't logical.

Best practice is to use a regular Live USB or Live CD, then run
sudo grub-install /dev/DEVICE_NAME_HERE

Code sample copied from @Roland Taylor's answer here(a suggested duplicate).