For many years, I've used a hard drive on which I have 8-10 Linux
distros installed -- each in a separate (single) partition.

There is also a single swap partition (used by all of the different
Linux installations).

There is also a small partition devoted only to the "master" instance
of Grub that lives in the MBR and the space between the MBR and the
first partition (the drive uses a DOS disklabel). That master instance
of Grub has a menu which contains entries which "chainload" each of
the other partitions.

For many years, this worked great. All of the various distro
installers offered the option of installing the bootloader in the MBR
(e.g. /dev/sda) or in a partition (e.g /dev/sdaN).  I would tell the
installer to install the bootloader in the root partition, and
everything "just worked".

However, the choice to install bootloaders in partitions instead of
the MBR has been removed from most (all?) of the common installers.
This forces me to jump through hoops when installing a new Linux
distro:

 1. Back up the MBR and gap between the MBR and the first partition.

 2. Let the installer install it's bootloader (seems it's always grub
    these days) in the MBR.

 3. Boot into the newly installed Linux.

 4. Manually install grub in the root partition (e.g. /dev/sdaN) using
    the --force option to tell grub to use blocklists to find it's
    files.

 5. Find those grub files and lock them so they can't be moved.

 6. Restore the MBR/gap backup from step 1.

It seems like there should be a better way to do this.  One might hope
that UEFI offers a solution to this problem. Google has found me
others asking the same question but no real answers.

Is there an easier way to do this?

--
Grant




Reply via email to