uefi/gpt install grub on several external usb disk

3 min read 22-10-2024
uefi/gpt install grub on several external usb disk

Introduction

Installing GRUB (GRand Unified Bootloader) on several external USB disks can be a useful technique for those who want to create multiple bootable devices or run multiple operating systems from USB. This guide will walk you through the process of installing GRUB on external USB disks using UEFI (Unified Extensible Firmware Interface) and GPT (GUID Partition Table).

Original Problem Scenario

The task is to install GRUB on several external USB disks, configured for UEFI with a GPT partition scheme. This ensures that the system can boot using modern firmware standards while allowing multiple operating systems to be stored and booted from different USB disks.

Original Code Example

# Example code for installing GRUB on an external USB disk
sudo mount /dev/sdX1 /mnt
sudo grub-install --target=x86_64-efi --efi-directory=/mnt/boot/efi --boot-directory=/mnt/boot /dev/sdX

Replace sdX with the correct identifier for your USB disk (e.g., sdb, sdc).

Step-by-Step Guide to Install GRUB on External USB Disks

Step 1: Prepare Your External USB Disks

  1. Format the USB Disks: Use gdisk or parted to create a GPT partition scheme on your USB disk. Ensure that you create an EFI System Partition (ESP) of at least 100 MB with FAT32 filesystem.

    sudo gdisk /dev/sdX
    

    Follow the prompts to create partitions. Make sure to write the changes before exiting.

  2. Create Filesystem:

    sudo mkfs.vfat -n "EFI" /dev/sdX1  # Create FAT32 for EFI partition
    

Step 2: Mount the Filesystem

Next, mount the EFI partition to a suitable directory.

sudo mkdir -p /mnt/usb
sudo mount /dev/sdX1 /mnt/usb

Step 3: Install GRUB

Now, you are ready to install GRUB onto your USB disk. Use the following command:

sudo grub-install --target=x86_64-efi --efi-directory=/mnt/usb --boot-directory=/mnt/usb/boot /dev/sdX

Step 4: Create GRUB Configuration File

To allow GRUB to recognize different operating systems on the USB disk, create a configuration file.

  1. Create the GRUB directory:

    sudo mkdir -p /mnt/usb/boot/grub
    
  2. Create the grub.cfg file:

    You can create a basic configuration file as follows:

    sudo nano /mnt/usb/boot/grub/grub.cfg
    

    Add entries for the operating systems you plan to install.

    Example:

    set default=0
    set timeout=5
    
    menuentry "Ubuntu" {
        search --no-floppy --fs-uuid --set=root YOUR-UBUNTU-UUID
        linux /vmlinuz root=UUID=YOUR-UBUNTU-UUID ro quiet splash
        initrd /initrd.img
    }
    

    Replace YOUR-UBUNTU-UUID with the actual UUID of your Ubuntu installation. You can find it using blkid.

Step 5: Unmount the USB Disk

After the installation is complete, unmount the USB disk safely.

sudo umount /mnt/usb

Additional Considerations

  • Backup Your Data: Always back up any important data on the USB disks before formatting and installing GRUB.
  • Multiple USB Devices: Repeat the above steps for each external USB disk you want to install GRUB on, ensuring that you use the correct device identifier.
  • Testing Boot Configuration: After installing GRUB on the USB disks, you can test the booting process by restarting your computer and selecting the USB disk from the boot menu.

Conclusion

Installing GRUB on several external USB disks configured for UEFI/GPT is a straightforward process that can significantly enhance your ability to run multiple operating systems. By following this guide, you should be able to successfully set up GRUB and enjoy the flexibility of booting from external USB devices.

Useful Resources

This article is structured to be easy to read and follow, ensuring you have a comprehensive guide to installing GRUB on external USB disks. Happy booting!