I updated from wheezy to Jessie, everything went smoothly, until I restarted. When it booted back up, all I got was grub rescue (error: file '/boot/grub/i386-pc/normal.mod') not found. ls gives me (hd0) (hd0,msdos1). ls (hd0,msdos1) is a blank line. Nothing in it. I booted from a live CD and tried running boot repair, but that failed at "grub-pc purge cancelled". I mounted the drive. Everything seems to be there. I chrooted in, purged grub, and reinstalled grub. No change. I have the exact same issue. I completely purged grub, without reinstalling. Still no change. I am at a loss, I do not know how to fix this, or even how to continue troubleshooting. Any help would be appreciated. (I know this is highly specific but I have searched everywhere.)
grub-install /dev/sda from chroot yields:
Installing for i386-pc platform. Installation finished. No error reported.
Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.16.0-4-686-pae Found initrd image: /boot/initrd.img-3.16.0-4-686-pae Found linux image: /boot/vmlinuz-3.16.0-4-586 Found initrd image: /boot/initrd.img-3.16.0-4-586 Found linux image: /boot/vmlinuz-3.2.0-4-686-pae Found initrd image: /boot/initrd.img-3.2.0-4-686-pae grub-probe: error: cannot find a GRUB drive for /dev/sdb1. Check your device.map. done
/dev/sdb seems to be my live CD.
I used the super grub livecd, and now I can boot into Debian. From the operating system, I removed my livecd, then tried running
grub-install /dev/sda and
update-grub. When I reboot, I end up at the same grub rescue screen.