Восстановление загрузчика в Linux

1) Все команды выполняю от root:

sudo -i

2) Напоминаю себе как у нас разбит диск,
sda или sdb и какие где разделы:

fdisk -l

Для примера, считаю что у нас диск /dev/sda
И разбит он следующим образом:
Win7 – /dev/sda1
swap – /dev/sda2 (primary)
root – /dev/sda3 (primary)
home – /dev/sda4 (primary)
Отдельные разделы /boot /var не используются, для них ниже будет примечание в разделе монтирования

3) Создаю произвольную папку в /tmp

mkdir /tmp/target

4) Монтирую корневой раздел с Linux в папку:

mount -t auto /dev/sda3 /tmp/target

***
/home монтировать не нужно, если диск разбит с дополнительными разделами (/boot /var и т.д) монтирую их:
mount -t auto /dev/sd** /tmp/target/boot
mount -t auto /dev/sd** /tmp/target/var
***

5) Монтирую /dev /proc /sys livecd внутрь нашей файловой системы:

mount --bind /dev /tmp/target/dev
mount --bind /proc /tmp/target/proc
mount --bind /sys /tmp/target/sys

6) Выполняю chroot:

chroot /tmp/target

7) Устанавливаю загрузчик в MBR диска:

grub-install /dev/sda

8) Обновляю загрузчик:

update-grub

9) Выхожу из chroot

exit

10) Перегружаюсь:

reboot

11) После загрузки в Linux с /dev/sda обновляю grub чтобы он увидел раздел с Win7

update-grub

В принципе пункт 6,7,8,9 можно заменить этим:

chroot /tmp/target /bin/bash -c 'grub-install /dev/sda'
chroot /tmp/target /bin/bash -c 'update-grub'

Но для наглядности и для понимания что происходит пусть будет как есть.
Наверняка существуют другие, для кого-то более простые способы, но я использую этот.