====== Что нужно знать о Grub. Часть 1. Восстановление загрузчика. ======
Загрузчик grub по сути состоит из трёх частей: stage1 stage2 и menu.lst.\\
**stage1** это первая часть загрузчика размером в 512 байт, основная цель которой указать где искать stage2 и menu.lst. \\
**stage2** это собственно сам grub (те самые меню при загрузке и командная строка).\\
**menu.ls**t это файл конфигурации grub (в нём же находится список загружаемых операционных систем).\\
stage1 обычно расположен в загрузочной области винчестера (так называемый boot-сектор), а stage2 и menu.lst на одном из разделов в директории /grub или /boot/grub.
Иногда так случается, что boot-сектор затирается (например при установке другой операционной системы).\\
Если такое случилось, то не стоит отчаиваться, восстанавливается загрузчик совсем просто. \\
Для этого в boot-сектор (кстати, его ещё иногда называют MBR) нам нужно вновь вернуть stage1, но с тем условием, чтобы этот stage1 знал где искать stage2. \\
А сделать это можно вот так.
* //**Запускаем grub**//. Это можно сделать загрузившись с livecd, на котором есть grub (например ubuntu) и набрать в терминале sudo grub. Так же воспользоваться флопи-grub (дискету можно создать так же с помощью livecd ubuntu запустив команду grub-floppy) или [[[kb:grub3|cd-grub]]].
* //**Набираем cat (hd и нажимаем tab два раза**//. Если у нас несколько жёстких дисков, то мы получим их список, если один, то получим список разделов, например:
Partition num: 0, Filesystem type is xfs, partition type 0x83
Partition num: 2, Filesystem type is ext2fs, partition type 0x83
Partition num: 4, Filesystem type unknown, partition type 0x82
Если знаете какой раздел вам нужен, набираете соответствующий номер, если нет, то набирайте по очереди и жмите tab для получения списка директорий и файлов.\\
В итоге вы должны найти /grub/menu.lst или /boot/grub/menu.lst
grub> cat (hd0,0)/
Possible files are: ftp giner pivanov
(hd0,0) не тот, кто нам нужен
grub> cat (hd0,2)/
Possible files are: lost+found var etc media cdrom bin boot dev home initrd lib mnt opt proc root sbin srv sys tmp usr initrd.img vmlinuz
initrd.img.old vmlinuz.old
grub> cat (hd0,2)/boot/grub/
Possible files are: device.map stage1 stage2 e2fs_stage1_5 fat_stage1_5 jfs_stage1_5 minix_stage1_5 reiserfs_stage1_5 xfs_stage1_5 default
installed-version menu.lst menu.lst~
а вот (hd0,2) это он
* Теперь я знаю что всё что мне нужно находится на разделе (hd0,2). Дело за малым, ставим boot-сектор:\\ **root (hd0,2)** (здесь мы говорим, что stage2 и menu.lst находятся на разделе 2)\\ **setup (hd0)** (устанавливаем boot-сектор на 1-й винчестер)
* Готово! Можно в ребут :)
**PS для специалистов**: технические данные этой заметки неполны и могут быть неточными. Целью данного текста является не изучение устройства загрузчика grub, а его практическое применение.\\
**PPS**: вместо многократных нажатий на tab можно воспользоваться командой **find** (find /boot/grub/menu.lst и find /grub/menu.lst) для поиска нашего раздела, но tab нагляднее.
{{tag>grub boot}}