I had Arch linux on my computer and needed Windows for gaming; Windows installs its own boot loader, so I had to re-install grub. The following is what I did to restore grub.
I suppose that you know what you're doing! For example you need to know in which partition linux is installed.
Boot Arch linux from live CD.
Create a directory for chroot environment:
mkdir /mnt/root
Mount the root partition and other necessary device and file systems:
mount /dev/sda1 /mnt/root
cd /mnt/root
mount -o bind /dev dev/
mount -t proc proc proc/
mount -t sysfs sys sys/
It seems that on newer Arch releases(2012), you can use arch-chroot /mnt/root
instead of the last 3 mount commands.
If you have a separate partition for boot, mount it:
mount /dev/[boot partition] boot/
Change the root:
chroot .
You can define another shell by adding it to the above command, like this:
chroot . /bin/bash
Generate grub.cfg file:
grub-mkconfig -o /boot/grub/grub.cfg
Install GRUB:
grub-install /dev/sda
Exit the chroot environment:
exit
Unmount filesystems and devices:
umount {dev,proc,sys,}
Unmount the root partition:
cd ..
umount root
And finally, you can reboot:
reboot