Linux: восстановление и обновление загрузчика GRUB в MBR

By | 02/18/2013
 

linux-logoКак известно, Windows до 8-ой версии при установке прописывает свой собственный загрузчик в MBR (Master Boot Record), при этом затирая всё, что там находилось. В 8-ой версии Windows компания Microsoft наконец-то исправила ситуацию – загрузчик Windows 8 даже определил раздел с FreeBSD на диске домашнего компьютера и добавил его в меню выбора.

Если Windows была установлена после Linux и затёрла GRUB – его можно переустановить заново.

Для этого – загружаемся в любого LiveCD, и открываем консоль. Теперь – нам надо определить, какой раздел нашего Linux (в данном примере – Ubuntu 12.04) на каком разделе жёсткого диска находится. Выполняем:

sudo fdisk -l
Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   204802047   102297600    7  HPFS/NTFS/exFAT
/dev/sda4       204804094   976771071   385983489    f  W95 Ext’d (LBA)
/dev/sda5       307204096   976771071   334783488    7  HPFS/NTFS/exFAT
/dev/sda6       298889216   307195903     4153344   82  Linux swap / Solaris
/dev/sda7       204804096   298887167    47041536   83  Linux

Нас интересует раздел /dev/sda7.

Можно посмотреть дополнительную информацию о разделе:

sudo file -s /dev/sda7
/dev/sda7: Linux rev 1.0 ext4 filesystem data, UUID=a4d78810-6ad1-4d43-993d-10408072ef29 (needs journal recovery) (extents) (large files) (huge files)

Примонтируем его:

 sudo mount /dev/sda7 /mnt

Теперь можно установить заново загрузчик, т.е. прописать его заново в раздел MBR, вместо загрузчика Windows:

 sudo grub-install --root-directory=/mnt /dev/sda

Теперь можно перезагружаться, и пользоваться нормальным загрузчиком.

В случае, если GRUB надо только обновить, а не устанавливать заново (например – после установки ещё одной операционной системы на диск) – выполняем:

sudo update-grub --output=/mnt/boot/grub/grub.cfg