[more]
GRUB 2 GNU GRUB 2 (ГНУ Груб-2, в контексте этой темы и просто «Груб») — универсальный загрузчик для юникс-подобных операционных систем, пришедший на замену первому Грубу, ныне именуемомому GRUB Legacy.
Имеет форк под названием BURG (Бург), ориентированный на использование красочных темок оформления и принципиально ничем не отличающийся.
| Офсайт | Википедия | Фрешмит | Охлох | Мануал | Убунтовики | Арчвики |
Некоторые типовые задачи Загрузка системы, отсутствующей в меню. Если по каким-либо причинам установленная на машине система не присутсвует в загрузочном меню Груба, а загрузить ее надо, то это можно сделать и вручную. Для этого придется перейти в команднцю строку (нажать «
c»), определить корневой раздел требуемой системы и выполнить несложную последовательность команд.
Определение раздела Проще всего эта подзадача решается, если вы аккуратно назначили разделам метки и помните их.
grub> search --label DEBIAN --set root Если не помните, то несколько сложнее.
grub> ls # выводим перечень всех доступных разделов
(hd0) (hd0,msdos2) (hd0,msdos3) (hd0,msdos1)
grub> # порядок перечисления показывает физическое расположение; номер — последов-ть создания;
grub> ls (hd0,2) # пытаемся угадать раздел; тип табл. разделов (здесь — msdos) можно опускать;
Раздел hd0,2: Тип файловой системы ext3 - Метка "DEBIAN" - Время последнего изменения 2011-09-15 00:00:00 Thursday, UUID 06e6493d-2a52-432b-8459-5e1dccb277d6 — Начало раздела: 2048 — Полный размер 15202304 секторов
grub> # угадали!
grub> set root=(hd0,2) А если не задавали метки вовсе, то совсем нехорошо — придется опираться на содержимое ФС.
grub> ls (hd0,2)/
sbin/ var/ opt/ sys/ boot/ run/ etc/ vmlinuz initrd.img initrd.img.old lib/ home/ mnt/ tmp/ proc/ media/ lost+found/ lib64/ srv/ selinux/ dev/ vmlinuz.old bin/ lib32/ root/ usr/
grub> # на ГНУ/Линукс похоже
grub> cat (hd0,2)/etc/issue.net # можно убедиться дополнительно
Debian GNU/Linux wheezy/sid
grub> set root=(hd0,2) После того, как установили
root, переходим к выполнению последовательности команд, зависящей от загружаемой системы.
Загрузка ГНУ/Линукса
grub> linux /vmlinuz root=LABEL=DEBIAN
grub> initrd /initrd.img # кстати, везде работает автодополнение (TAB)
grub> boot Это если метка у раздела была. Если нет, первый пункт будет иметь вид:
grub> linux /vmlinuz root=/dev/sda2 # (hd0) — sda, (hd1) — sdb Если ссылки /vmlinuz и /initrd.img указывают не на то ядро и образ ОЗУ, что вы хотите загрузить, то укажем их явно:
grub> linux /boot/vmlinuz-2.6.38-2-amd64 root=LABEL=DEBIAN # используем автодополнение (TAB)
grub> initrd /boot/initrd.img-2.6.38-2-amd64
grub> boot Загрузка Виндоўса
grub> chainloader +1 # просто передаем управление по цепочке
grub> boot Переустановка Груба. Груб, как правило, устанавливается в главную загрузочную запись (MBR), которая на жестком диске одна, и которую некоторое ПО (например, инсталлятор Виндоўс) ультимативно перезаписывает чем-либо иным. Т.о. перед пользователем может встать задача
восстановления Груба путем переустановки. Сама по себе (пере)установка выполяется простой командой
grub-install [OPTION] install-device. Помимо этого, быть может, вам нужно выполнить обновление загрузочного меню (
update-grub), например для того, чтобы добавить в него свежеустановленную Винду.
А вопрос в том, откуда эту команду отдать — установленная система же штатно не загружается. Есть три варианта:
Вариант первый. Выполнить с «живой» системы (liveCD / liveUSB).
Требуется: живой образ системы, комплектующийся Грубом (например, Убунта).
# mount -L DEBIAN /mnt
# mount -L BOOT /mnt/boot # если /boot у вас на отдельном разделе
# grub-install --root-directory=/mnt /dev/sda
# update-grub --output=/mnt/boot/grub/grub.cfg # если требуется (см. выше) Вариант второй. Загрузить установленную систему и выполнить с нее.
Требуется: лив-сиди / лив-юэсби с Грубом в роли загрузчика.
Загружаем установленный ГНУ/Линукс следуя инструкции из раздела выше и выполняем:
# grub-install /dev/sda
# update-grub # если требуется (см. выше) Вариант третий. Загрузить любую систему на Линуксе и выполнить chroot в установленную.
Требуется: любая «живая» linux-based система, наличия в ней Груба не нужно.
# mount -L DEBIAN /mnt
# mount -L BOOT /mnt/boot # если /boot выделен на отд. раздел
# mount --bind /dev /mnt/dev
# mount --bind /proc /mnt/proc
# mount --bind /sys /mnt/sys
# chroot /mnt
# grub-install /dev/sda
# update-grub # если требуется (см. выше) TODO: Описать плюсы / минусы каждого.
Знаете ли вы, что • Ключ
GRUB_DEFAULT в
/etc/defautl/grub, определяющий пункт меню загружаемый по-умолчанию, может принимать не только порядковый номер пункта (0 — первая строчка, 1 — вторая и т.д.), но и его заголовок (см.
/boot/grub/grub.cfg). Например:
GRUB_DEFAULT='Debian GNU/Linux, с Linux 2.6.39-2-amd64' TODO: Есть сведения, что это не работает с Бургом; проверить их.
Смело правьте и дополняйте шапку, однако не забывайте отписываться об исправлениях и сохранять исходный вариант.
[/more]