GRUB/Restore the GRUB Bootloader
Overview
As with any Linux operating system, the GRUB (GRand Unified Bootloader) is responsible for booting up Manjaro. If for any reason your GRUB is not working - perhaps due to being corrupted, mis-configured, or even deleted - then it may not be necessary to reinstall Manjaro. The GRUB can instead be fully repaired and restored, retaining your installed Manjaro system.
Boot the Manjaro Installation Media
1. Insert and boot your Manjaro installation media (e.g. CD/DVD or USB).
2. Select your preferred language (F2) and keyboard layout (F3).
3. Boot Manjaro Linux. It does not matter which boot option you choose, as the installation media is being used solely to repair/reinstate the GRUB, and not to install a fresh system.
4. Open the terminal or access the command line of the live CD.
- From the desktop environment: open the terminal from your desktop menu, or
- From the command line (e.g. NET-Edition or having used the Boot in Text mode option): enter the default username (manjaro) and password (manjaro) to log in.
Identify and Prepare the Installed Partition(s)
1. Ensure that you are using the Root account, which is identified by a hash ('#') at the beginning of the command line, rather than a dollar ('$'). To switch to Root, enter the command:
sudo su
2. List your partitions. This is necessary in order to identify the partition your Manjaro system is installed on. If you have used a separate boot partition, it will be necessary to identify this as well. For a list of your paritions, enter the command:
sudo blkid
In this particular instance, the partitions for the author's Manjaro system are as follows:
- /dev/sda1: Boot partition
- /dev/sda2: Swap partition
- /dev/sda3: Manjaro system
- /dev/sda4: Space for personal files.
3. Mount your Manjaro system partition. The syntax to mount the Manjaro system partition is:
mount /dev/[partition used for Manjaro system] /mnt
In this instance, as the Manjaro system partition is /dev/sda3, this will be mounted using the following command:
mount /dev/sda3 /mnt
IF you have used a seperate partition for your GRUB bootloader, then this must also be mounted. The syntax to mount a separate partition used to boot is:
mount /dev/[partition used for GRUB] /mnt/boot
In this instance, a seperate partition - /dev/sda1 - has been used for the GRUB, and will be mounted using the following command:
mount /dev/sda1 /mnt/boot
3. Change to the root directory of your mounted partitions. This is undertaken so that you are working from - and amending - your installed system, rather than the live CD. To do so, it will be necessary to enter a series of commands in the following order:
mount -t proc proc /mnt/proc mount -t sysfs sys /mnt/sys mount -o bind /dev /mnt/dev mount -t devpts pts /mnt/dev/pts/ chroot /mnt
4. Install mtools and os-prober. mtools is a collection of tools to access Microsoft Operating Systems. os-prober is a utility that detects if there are any other operating systems present. Install them with the following command:
pacman -S mtools os-prober
Restore the GRUB
1. Install a new GRUB bootloader
grub-install /dev/sda
2. Recheck to ensure the that installation has completed without any errors.
grub-install --recheck /dev/sda
3. Configure the freshly installed GRUB bootloader
grub-mkconfig -o /boot/grub/grub.cfg
Once complete, close the terminal and reboot your system.