Recover Grub

Imagine for any reason you have any other crappy OS installed next to Debian. And for any reason you need to reinstall it because is really broken. Again, imagine this crappy OS has a crappy installation and overwrites the disk MBR to own the full computer. What's next? Reinstall Debian? No.

In any case, you can use SuperGrub, a boot utility that can restore and repair overwritten and misconfigured GRUB installs or directly boot various operating systems.

Standard procedure

The Debian Installer (DVD, netinst CD, floppy, netboot, etc.) can be used to rescue systems, for example if they fail to boot after an upgrade. You should read and follow the instruction "Recovering a Broken System" section of the Installation Guide1 (look for it in the index) [link to stable/i386].

Troubleshooting : 'grub-install /dev/sda' failed.

If D-I's "Reinstall GRUB boot loader" option fails, with error message

Unable to install GRUB in /dev/sda
Executing 'grub-install /dev/sda' failed.
This is a fatal error.

Also, the d-i log console (Alt-F4) displays

grub-installer: /dev/scsi/host0/bus0/target0/lun0/disc does not have any corresponding BIOS Drive

You can still use the following method to reinstall GRUB. Choose "Execute a shell in Your root partition" in the d-i rescue menu.

Locate your root partition :

fdisk -l

Disk /dev/sda: 39.9 GB, 39996820992 bytes
255 heads, 63 sectors/track, 4862 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         111      891576    7  HPFS/NTFS
/dev/sda2             167         230      514080   82  Linux swap
/dev/sda3             231         784     4450005   83  Linux
/dev/sda4             785        4862    32756535    f  W95 Ext'd (LBA)
/dev/sda5             785        4862    32756503+  83  Linux

Reinstall GRUB bootloader (grub manual)

grub
grub>root (hd0,3) //assuming your root partition is /dev/sda3
grub>setup (hd0)
grub>quit
exit

choose "Reboot the system", everything should be fine.