My recent attempt to install a multi-booting system onto my twin disk rig failed, though I had successfully installed Ubuntu, Linux Mint and Peppermint on disk 1, updating grub afterwards. When I tried to install CentOS, openSUSE and Fedora on disk 2. I encountered numerous problems.
- Not enough space available. Though I had used GParted to format both disks, for a non LVM install, plus disk 2 had no OS on it.
- Not seeing the other distros in the installer.
- Mount points not being accepted.
- A /boot/efi partition was required and GPT partition table asked for.
- Attempting to modify the partitions through the installer, crashed it.
- Tried LMDE 2, (Debian has issues with my CPU?) though it saw all installed distros, (including the reinstalled CentOS 6.6 to check, if it was me), it wanted a /boot/efi partition.
Actions.
As it was the newer RPM's distros I was having issues with, I decided to install CentoS 7 first, though CentOS 6.6 previousily coexisted happily on my old settings BIOS setting and sudo update-grub. Notably openSUSE, is there any hints to improve my chances of a clean install. I think I have worked out CentOS and Fedora quirks.
- Uninstall everything. For fresh install.
- Reformat both disks using GPT, creating two fat32 /boot/efi flagged partitions for each disk. Is this overkill or a necessity?
- Then created /, /home partitions with ext4 and linux-swap partition, for my new manual, non LVM install.
- Check BIOS and alter settings from Legacy to UEFI.
- Install CentOS 7, after overcoming its foibles of not enough space and mount point quirks, that were /boot/efi, then /home, followed by / and swap.
- Run command [ -d /sys/firmware/efi ] && echo "Installed in UEFI mode" || echo "Installed in Legacy mode" = Installed in UEFI mode.
As Ubuntu and Ubuntu based distros primarily use Debian as their base, currently not implementing systemd yet, it seems highly likely they will follow suit, in the near future and I need to adapt now.
Chainloader.
Not something I've had much experience with, the last occasion I tried it, the sudo update-grub removed it. So a web safari later, I found some tangible starting points and call up the correct terms (new) for CentOS 7, with grub2-mkconfig -o /boot/grub2/grub.cfg being similar to sudo update-grub. Then the "etc/grub.d/40_custom" to open a gedit file, or so I thought would happen, to edit the #40 menuentry.
Terminal.
At the terminal do I enter my chainloader after the #...? I'm unsure of the script, below, and would appreciate experienced view on this.
[root@localhost tony]# /etc/grub.d/40_custom
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
[root@localhost tony]#
#DISK 1
#
# for CentOS-7
menuentry "My custom boot entry" {
set root= '(hd0,2)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for openSUSE
"openSUSE-13.2" {
set root='(hd0,5)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Fedora
"Fedora-22" {
set root='(hd0,8)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
#DISK 2
#
# for Ubuntu
"Ubuntu-14.04.2" {
set root='(hd1,2)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Linux Mint
"Linuxmint-17.1" {
set root='(hd1,5)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
#
# for Peppermint
"Peppermint-Five" {
set root='(hd1,8)'
linux /boot/vmlinuz-linux
initrd /boot/initramfs-linux.img
}
Summary.
Changed from Legacy to UEFI mode, used GPT partition tables, created two /boot/efi partitions for both disks, is this necessary. Chainloader, unsure of myself, require guidance, to hopefully make a painless install of the other distros that live in harmony with other.
Thank you in advance for much needed help on this topic.