Содержание
GRUB Legacy - это основной загрузчик Ubuntu до версии 9.04 включительно. Он умеет грузить большинство операционных систем, однако в 9.10 ему на смену пришёл загрузчик следующего поколения - GRUB 2. Как восстановить его - читайте в соответствующей статье.
Основная проблема любого загрузчика Linux - это то, что он никак не отвечает за тупизну систем от Microsoft, которые каждый раз при установке или восстановлении перетирают загрузчики Linux из загрузочной области.
Вкратце: на любом винчестере есть так называемая MBR область, к которой обращается BIOS при загрузке компьютера с этого винчестера. В эту MBR загрузчик системы должен записать 'ссылку' на свои основные файлы, которые храняться уже на основных разделах винчестера. Так вот, Windows при установке перетирает без всяких вопросов ссылку Linux и ставит свою, в итоге, Linux пропадает из меню загрузки. Слава богу, Windows так же втихую не убивает сам Linux, так что восстановить последствия беспредела достаточно просто.
Кроме того, иногда каким-то образом удаётся повредить файлы GRUB Legacy на винчестере, в этом случае их необходимо записать обратно, как это сделать - см. ниже.
Восстановление MBR с использованием LiveCD Ubuntu
Вам понадобиться всего лишь LiveCD с Ubuntu (обычный диск Ubuntu Desktop, в принципе, любой версии до 9.04 включительно). Загрузите компьютер с него, в появившемся при загрузке меню выберите пункт Загрузить Ubuntu без установки на компьютер, дождитесь окончания загрузки.
Теперь откройте терминал, он находится в меню Приложения→Стандартные→Терминал в русской версии или в меню Applications→Accessories→Terminal в английской версии.
В открывшемся терминале наберите:
sudo grub
Вы увидите нечто похожее на:
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ] grub>
Это значит, что вы попали в программу управления grub. Теперь нам надо выяснить, где на вашем компьютере храниться основная часть загрузчика GRUB, для этого наберите:
find /boot/grub/stage1
find /grub/stage1
Кроме того, если у вас стоит несколько ОС Linux с загрузчиками GRUB Legacy, то возможно вы получите несколько результатов - выбирайте нужный вам.
В результате выполнения этой команды вы увидите нечто типа:
grub> find /boot/grub/stage1 find /boot/grub/stage1 (hd0,0)
Нас интересует строчка «(hd0,0)». Это раздел, на котором программа нашла установленный GRUB Legacy. Первая цифра (после hd) - номер винчестера, вторая - номер раздела на нём. Теперь для восстановления GRUB Legacy выполняем следующие команды, подставив вместо «(hdX,Y)» и «(hdX)» полученные ранее вами значения (в моём случае это были «(hd0,0)» и «(hd0)»):
root (hdX,Y) setup (hdX) quit
Всё, теперь можно перезагрузиться, при загрузке вы снова сможете попасть в свою Ubuntu. Правда, если вы устанавливали Windows, то он не появится волшебным образом в меню загрузки, см. ниже пункт про добавление в меню опций загрузки Windows и других ОС.
Super Grub Disk
Существует специальный диск для выполнения восстановительных работ с MBR, скачать его можно с официального сайта:
Инструкция по восстановлению остаётся такой же, как и в случае с LiveCD Ubuntu, с той лишь разницей, что необходимо грузиться с загрузочного диска Super Grub Disk, подробнее см. на сайте.
Установка файлов GRUB на раздел с Linux
Иногда зачем-то бывает необходимо поставить GRUB Legacy на существующий раздел с Linux. Например, если вы по неосторожности сумели повредить файлы загрузчика. Делается это очень просто. Необходимо загрузиться с LiveCD Ubuntu (или Super Grub Disk) и примонтировать раздел с вашим Linux. Допустим, вы примонтировали его в каталог /mnt.
Теперь необходимо выполнить в терминале, заменив при необходимости /dev/hda на тот винчестер, в MBR которого вы хотите прописать GRUB Legacy, а /mnt - на тот каталог, куда вы смонтировали ваш раздел с Linux.
sudo grub-install /dev/sda --root-directory=/mnt
После этого GRUB Legacy поставится в /mnt/boot/grub и пропишет загрузку себя в MBR винчестера /dev/sda.
grub-install
Добавление Windows и других ОС в меню загрузки GRUB
GRUB Legacy умеет грузить большинство современных ОС, однако, он не волшебник и сам выводить список установленных ОС не умеет. Поэтому ему нужно сказать, где находится ОС, которую вы хотите загрузить. Для этого нужно отредактировать файл настройки GRUB - /boot/grub/menu.lst
. Он отвечает за содержание меню загрузки GRUB, подробнее об его редактировании см. в основной статье про GRUB.
Восстановление загрузчика WinXP
Иногда, по совершенно непонятным причинам, возникает необходимость восстановить не GRUB, а загрузчик WinXP. Этот загрузчик, в отличие от GRUB Legacy, не умеет грузить ни Linux, ни более современные версии Windows, так что подумайте перед тем как выполнять приведённые ниже инструкции.
Для восстановления загрузчика WinXP надо загрузиться с установочного диска WinXP и выбрать пункт Восстановление системы. Далее:
- В консоли восстановления наберите команду
fixmbr
и подтвердите выполнение команды, нажав y - Далее наберите команду
fixboot
и подтвердите выполнение команды, нажав y - Теперь наберите
exit
для выхода из консоли.