extra-direct.ru - LINUX ДЛЯ ЮЗЕРОВ — ЧЕРПАЕМ ЗНАНИЯ » Осваиваем Grub 2 - знания, которые помогут вам в жизни

Осваиваем Grub 2

Среда, 23 Дек 2009, 7:38 | Рубрика: Загрузка системы
Метки: ,

Вряд ли кто-то будет спорить, что королем загрузчиков в Linux является Grub. Он очень гибок в настройках и имеет массу достоинств. А недавно вышла вторая версия этого загрузчика. Приведенная ниже статья поможет изучить новую программу. Лично я сейчас именно этим и занимаюсь, ибо обнаружил, что в используемой мной сейчас Ubuntu 9.10 (Karmic Koala) стоит именно Grub 2.

Оригинал:
Автор: Joshua Price
Дата публикации: November 19th, 2009
Перевод: Н.Ромоданов
Дата перевода: декабрь 2009 г.

Если вы работаете в Linux, то скорее всего ваш дистрибутив в качестве начального загрузчика использует Grub. Grub хорошо выполняет эту задачу в течение многих лет, но уже видно, что он устарел. Как и в случае других программ, потребовалось не слишком много времени с тем, чтобы новое и лучшее стало старым и осунувшимся. Возможности в Grub нагромождались без долгих размышлений и без какой-либо попытки внести их как изменения в ядро программы. В итоге это привело к бесконечным заплаткам, которые никто не хочет поддерживать. Но теперь появился . Он полностью был переписан с самого основания, причем его структура была также полностью перепроектирована. Этот новый Grub предоставляет нам мощные возможности, такие так условные инструкции (if/then и т.п.), интеллектуальное обновление и сильно улучшенную графику.

Выбираем Grub2

Если вы хотите использовать Grub2, тот лучше всего установить Ubuntu 9.10 (Karmic Koala). Если же вы хотите всего-лишь посмотреть, что Grub2 может делать, не рискуя вашей системой, то воспользуйтесь виртуальной машиной так, как описано по , но, конечно, в качестве гостевой системы возьмите Ubuntu 9.10.

Файл menu.lst/grub.cfg

Если вам приходилось иметь дело с оригинальным Grub (теперь называемым Grub legacy), вы, несомненно, знаете о menu.lst. Это файл, в котором Grub legacy запоминал практически все. В Grub2 ближайшим аналогом является grub.cfg, тоже хранящийся в /boot/grub. Однако, самое важное различие в том, что вы не должны редактировать файл grub.cfg непосредственно — этот файл автоматически генерируется с помощью Grub2 и ваши исправления будут стерты без каких-либо предупреждений, в результате таких действий, как, например, обновление ядра.

Каждый раз, когда исполняется команда update-grub, Grub2 читает свои различные конфигурационные файлы и использует их содержимое для генерации файла grub.cfg. Эти конфигурационные файлы будут рассмотрены ниже.

Директория /etc/default/grub

Именно здесь сейчас находятся многие настройки Grub, которые были в файле menu.lst. Здесь указывается, будет ли изображаться меню Grub и как долго будет длиться ожидание прежде, чем наступит таймаут. В приведенном ниже скриншоте показаны настройки, используемые в Ubuntu 9.10 по умолчанию: задан параметр не показывать меню Grub (hide), отключен пункт меню режима восстановления «recovery mode», и ядру указано выдавать изображение заставки.

Кстати, для того, чтобы при загрузке заставить Grub 2 показывать меню загрузки, при запуске системы удерживайте нажатой клавишу Shift.

Директория /etc/grub.d/

Это именно то, чем новая версия Grub отличается от Grub legacy. В Grub 2 используется совсем другой подход к определению элементов меню загрузки — это не файл menu.lst. В директории /etc/grub.d/ находятся отдельные файлы, каждый из которых представляет собой отдельный элемент меню загрузки. Ниже показаны файлы, содержащие настройки элементов меню загрузки, выбранные по умолчанию при установке системы.

Хотя и есть масса отличий от Grub legacy, в этом директории вы, возможно, обнаружите нечто знакомое. В директории много похожего на стандартную систему начальной загрузки SysV Init. Каждый файл обрабатывается в строго определенном порядке. Порядок определяется номерами в начале каждого имени файла, так, например, скрипт в файле 00_header будет исполняться раньше, чем, скажем, в файле 05_debian_theme.

Файл /etc/grub.d/40_custom

Если вам нужно отредактировать меню загрузки, то это именно тот файл, который вы ищете. Сюда вы добавляете свои пункты меню. Поскольку это последний нумерованный файл в директории grub.d (смотрите объяснение выше), любые пункты меню, помещенные в этот файл, будут изображаться в конце меню загрузки.

По умолчанию файл 40_custom обычно пустой. В этом примере я добавил в него новый элемент меню.

Изображения — заставки

В Ubuntu вы можете легко загрузить пакет изображений-заставок Grub 2 следующим образом:

sudo apt-get install grub2-splashimages

Когда это будет сделано, все изображения будут запомнены как файлы TGA в директории /usr/share/images/grub/.

Какое именно изображение будет выводиться в качестве заставки, определяется в файле 05_debian_theme. Для того, чтобы выбрать другой файл с изображением-заставкой, вы должны, имея права root, открыть файл /etc/grub.d/05_debian_theme в любом редакторе, который вам нравится. Найдите строчку, похожую на выделенную в следующем примере:

И измените имя на имя файла с изображением, которое вы предпочитаете использовать. Удостоверьтесь, что путь указывает на директорий -/usr/share/images/grub/. В некоторых старых версия путь указывает на директорию /usr/share/images/desktop-base/, а это не то, что нам нужно.

Применяем сделанные изменения

Как вы, возможно, помните, в начале настоящего руководства сообщалось, что файл grub.cfg генерируется автоматически из других файлов, которые мы уже рассмотрели. Как только вы сделаете изменения в этих файлах, вы должны дать Grub команду прочитать их и собрать их содержимое в новый конфигурационный файл. Для того, чтобы это сделать, просто с правами root выполните следующую команду:

update-grub

Как только все будет сделано, перезагрузите компьютер (или виртуальную машину) с тем, чтобы увидеть результат. Если для меню все еще установлен параметр Hidden (не показывать), то во время загрузки не забудьте удерживать нажатой клавишу Shift.

Ну вот и все…


Так иногда бывает, что по каким-то причинам у ребенка неправильно развивается прикус. Это может иметь массу негативных последствий. Но сегодня вполне выполнимая процедура. Только обращаться нужно к профессионалам.

Отзывов: 2 на «Осваиваем Grub 2»

  1. 1pigeon

    thanks!
    nice article, can U write something about password?

  2. 2vityok

    Большое спасибо за статью.

Ваш отзыв