Thanks for your post. I solved a nearly identical error message -- "file '/grub2/i386-pc/normal.mod' not found" after a new installation of Linux CentOS 5.11 on an old Dell Optiplex computer with Windows Vista, in order to make a dual-boot system.
What complicated my situation was that I had already tried and failed to install the newer Fedora 20 distro, which uses GRUB2 instead of GRUB (LEGACY), on FEDORA default partitions. Then I tried to install CentOS directly over that, keeping the Windows partition and overwriting the FEDORA partitions.
During the CentOS installation, I left my first (Windows) partition alone (hd0,0) and created the /boot directory on a second (boot) partition (hd0,1). I then chose not to modify the MBR at the time and instead selected the other option (bootloader on another partition).
After what appeared to be successful installation, it rebooted into the error above.
I suspect that the boot information on the first partition kept pointing to the GRUB2 location. The CPU could not find normal.mod, perhaps because the previously created FEDORA00 partitions had been removed.
Here are my steps:
Boot from my Centos 5 installation CD into rescue mode ("linux rescue").
Mount the local drive: chroot /mnt/sysimage
Switch to single-user mode: su
Update the CentOS installation: yum update
Use the emacs editor to add "Microsoft Windows Vista" to the grub.conf file: emacs /boot/grub/grub.conf, and make Vista the default OS.
(See www.cyberciti.biz/faq/grubconf-for-windows-vista-or-xp-dual-boot/ and https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/sn-medialess-editing-grub-conf.html.)
Attempt to update the MBR: grub-install /dev/hda
Reboot to an unidentified GRUB error, in which the CPU hung after displaying "GRUB".
Reboot from the original Windows Vista installation disk (or other Windows recovery disk) and select the option to repair the disk. Receive message that the MBR has been repaired.
Reboot correctly into Windows Vista.
I am sure that more elegant solutions exist, but this worked for me.
I owe most of this method to beginlinux dot com / server_training / serv_admin_m / grub.
I also attempted to download the GRUB to GRUB2 migration package, as described at
help dot ubuntu dot com / community / Grub2 / Upgrading, by trying: yum install grub-pc. But it couldn't find the package. (Perhaps I should have just tried yum install grub.)