error: file '/grub/i386-pc/normal.mod' not found in ubuntu 13.10

Solution 1:

I just encountered a similar issue when trying to install Mint 16 and Ubuntu 13.10 on my system (dual boot with Windows 7, replacement for existing Mint 15 installation). Both Installations resulted in this message and reinstalling / reconfiguring Grub didn't fix it.

It seams that - at least in my case - the installer thought that I wanted to use EFI (Secure Boot) which is not the case. I explicitly disabled it in my UEFI BIOS, but when I checked /boot/grub it only contained a 'x86_64-efi' folder, the needed 'i386-pc' folder was missing (required for BIOS / non-EFI setup).

The following solution worked for me (with Ubuntu 13.10):

Boot Live DVD/USB, open shell and execute:

sudo -s
#where sda1 is my root partition
mount /dev/sda1 /mnt
mount -t proc none /mnt/proc
mount -t sysfs none /mnt/sys
mount -o bind /dev /mnt/dev 
mount -o bind /tmp/ /mnt/tmp
# chroot into your ubuntu installation
chroot /mnt
# remove all those grub efi packages
apt-get remove --purge grub-efi-amd64 grub-efi-amd64-bin
# and re-install grub with the bios (non-efi) packages only
apt-get --reinstall install grub-common grub-pc os-prober
# if there is an error repeat the setup via:
grub-install --recheck /dev/sda

Additional notes:

  • If you have a separate boot partition you need to mount it too before reconfiguring grub.
  • It may be necessary to leave some free (unpartitioned) space before the first partition for the boot loader (can be done with GParted in Live system).
  • If apt-get can't reach (find) the remote archive hosts, try to manually set the DNS server (at home usually the router's) IP, e.g.: "echo nameserver 192.168.0.1 >> /etc/resolv.conf"
  • Note that the setup may be different for GPT (non MBR partition table) + this will surely not work when dual booting with a system that needs EFI.

Solution 2:

Solution from this link works on Ubuntu 13.10, try once again, but in your case commands should look like below.

sudo mount /dev/sdb5 /mnt
sudo grub-install /dev/sdb --root-directory=/mnt

Solution 3:

I don't know if the user is encountering this problem on new machines or not, but this is what I found in a new PC I just received from my boss at work.

As usual, I wiped out the HDD to get rid of Windows, and installed Ubuntu 13.10 using a bootable flash drive. After installation and restart, I encountered the following error message:

'/boot/grub/i386-pc/normal.mod' not found.

After lots of reading on the web, and not being too happy with what I found, I decided to check the BIOS. One thing I discovered futzing around with my new PC's BIOS settings is that this new machine has two booting options; EFI or Legacy. The machine boots using EFI as default.

I turned off my new PC, inserted the Ubuntu bootable flash drive, turned on the PC, hit F9 (might be different in other machines) until I got the boot source options. I selected to boot from the flash drive in Legacy mode. Hit Enter, and reinstalled Ubuntu again.

This time around, upon rebooting my machine, the PC booted normally.