grub настройка меню загрузчика

Содержание

Первые шаги

При первом сравнении GRUB со старым GRUB Legacy самым весомым различием оказывается измененная структура файлов конфигурации.

И об этом нас предупреждают не просто так. Ведь «grub.cfg» генерируется автоматически с использованием нескольких скриптов. Поэтому после следующего обновления GRUB ваш «grub.cfg» будет создан заново, и все ваши правки будут утрачены.

Кроме файла «grub.cfg», отвечающего за загрузочное меню, имеются файл «/etc/default/grub» и папка «/etc/grub.d«. Рассмотрим их подробнее.

/etc/default/grub

Данный файл содержит в себе основные настройки для GRUB. Через него, собственно, они и изменяются. Для наглядности ниже приводится примерное содержимое этого файла:

Изменение стандартного пункта загрузки

Значением «GRUB_DEFAULT» является номер пункта меню, который должен быть выбран стандартным. Чтобы выбрать другой пункт, нам нужно узнать, каким по счету он будет в списке. Есть два варианта:

Или же можно указать значение идентификатора (id), оно должно быть именно таким, каким мы его видим в «/boot/grub/grub.cfg«. Данный способ удобен тем, что после обновления ядра не придется изменять настройки из-за сбившейся нумерации.

Пример

Если в «grub.cfg» пункт меню выглядит так:

То значение параметра «GRUB_DEFAULT» должно указываться именно в виде:

Изменение времени отображения меню

«Скрытое» меню

В случае, если на компьютере установлена только Ubuntu, меню загрузки по умолчанию не будет отображаться, а GRUB будет загружать вас напрямую в систему. Однако же, иногда может возникнуть необходимость загрузиться с другим ядром или же запустить проверку памяти. Для этого предусмотрено «скрытое меню» за него отвечает параметр «GRUB_HIDDEN_TIMEOUT».

Параметр «GRUB_HIDDEN_TIMEOUT_QUIET» отвечает за отображение таймера во время паузы. Если его значение «true» таймер отображаться не будет, а со значением «false» будет.

Чтобы GRUB отображал меню со списком установленных операционных систем, без нажатия клавиш вызова меню (например Shift или Esc ) необходимо:

Убираем подменю

Чтобы раскрыть все меню используем такой параметр:

Это бывает нужно если хотим загружаться не с первой строчки.

Особые случаи

Поведение меню отличается от заданного переменными GRUB_TIMEOUT и GRUB_HIDDEN_TIMEOUT когда предыдущая загрузка не завершилась успехом или предыдущаяя загрузка происходила в режиме восстановления. Подробно это описано далее, в разделе «Защита от зацикливания на перезагрузке». Полную справку по параметрам файла настроек можно дав команду:

Изменение стандартных параметров загрузки ядра

Вы можете добавить необходимые вам параметра запуска ядра, приведя это значение к виду «quiet splash your_param1 your_param2», то есть дописав через пробел нужные параметры.

Пример

Чтобы заменить графическую заставку во время загрузки на информацию о загрузке компонентов системы (это позволит проследить за процессом загрузки и выявить неполадки). Необходимо заменить строчку:

/etc/grub.d

Эта папка содержит в себе скрипты, которые используются для создания файла «grub.cfg». При обновлении GRUB они находят все установленные на компьютере системы и ядра и формируют в файле «grub.cfg» меню загрузки, которое мы и видим. Два основных из них:

Пример

Добавляем режим загрузки без графической заставки, с текстовым отображением процесса загрузки (verbose mode). Для этого мы немного отредактируем обычный пункт загрузки. допустим, он выглядит так (в «/boot/grub/grub.cfg«):

Для того, чтобы сделать из этого verbose mode, нам нужно убрать опции quiet и splash и изменим название самого пункта. В итоге получаем:

Все это и добавляем в «40_custom» в конец файла. Строка с echo не является обязательной она лишь будет сигнализировать нам о том, что наш пункт найден и добавлен при обновлении GRUB.

Команды консоли GRUB

Чтобы попасть в консоль, нужно нажать клавишу C во время отображения меню загрузки.

Команда сообщит нам тип файловой системы на разделе, метку раздела (если таковая имеется), UUID и дату последнего изменения данных на разделе (в формате UTC).

Данная команда выводит содержимое заданного файла, используется в формате:

linux

Аналог команды «kernel» в GRUB Legacy. Загружает указанное Linux-ядро:

initrd

Загружает указанный initrd-образ. Используется так:

chainloader

Передает управление загрузкой по цепочке другому загрузчику (загрузчик ищется на заданном в качестве root разделе). В общем случае требует указания файла для загрузки:

Для (загрузчика Windows) можно использовать:

После задания раздела команда сообщит новый root-раздел и тип файловой системы. Примечание: «root hd(*,*)» не всегда корректно срабатывает. более предпочтительным вариантом является «set root» (см. ниже)

Весьма универсальная команда для изменения различных параметров. Служит для задания значений переменных и используется в формате:

search

Служит для поиска раздела по UUID, метке или заданному файлу. Имеет следующие ключи:

lsfonts

Команда отобразит список загруженных в настоящий момент шрифтов.

При использовании в чистом виде выведет список доступных команд. В формате:

Выведет справку по всем командам, начинающимся на «r».

Отобразит справку по команде «search»

reboot

background_image

Позволяет «на лету» изменить фоновое изображение. Используется в формате:

Дает замечательную возможность посмотреть на выбранную картинку в действии, избегая лишних перезагрузок. В сочетании с заменой цветов через set позволит довольно быстро подобрать подходящий вариант оформления.

terminal_output.console

Применение изменений

После этого смело перезагружаемся и видим, что все работает как надо.

Нюанс с нумерацией дисков и разделов

Если в GRUB Legacy первый раздел первого диска (sda1) именовался «hd0,0». То в GRUB, первый раздел первого диска (sda1) теперь будет «hd0,1».

Создание дополнительного меню загрузки

Суть в том, что вместо уже знакомого «grub.cfg» можно загрузить свой файл настройки загрузочного меню со своей конфигурацией. Это позволяет создать дополнительное меню с другими пунктами, настройками, оформлением и т.д. Итак, создадим наш новый файл конфигурации. Создавать с нуля не будем, а скопируем «grub.cfg», дав новое имя:

Поскольку файл скопируется с правами 444, выставим ему права на запись:

Теперь открываем его в любимом текстовом редакторе и изменяем:

Строкой ниже мы можем задать цвета текста. Изменяются они так же, как и в »/etc/grub.d/05_debian_theme« (см. Настройка внешнего вида загрузчика GRUB). Можно проделать один интересный трюк: уберите строки с set color_highlight и else теперь настройка будет такой:

Закончив с настройкой, перейдем к пунктам меню, они идут ниже. Измените их, удалите ненужные и добавьте новые, пересортируйте на свой вкус.

Настроив свой файл, сохраните его Ctrl + Shift и закройте.

Теперь необходимо добавить дополнительное меню. Для этого в файле »/etc/grub.d/40_custom« добавим запись такого вида:

Если вы хотите, чтобы ваше новое меню загружалось вместо стандартного «grub.cfg», установите новый пункт в качестве пункта по умолчанию, но перед этим проверьте новое меню на работоспособность.

Обновите свой «grub.cfg» выполнив команду:

В качестве образца пример файла «custom.cfg» (файл урезан до необходимого минимума):

Защита от зацикливания на перезагрузке

Зачем это сделано

А что если.

А что если отключить?

Отключаем.

Как это работает

Для того, что бы убрать необходимость интерактивного вмешательства в процесс загрузки нужно установить переменную GRUB_RECORDFAIL_TIMEOUT в /etc/defaul/grub в то количество секунд, которые меню GRUB-а будет ждать ввода в случае когда recordfail=1. Сохранить изменения и обновить GRUB (sudo update-grub).

Финт с GRUB_RECORDFAIL_TIMEOUT может не сработать в некоторых (старых) версиях GRUB. Тогда нужно редактировать /etc/grub.d/00_header. Нужно найти функцию make_timeout (), которая выглядит примерно так:

и заменить в ней строчку

После этого финт с GRUB_RECORDFAIL_TIMEOUT заработает. Нужно сохранить изменения и обновить GRUB (sudo update-grub).

Источник

🐧 Как настроить параметры загрузчика GRUB2 на Linux

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Как вы, вероятно, знаете, GRUB2 является загрузчиком по умолчанию для большинства операционных систем Linux.

GRUB означает GRand Unified Bootloader.

Загрузчик GRUB – это первая программа, которая запускается при старте компьютера.

Он отвечает за загрузку и передачу управления в ядро операционной системы.

И тогда ядро берет на себя ответственность и инициализирует остальную часть операционной системы.

В этом руководстве я покажу вам, как настроить параметры загрузчика GRUB2 в системе Ubuntu.

Мы можем настроить параметры, либо напрямую отредактировав файл конфигурации grub с помощью любого текстового редактора, либо с помощью любых приложений с графическим интерфейсом, таких как Grub-customizer.

Настройка параметров загрузчика GRUB2

Как я уже сказал, мы можем настроить параметры загрузчика из командной строки или графического интерфейса.

Давайте посмотрим на метод с командной строкой.

Предупреждение. Файл конфигурации по умолчанию для GRUB2 – /boot/grub/grub.cfg. Вы не должны редактировать или изменять этот файл, если вы не очень знакомы с GRUB2. Это основной файл для загрузки в ОС Linux. Если вы сделаете что-то не так с этим файлом, то у вас наверняка будет сломана система. Так что не трогайте этот файл!

1. Выберите ОС по умолчанию (GRUB_DEFAULT)

Откройте файл /etc/default/grub с помощью любого текстового редактора, например, nano.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

2. Установите время ожидания ОС (GRUB_TIMEOUT)

По умолчанию выбранная запись из меню загрузки начнет загружаться через 10 секунд.

Вы можете увеличить или уменьшить этот тайм-аут.

Если значение равно «0», ОС по умолчанию сразу начнет загружаться.

Если значение равно «5», меню загрузки будет отображаться в течение 5 секунд, чтобы вы могли выбрать, какую ОС вы хотите загрузить при запуске системы.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

3. Измените фоновое изображение GRUB

Чтобы изменить фоновое изображение GRUB, вам нужно скопировать предпочитаемое изображение в /boot/grub/location.

Вы также можете использовать изображения в формате JPG / JPEG.

Но GRUB поддерживает только 256 цветных форматов изображений JPG / JPEG.

Итак, лучше использовать изображения в формате PNG.

Кроме того, вы можете напрямую указать путь к файлу изображения в файле /etc/default/grub, как показано ниже:

Замените путь к изображению своим собственным.

Сделав необходимые изменения в файле GRUB, сохраните и закройте его.

Чтобы применить изменения, вы должны выполнить следующую команду:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Добавить комментарий Отменить ответ

• Свежие записи

• Категории

• itsecforu.ru

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

• Страны посетителей

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика IT is good

Источник

Настройка загрузчика Grub

Загрузчик системы выполняет очень важную функцию. Он позволяет выбрать какую операционную систему стоит загружать, также инициализирует параметры ядра Linux и подготавливает его к загрузке. В большинстве дистрибутивов Linux используется загрузчик Grub. Он поддерживает все необходимые функции, в том числе и UEFI, а также очень настраиваемый.

В одной из предыдущих статей мы рассматривали установку загрузчика Grub в Linux. В этой же будет будет продолжена тема и более детально рассмотрена настройка загрузчика Grub. Мы рассмотрим как графическую настройку с помощью Grub Customizer, так и более сложный, но более гибкий вариант с помощью ручного редактирования конфигурационных файлов.

Настройка Grub с помощью Grub Customizer

Это самый легкий путь конфигурации загрузчика. Графическая программа настройки Grub Customizer позволяет настроить все основные параметры загрузчика, например, фоновое изображение, шрифт, порядок пунктов загрузки, параметры ядра и многое другое. Все это делается в пару кликов.

Программа доступна в официальных репозиториях большинства дистрибутивов, и вы можете ее оттуда легко установить. Для установки в Ubuntu выполните:

sudo apt install grub-customizer

В Fedora, Red Hat и CentOS команда будет немного отличаться:

sudo yum install grub-customizer

После завершения установки вы можете запустить программу из главного меню или в терминале:

Перед тем, как программа запустится, вам нужно будет ввести пароль потому что для ее работы нужны права администратора:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Главное меню загрузится через несколько десятков секунд. Программе нужно время, чтобы собрать список операционных систем, установленных на компьютере:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

В контекстном меню для каждого пункта вы можете переместить его вверх или вниз, переименовать или отредактировать его конфигурацию. С конфигурацией мы будем разбираться в другой части статьи, а первые два пункта могут быть очень полезны:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

На вкладке Основные настройки вы можете выбрать пункт, который нужно загружать по умолчанию, время на протяжении которого будет показываться меню, а также параметры ядра для каждого пункта по умолчанию.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Последняя вкладка позволяет настроить внешний вид, тут вы можете выбрать одну из доступных тем, установить разрешение, или же задать пользовательские параметры цвета, шрифтов и фоновый рисунок:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Кроме того, нажав кнопку дополнительные параметры, вы можете настроить значения переменных /etc/default/grub, которые мы рассмотрим подробнее ниже.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

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

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Видео, где показана настройка GNU Grub в Linux с помощью Grub Customizer:

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

Настройка Grub через конфигурационные файлы

Настройка Grub через /etc/default/grub

Как я уже сказал, настройка загрузчика через файл /etc/default/grub, на основе которого будет автоматически создан /boot/grub/grub.cfg более желательна. Давайте рассмотрим параметры, которые вы можете здесь настроить.

Например, можно использовать такую конфигурацию:

GRUB_DISTRIBUTOR=»»
GRUB_DEFAULT=»saved»
GRUB_HIDDEN_TIMEOUT=»0″
GRUB_HIDDEN_TIMEOUT_QUIET=»true»
GRUB_TIMEOUT=»8″
GRUB_CMDLINE_LINUX_DEFAULT=»resume=/dev/sda7 splash=silent quiet»

Но как вы могли понять, этим способом вы не можете настроить порядок пунктов загрузки, а также некоторые другие параметры, поэтому давайте рассмотрим настройку непосредственно конфигурационного файла Grub.

Настройка Grub через /boot/grub/grub.cfg

Файл /etc/boot/grub/grub.cfg управляет непосредственно работой загрузчика, здесь указаны все его параметры и настройки, а также сформировано меню. Поэтому, изменяя этот файл, мы можем настроить Grub как угодно. Сначала попытаемся разобраться с синтаксисом файла. Он очень напоминает синтаксис bash и состоит из нескольких команд, которые что-то делают, загружают и настраивают.

Команды могут быть объединены в функции или блоки с помощью инструкций if else, синтаксис которых аналогичен bash. Рассмотрим основные из этих команд:

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

Команда search используется для поиска дисков и имеет такой синтаксис:

Например, команда может выглядеть вот так:

Вторая команда, которая нам очень понадобится, это menuentry. Она используется для создания пунктов меню, с помощью которых будут загружаться операционные системы и дистрибутивы linux. Синтаксис этой команды такой:

menuentry имя_пункта <
команды установки переменных окружения
загрузка модулей
linux файл_ядра параметры_ядра
initrd файл_initrd
>

Обычно, для нормальной загрузки операционной системы сначала необходимо установить корневой раздел, для этого, возможно, нужно загрузить некоторые модули, дальше нужно запустить ядро с нужными параметрами и добавить образ initrd если это требуется. Самый простой пример пункта меню:

menuentry «Ubuntu» <
set root=(hd0,1)
linux /casper/vmlinuz boot=casper noeject noprompt splash
initrd /casper/initrd.lz
>

Теперь давайте попробуем собрать всю информацию воедино и создадим самый просто конфигурационный файл для Grub вручную:

# Время показа меню 5 секунд

# Установим разрешение экрана и укажем что это же разрешение нужно сохранять для ядра:

set gfxmode=»1280×800″
set gfxpayload=keep

# Загрузим необходимые модули для работы видео режима, нужно для использования фоновой картинки

insmod vbe
insmod gfxterm
terminal_output gfxterm

# Установка шрифта с поддержкой Unicode:

font «/boot/grub2/fonts/unicode.pf2»
loadfont unicode

# Загрузим модуль работы с jpeg и зададим фоновый рисунок:

insmod jpeg
background_image «/boot/fon.jpg»

# Установим переменные окружения для настройки цвета меню:

set menu_color_normal=red/black
set menu_color_highlight=yellow/black
set color_normal=yellow/black

# Пункт меню для нашей операционной системы:

menuentry «Ubuntu» <
root=(hd0,1)
linux /casper/vmlinuz boot=casper noeject noprompt splash
initrd /casper/initrd.lz
>

menuentry «OpenSUSE» <
insmod gzio
insmod part_msdos
insmod ext2
set root=’hd0,msdos5′
linux /boot/vmlinuz-4.1.31-30-default root=UUID=c52ca066-e48f-4df2-bc7e-4d885a354090 resume=/dev/sda7 splash=silent quiet showopts
initrd /boot/initrd-4.1.31-30-default
>

Выводы

Настройка grub может показаться довольно сложной вещью, но если разобраться, то все вполне выполнимо. В этой статье мы рассмотрели несколько способов настройки загрузчика, для различных ситуаций, и я думаю, теперь у вас не возникнет проблем с этой программой. Если у вас остались вопросы, спрашивайте в комментариях!

Источник

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчикаЗаконченное руководство с сайта Dedoimedo «GRUB 2.00 руководство по мультизагрузке» (GRUB 2.00 multi-boot tutorial) помещено в 117-ом выпуске журнала «Linux User & Developer Magazine»! Рекомендую посмотреть его.

Загрузчик GRUB 2 находится в постоянном развитии. Со временем часть информации должна измениться, так как свойства добавляются, удаляются и меняются. Последние обновления, пожалуйста, смотрите ниже в разделе Updates.

Это руководство описывает GRUB версии 2, последующую версию популярного загрузчика. Если вас интересует руководство по оригинальной (сейчас, так называемая, legacy) версии GRUB, пожалуйста, посмотрите эту статью.

Добро пожаловать в руководство по начальному загрузчику GRUB 2! Обязательно прочитайте мое руководство по GRUB legacy. В течение двух с половиной лет только оно одно набрало около полумиллиона просмотров. Это доказывает, что оно практично и очень популярно у пользователей во всем мире.

Я хочу повторить подобный успех с руководством по GRUB 2. Моя цель предоставить пользователям, запускающим UNIX-подобные операционные системы или осуществляющим мультизагрузку на своих компьютерах с помощью загрузчика GRUB, простое пошаговое руководство, проверенное и работоспособное, которое позволит им быстро, просто и безопасно управлять загрузкой операционных систем.

В этом руководстве вы узнаете как работать с GRUB 2. Как добавить и удалить конфигурации меню, как адаптировать под свои требования загрузочные конфигурации с помощью заголовков и загрузочных опций, как осуществить двойную загрузку и тройную загрузку операционных систем. Особое внимание будет уделено совместному использованию GRUB legacy и GRUB 2 и адаптации Windows к этой структуре. После этого мы узнаем, как избавиться от ошибок. Следуйте за мной.

Содержание

Предупреждение

Обратите внимание! GRUB 2 до сих пор является бета-версией программного обеспечения. Несмотря на это, он уже поставляется с Ubuntu подобными системами, хотя является не совсем доработанным продуктом. Вы, наверное, сможете использовать его без каких-либо проблем. Хотя проблемы и существуют, но вероятность повреждения системы невелика.

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

Просто помните, что GRUB 2 является бета-версией. Хотя тоже самое можно сказать и о Google Mail, который был бета-версией приблизительно шесть лет или около этого, поэтому вы должны быть осторожны. Еще одна важная деталь, содержание и соответствующее ему содержимое в этом руководстве до сих пор, бывает, меняется вместе с изменениями в программном продукте GRUB 2, поэтому следите за обновлениями.

Это то, с чем вы должны ознакомиться до опробования GRUB 2. Когда GRUB 2 станет де-факто загрузчиком для UNIX подобных операционных систем? В настоящее время GRUB legacy прекрасно справляется и будет продолжать это делать еще много лет. Получив долгосрочную поддержку от компаний, подобных RedHat и Novell, в серверных дистрибутивах, GRUB legacy остался ключевым игроком на самое меньшее 5-10 лет.

На настольных машинах внедрение должно происходить быстрее, но не стоит ждать чудес слишком быстро. Тем не менее, это не помешает начать его изучение. Примите это к сведению, вы столкнетесь с некоторыми ограничениями совместимости в дальнейшем, особенно во многих консервативных дистрибутивах, которые не внедряют новые технологии слишком быстро.

На данное время GRUB 2 применяется только в системах семейства Ubuntu, которые занимают только третью часть рынка настольных систем на базе Linux. Данное обстоятельство делает это руководство актуальным только для одного из двух или даже трех домашних пользователей Linux, которые могли бы быть заинтересованы в том, чтобы узнать больше о GRUB 2 и его применении.

Теперь давайте перейдем к реальным механизмам.

Введение в GRUB 2

Перед тем, как вы начнете углубяться в материал, я настоятельно советую вам прочитать написанное мной оригинальное руководство по GRUB. Это поможет вам лучше понять эту статью.

В GRUB 2 внесено много новых изменений. И GRUB 2 имеет ряд улучшений: лучшую переносимость и систему модулей, поддерживает не-ASCII таблицу символов, динамическую загрузку модулей, управление физической памятью и другие.

Все эти новшества практически бесполезны для большинства пользователей. Для управления GRUB 2 необходимо знать изменения в конфигурационных файлах и их размещение.

Новая структура

GRUB 2 размещает свои файлы в трех местах:

Это значит, что если вы хотите изменить меню GRUB, вам будет нужно отредактировать существующие скрипты или создать новые и после этого обновить меню. Это больше похоже на LILO, в которой меню редактировалось на лету, чем на GRUB legacy.

Пример файла grub.cfg

Этот файл размещен в следующией директории /boot/grub/ :

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Так будет выглядеть grub.cfg файл:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Это очень интересно, потому что он является просто оболочкой скрипта. Большинство людей, скорее всего, не захотят читать его содержимое или полностью с ним разбираться. Все же этот файл стоит бегло просмотреть перед обновлением GRUB меню, чтобы быть уверенным в правильности конфигураций и в том, что все они находятся в файле, как вы рассчитывали. Выполните это, если хорошо разбираетесь в скриптах.

Пример директории /etc/grub.d/

Содержимое этой директории на только что установленной системе, в данном случае Kubuntu:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Давайте рассмотрим скрипты:

05_debian_theme определяет фон, цвета и темы. Имя этого скрипта зависит о выбранного дистрибутива и изменяется при выборе другого дистрибутива в GRUB 2.

10_linux загружает конфигурации меню для установленного дистрибутива.

20_memtest86+ загружает утилиту тестирования памяти.

30_os-prober скрипт, который сканирует жесткие диски на наличие других операционных систем и добавляет их в загрузочное меню.

40_custom является шаблоном, который вы можете использовать для создания дополнительных конфигураций, которые добавятся в загрузочное меню.

Вы обратили внимание на нумерацию в именах скриптов? Это несколько похоже на порядок скриптов Запуска/Завершения на различных уровнях выполнения. Нумерация осуществляется согласно очередности. Это означает, что скрипт 10_linux будет выполнен до 20_memtest86+ и поэтому он размещен выше в загрузочном меню.

Эти скрипты не очень интересны. Так же как и grub.cfg файл, они не могут быть отредактированы, за исключением скрипта 40_custom. Вам нужно быть очень осторожными, когда вы работаете с этими скриптами.

Скоро мы увидим как они выглядят и узнаем как с ними работать.

Пример /etc/default/grub

Этот файл находится в /etc/default :

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Эта директория содержит много других файлов, так что не подумайте, что все они используются GRUB. Файл grub является текстовым файлом, это показано на примере скрипта 00_header. Вы можете вносить свои собственные изменения в него, если хотите, конечно. Мы рассмотрим это позже в разделе кастомизация.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Теперь мы знаем какие файлы являются основными. Посмотрим, как мы можем их использовать.

Основное применение

Теперь, добавим к нашим теоретическим знаниям немного практики.

Как работает GRUB 2?

GRUB 2 работает подобно этому:

Для изменения grub.cfg вам необходимо отредактировать grub файл или скрипты, размещенные в grub.d.

Скрипты предназначены для выполнения. Это значит, что стандартная процедура выполнения должна быть для них включена. Если вы отключите стандартную процедуру выполнения, то они не будут запущены.

Давайте рассмотрим скрипты.

Например, 00_header и 05_debian_theme:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

40_custom более содержателен, но он не поможет нам понять, как можно настраивать скрипты. Не беспокойтесь, мы скоро все узнаем.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Добавление нового GRUB скрипта

Чтобы добавить новую загрузочную опцию, вам необходимо следовать основным правилам:

Создать новый файл с префиксом XX_ в имени, где XX числовая последовательность. Если вы хотите разместить новую конфигурацию выше других, используйте меньшее число, если вы хотите разместить ее ниже других, то используйте большее число.

Например, 11_ конфигурация будет размещена после конфигурации по умолчанию, 08_конфигурация будет размещена перед конфигурацией 10_ linux.

Давайте рассмотрим этот файл:

Это shell скрипт, что следует из объявления в первой строке файла.

$ echo «Some string» > &2

Пример: echo «Adding openSUSE 11.2»

cat определяет начало текущей загрузочной конфигурации.

Очень важно! GRUB 2 использует нумерацию разделов с 1, а не с 0, как было в GRUB legacy! Это крайне важно, помните об этом!

linux /boot/vmlinuz
initrd /boot/initrd.img

Однако в Windows вы будете использовать, скорее всего, следующую команду:

По этой причине, законченный пример скрипта будет выглядеть приблизительно так:

Или в случае Windows, приблизительно так:

EOF конец GRUB файла.

Теперь у нас есть готовый файл. И нам нужно сделать его исполняемым.

$ chmod +x XX_new_os_script

GRUB 2 команды

Мы можем использовать ряд различных команд в этом скрипте. Некоторые из них мы встречали раньше в GRUB legacy, но появились новые, незнакомые команды.

Обновление GRUB

Это пример из конфигурации двойной загрузки, которую мы рассмотрим подробнее позже. Я добавил две конфигурации Kubuntu и одну Ubuntu в GRUB меню Ubuntu. Я сделал это, чтобы исключить конфигурацию по умолчанию 10_linux, которая неприглядная и использует в заголовке имя универсального ядра, что вносит путаницу в обозначение и одинаково для Ubuntu и Kubuntu.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

После перезагрузки, мы получим вот это. Прошу прощения за некрасивый скриншот.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Изменение порядка загрузки скрипта с помощью изменения номеров

Вы также можете изменить номера скриптов, если хотите. Например, я изменил конфигурацию Kubuntu 08 и 09 и сделал, чтобы они загружались первыми до конфигурации по умолчанию и собственного скрипта Ubuntu.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Замена загрузочной конфигурации по умолчанию

Это можно сделать примерно так же, как показывалось выше. Для проверки правильно ли загружаются ваши новые скрипты, можно обратиться к рабочему примеру файла grub.cfg и проверить правильность написания linux и initrd строк.

Вот пример, который есть у меня:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

И соответственно, я создал новый скрипт:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

OS Prober (поиск загрузочных конфигураций)

OS Prober может тоже помочь вам. Он найдет дополнительные конфигурации на вашем жестком диске и добавит их в меню. Вы можете использовать его для добавления информации в созданные вами скрипты. Для получения дополнительной информации снова обратимся к файлу grub.cfg, раздел os-prober.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Переустановка GRUB

GRUB 2 может быть установлен даже во время работы операционной системы, когда она загружена. Для этого вам не нужно выходить из среды операционной системы. Просто запустите команду grub-install с указанием устройства или необходимого вам раздела.

может быть /dev/hda, /dev/sdb, /dev/sdc4, и так далее.

Важно, чтобы вы уделили внимание результатам работы этой команды. Если вы имеете внешние диски, которые подключены во время работы команды, то она добавит эти диски в список отображаемых устройств. В этом нет большого вреда, потому что, если конфигурации окажутся нерабочими, то она их удалит.

grub-install сообщения о нерабочих устройствах

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Промежуточный итог

Это то, что нам нужно на данный момент. У вас есть инструменты, которые необходимы для начала работы. До сих пор я старался делать вещи более понятными, поэтому я подготовил краткий обзор, который завершает введение и применение основных разделов. Отсюда мы и начнем.

GRUB 2 имеет три основные части:

Команда update-grub считывает директорию /etc/grub.d и просматривает в ней исполняемые скрипты. Скрипты считываются в порядке их нумерации и записываются в файл grub.cfg вместе с установками меню, которые считываются из файла /etc/default/grub.

Вы можете добавить/удалить конфигурации. Просто выполните команду chmod для нужного скрипта, поэтому можно не удалять неиспользуемые скрипты. GRUB 2 может быть переустановлен в любое время, даже во время работы операционной системы, когда она загружена.

Уже хорошо? Отлично. Вы видите, это довольно просто.

Сейчас давайте рассмотрим несколько реальных случаев. Позже мы будем настраивать GRUB 2 и узнаем как восстановить его после серьезных ошибок и ошибок в конфигурациях.

Реальные случаи мультизагрузки

В этом разделе мы рассмотрим несколько общих случаев мультизагрузки, с которыми может столкнуться обычный пользователь.

Некоторые эксперименты были проведены на действительно существующих физических системах, и некоторые скриншоты загрузочных меню представлены в виде фотографий. Поэтому они слегка искривлены и не так хорошо выглядят, как остальные скриншоты. Это сделано чтобы убедить вас, что работа с GRUB 2 также проста, как и другие административные задачи. Они просто требуют немного терпения и внимания.

Двойная загрузка: две операционные системы с GRUB 2

Это, наверное, простейшая конфигурация двойной загрузки. Обе операционные системы используют GRUB 2, таким образом, они могут легко взаимодействовать друг с другом. В нашем случае это две системы Ubuntu 9.10 и Kubuntu 9.10 с одинаковой файловой системой Ext4.

Ubuntu была установлена первой, GRUB 2 установлен в главную загрузочную запись (MBR) на диске /dev/sda. Kubuntu установлена второй, ее загрузчик также установлен в MBR, который перезаписал предыдущий экземпляр GRUB 2. Однако, скрипт OS probe обнаружил и добавил Ubuntu в конфигурационные файлы.

В этом разделе мы сделаем следующее:

Это даст нам первоначальную информацию о работе GRUB 2 и о том, что нужно делать пользователям для обеспечения правильного функционирования. После этого мы проверим загрузку систем с GRUB 2 из GRUB legacy и наоборот. И после этого мы добавим Windows.

Частично мы видели это ранее. Заменим имеющуюся конфигурацию по умолчанию, которая выглядит не столь привлекательно, как нам бы хотелось.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

После этого нам необходимо сделать скрипты исполняемыми с помощью команды chmod +x и обновить GRUB. Очень просто.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

После перезагрузки и проверки работы системы мы можем заменить 10_linux конфигурацией с собственными скриптами.

Работа сделана, все очень просто!

Двойная загрузка: две операционные системы с GRUB legacy и GRUB 2

Это интересный случай. Предположим, вы имеете две операционные системы подобные Ubunty 9.10, которые используют новый загрузчик GRUB 2 и загружаются из раздела с файловой системой Ext4, и классический дистрибутив подобный openSUSE 11.2, который тоже использует Ext4 файловую систему, но загружается с помощью старой версии GRUB.

Давайте, сделаем это.

Решение: какую систему сделать системой по умолчанию?

Это то, что вам необходимо решить. У вас имеется два варианта загрузки. и вам нужно выбрать один по умолчанию.

Если бы вы спросили меня ранее, то я бы порекомендовал вам использовать GRUB legacy в качестве загрузчика по умолчанию, потому что это качественный продукт и имеет известные официальные каналы поддержки. Запуск GRUB 2 для вас будет не так важен.

Таким образом, если для загрузки вы используете GRUB legacy, то вам необходимо сделать следующее:

Другими словами, если вы планируете использовать GRUB 2, как загрузчик по умолчанию, вам необходимо сделать наоборот.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Если вы не полностью уверены, посмотрите таблицу разделов.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

В нашем примере, Ubuntu была установлена первой с корневой директорией в /dev/sda6 и домашней директорией home в /dev/sda7. openSUSE была установлена следующей в /dev/sda1. Так как мы хотим использовать загрузчик GRUB legacy, тогда нужно сделать следующее:

Когда это выполнено, загрузите систему и посмотрите, что получилось.

После установки openSUSE вы заметите, что зеленое меню GRUB содержит только конфигурацию openSUSE. Причина этого в том, что GRUB legacy не знает, как интерпретировать структуру GRUB 2, поэтому не может найти дополнительные конфигурации меню. Вы должны добавить их вручную.

Загрузите openSUSE и откройте в текстовом редакторе файл menu.lst. Вначале сделайте его резервную копию!

В действительности мы не знаем как работать с GRUB 2 конфигурациями из GRUB legacy. Поэтому мы будем конфигурировать его так же как Windows. Настроим последовательную загрузку ( chainload ) другой операционной системы, когда управление передается другому загрузчику.

Будет ли это работать? Я не знаю, но давайте проверим! Воспользуемся нашим опытом работы с GRUB и попробуем его применить к новый ситуации.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Для тех кто не видит, что показано на изображении, мы добавили в файл menu.lst следующие строки:

title Ubuntu 9.10 Karmic Koala
root (hd0,5)
chainloader (hd0,5)+1

После загрузки вы увидите меню (снова неважный скриншот):

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Если вы попытаетесь загрузить Karmic Koala, выбрав ее из меню, то вы столкнетесь с неожиданной ошибкой 13 загрузчика GRUB:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Этот тип ошибки является общим для Linux пользователей, пытающихся загрузить Windows или Mac разделы. Для Windows решение состоит в переопределении разделов. Необходимо скрыть разделы или сделать их активными, это обычно решает проблему.

В отношении Mac, проблема подобна той, которую мы рассмотрим далее. Версия GRUB legacy, которая поставляется с openSUSE не обрабатывает Ubuntu разделы и структуру GRUB 2. Поэтому необходим другой метод, чтобы выполнить загрузку.

Загрузка Ubuntu (с GRUB 2) из openSUSE, правильный способ

Вот что вам нужно сделать, чтобы это работало. Вернитесь в openSUSE и откройте снова файл menu.lst. Вам нужно сделать его похожим на это меню:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Для тех, кто не видит, что показано на изображении, мы добавили в файл menu.lst следующую конфигурацию:

title Ubuntu 9.10 Karmic Koala
root (hd0,5)
kernel /boot/grub/core.img
savedefault
boot

Вам, наверное, интересно, что мы здесь сделали. Вот ответ, core.img файл является небольшим образом ядра, который позволяет вам корректно загрузить драйвера и правильно идентифицировать и инициализировать действительное ядро. Вы можете рассматривать этот файл как переходный initrd.img.

После перезагрузки будет доступно меню GRUB 2. Выберите нужную строку и загрузите систему.

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

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Теперь, как редактировать GRUB меню в процессе установки Mandriva. Это должно выглядеть примерно так:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

В основном, мы сделаем все тоже самое, что делали с openSUSE. Подробнее, пожалуйста, смотрите в статье выше.

Двойная загрузка: Windows 7 и Ubuntu

В начале выполним процедуру обновления загрузчика, обратите внимание на эту важную деталь. После этого убедимся, что Ubuntu и Windows системы хорошо загружаются.

Обновление GRUB legacy до GRUB 2

Во-первых, установим пакет GRUB 2:

$ sudo apt-get install grub2

Посмотрите на терминал. Через некоторое время, ответьте на несколько запросов.

Во-первых, нужно решить, пойти по правильному пути и установить GRUB 2 в MBR (главную загрузочную запись) или по тестовому пути, то есть сделать корневым тот раздел, в который установлена Ubuntu и осуществить последовательную загрузку из GRUB legacy. Мы делали это ранее, и знаем как сделать это сейчас с помощью файла core.img.

Для ясности, мы не пропустим этот шаг.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

GRUB 2 теперь установлен:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Теперь перезагрузка и проверка. Ваше GRUB меню будет изменено и включает конфигурацию с последовательной загрузкой внутри GRUB 2.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Возможные ошибки

Вы можете столкнуться с ошибками в GRUB, например, ошибкой 11 или ошибкой 15, когда пытаетесь загрузиться в GRUB 2.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Например, ошибка 11 означает, что выбрано неверное корневое устройство или загрузочное устройство имеет ID (идентификатор) больше, чем его действительный номер. Для устранения ошибки необходимо изменить одну из строк конфигурации.

У вас будет выделена конфигурация, осуществляющая последовательную загрузку, поэтому для решения проблемы, нажмите e для редактирования конфигурации. Затем измените команду root так, чтобы она отражала ваше реальное загрузочное устройство. Не забывайте, вы работаете с GRUB legacy, в котором нумерация разделов начинается с 0.

В итоге, вы увидите меню GRUB 2:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Как видите, мы имеем Ubuntu конфигурации и Vista загрузчик (Windows 7). Все выглядит хорошо. Теперь загрузим Ubuntu и Windows 7, и убедимся, что все работает правильно.

Как только все будет выполнено, загрузите Ubuntu и завершите процесс миграции. Сейчас вы можете записать GRUB 2 в MBR и сделать его загрузчиком по умолчанию.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Обратите внимание на отображенное устройство и измените его соответствующим образом. Это все. Мы сделали это. Мы узнали как обновить GRUB, как справиться с некоторыми ошибками и как правильно загрузить двойную загрузочную конфигурацию, которая включает Windows и Linux.

Дополнительные тестовые сценарии

Тройная загрузка

Начиная с этого момента, все очень просто. Используйте любой загрузчик, какой хотите (GRUB, GRUB 2).

Если вы установили в качестве загрузчика GRUB legacy, тогда вы будете загружать Windows конфигурации, так же как мы делали в оригинальной статье. Только еще добавите /boot/grub/core.img для GRUB 2 конфигураций.

Но если вы используете GRUB 2, тогда примените OS Prober для поиска других операционных систем. Если вам не нравятся заголовки, создайте пользовательские загрузочные конфигурации на основе уже существующих (созданных OS Prober).

Теперь все в ваших руках.

Адаптация меню GRUB

Допустим, мы хотим изменить часть опций меню GRUB 2, например, изменить конфигурацию, загружаемую по умолчанию, время ожидания выбора конфигурации пользователем и другие настройки.

Редактирование /etc/default/grub

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

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

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

Еще один момент, который может заинтересовать вас, как отключить пункты меню recovery.

Отключение пунктов меню recovery

Следующая строка в файле /etc/default/grub позволяет отключить режим отображения пунктов меню recovery. Просто раскомментируйте строку и обновите GRUB:

Отключение пунктов memtest в меню

Изменение параметров titles (заголовков) в блоках меню

Изменение темы (фоновое изображение)

Во-первых, найдите нужные вам картинки, которые вы хотите увидеть во время загрузки. Обратите внимание на параметры изображения, чтобы меню было контрастным и выделялось на фоне изображения, и было легко читаемым. Я покажу пример своего оформления, из которого вы все узнаете.

Следующий шаг, редактирование скрипта 05_debian_theme. Необходимо заменить соответствующую запись собственной:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Что я сделал, закомментировал исходную строку цикла for-loop, которая считывала изображение(я), и создал собственную. Если вы чувствуете себя неуверенно при редактировании конфигурационного файла, вам лучше отложить настройку темы и сделать это позднее.

Мой файл размещен здесь: /usr/share/images/grub/dark.png.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Перезагрузите и проверьте:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Как видите, выбранное мной фоновое изображение оказалось очень плохим! Вы не можете увидеть текст! По этой причине тщательно выбирайте фоновое изображение, которое будете использовать. Лучшим выбором будет тема с небольшими градиентами.

Для получения подробной информации, пожалуйста, обратитесь к Wiki документации.

Восстановление GRUB 2

Восстановление после неудачной загрузки

Вдруг случится, что вы повредите GRUB 2? Должен же быть способ восстановить его и спасти положение? Все как обычно, есть два пути: легкий и сложный.

Легкий путь: Super Grub Disk

Это мощный инструмент, который работает с GRUB 2, так что не беспокойтесь. Установите его на CD/DVD диск, загрузитесь с него и восстановите поврежденный GRUB.

Сложный путь: Ручное исправление с помощью live CD

Вам необходим live CD, подобный Ubuntu или Kubuntu, который имеет на борту GRUB 2. Загрузитесь в live сессию (сессия временной загрузки операционной системы), монтируйте жесткий диск и установите GRUB 2 в MBR.

Вот последовательность команд, которые необходимо выполнить (предполагая, что диск = /dev/sda). Вам необходимо смонтировать раздел с установленным дистрибутивом (например, Ubuntu) и содержащим /boot директорию. Он может быть отдельным разделом в системе, это зависит от параметров, выбранных во время установки системы.

Если это не сработает, то вам необходимо будет выполнить длительную и сложную процедуру, которая описана в official GRUB 2 Ubuntu Wiki documentation.

Применяйте команду fdisk для поиска корневого устройства до его монтирования. В качестве примера, предположим, что /dev/sda1 отведен под /boot раздел, а /dev/sda2 является корневым разделом в вашем дистрибутиве.

$ sudo mount /dev/sda2 /mnt

Если у вас /boot раздел размещен на отдельном разделе, то вам необходимо монтировать и его.

$ sudo mount /dev/sda1 /mnt/boot

Фактически, сейчас у вас есть корневая система для монтирования. Теперь вы можете изменить размещение root (/) на /mnt. Это можно сделать с помощью команды chroot.

Это значит, что команда выполненная в этом терминале будет обращаться к /mnt/. Теперь, переконфигурируем GRUB пакет:

Вам должны сказать GRUB, какое устройство нужно использовать. Вы можете осуществить выбор с помощью клавиши пробел. Показанные устройства будут совпадать с данными из файла карты устройств. Если у вас только одно устройство, то путаницы быть не должно.

После этого вы можете выйти из рабочей среды команды chroot. Это делается нажатием сочетания клавиш Ctrl + D. Затем демонтируйте устройства. Первым демонтируйте /dev, а после все остальные.

$ sudo umount /mnt/dev
$ sudo umount /mnt

Теперь выполните перезагрузку. GRUB 2 будет восстановлен.

Обзор небольших проблем

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

Механизм получения дампа памяти при падении ядра

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Имена команд

Сравнение GRUB legacy и GRUB 2

Теперь хороший вопрос, какой из них вы будете использовать, а какой нет?

GRUB legacy

Это старая версия и больше не разрабатывается, но работает отлично и хорошо зарекомендовала себя. Редактировать GRUB меню очень просто и не требуется высокая квалификация пользователя, то есть нужно только создать в соответствии с правильным синтаксисом и сохранить.

GRUB 2

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

Кроме того, GRUB 2 более сложен в работе, по ряду причин: а) он требует уверенного владения shell, которым владеет далеко не каждый; б) изменить GRUB меню гораздо сложнее и требуется выполнить три этапа, прежде чем оно будет изменено; в) изменения не сохраняются автоматически и должны быть «скомпилированы» в меню всякий раз, при внесении изменений, как и в случае с загрузчиком LILO.

В настоящее время, GRUB 2 поддерживается небольшим числом дистрибутивов, поэтому маловероятно получить поддержку и найти ответы он-лайн (в сети Интернет, например). Поэтому у вас есть шанс столкнуться с проблемами использования GRUB 2 в смешанном окружении.

Вывод

В обоих руководствах по GRUB я показал, что даже сложные ситуации могут быть разрешены сравнительно просто. Это можно осуществить с помощью совместного использования обоих загрузчиков GRUB legacy и GRUB 2, как подробно показано в моих примерах. Сейчас для вас, наверное, лучше GRUB legacy, если вы не очень опытный пользователь.

Если вы запускаете Ubuntu, тогда вы можете оставить GRUB 2, который станет загрузчиком по умолчанию. Просто убедитесь, что следуете моим инструкциям и вас ждет легкая и беззаботная загрузка.

Дополнительная информация (документы и ссылки)

Я настоятельно рекомендую посмотреть следующие статьи, обзоры и howtos руководства:

Официальная информация

Другие полезные источники по GRUB 2

Herman’s GRUB pages (отличная коллекция руководств howto)

GRUB 2 title tweaks (дополнительный материал, поможет избежать трудностей с заменой пунктов меню)

Заключение

Это все. Теперь у вас имеется пошаговое руководство по установке, конфигурированию и разрешению проблем с GRUB 2, которое содержит: описание структуры и основных функций, многочисленные реальные примеры, подобные двойной загрузке с GRUB legacy, последовательной загрузке GRUB 2 и Windows, а также инструменты и инструкции по решению проблем. Это руководство должно быть очень полезно для вас, будь вы начинающий пользователь, недавний пользователь Windows, перешедший на Linux, или ветеран Linux.

В сравнении с GRUB legacy GRUB 2 немного сложнее в использовании, он требует хорошо знать и уверенно работать с shell, с которым большинство пользователей мало знакомы. При этом он не позволяет простого изменения, и загрузочная конфигурация должна собираться каждый раз перед применением после внесения изменений.

Подлинная мощь GRUB 2 до сих пор не раскрыта.

Я надеюсь, что вам понравится это руководство не меньше, чем предыдущее. Я буду обновлять его периодически, если основные функции GRUB изменятся в следующей версии, а также, если напишу важный совет или найду интересный прием.

Успехов и расширяйте ваши познания!

Обновления

Любые обновления и все что касается GRUB 2 будет размещено здесь, включая новые свойства, исправления, дополнительные тестовые примеры, а также другие материалы, советы и приемы. Все это вы сможете найти здесь, но можете предложить и свои советы и приемы, и т.п.. Я предлагаю вам, время от времени просматривать этот раздел.

Декабрь 2009, обновление:

Несколько вопросов, заданных моими читателями.

Нужно ли мне что-то делать, если я использую Ext3 файловую систему? Можно ли boot разделы GRUB отформатировать в Ext4?

Ответ: Может быть. Если ваш дистрибутив поддерживает Ext4, то да, если не поддерживает, то нет, потому что он не сможет ничего прочитать из разделов отформатированных в Ext4. Самый простой путь, преодолеть ограничения совместимости файловой системы, использовать под /boot отдельный раздел, отформатированный в Ext3. Этот способ будут поддерживать все современные дистрибутивы Linux.

У меня есть два диска. Ubuntu Karmic находится на втором диске. Что мне использовать в GRUB core.img файл или можно использовать обычный способ последовательной загрузки ( chainload )?

Ответ: Eсли ваш загрузчик установлен в корне второго диска, тогда вы можете использовать традиционный метод последовательной загрузки ( chainload ). Однако, если вы используете один загрузчик, тогда вы должны воспользоваться core.img файлом.

Из-за чего отличаются 40_custom скрипт и ваши пользовательские скрипты?

Будут ли обновлены мои скрипты, если обновлю ядро другой операционной системы установленной в этой же системе?

Ответ: Автоматического обновления не произойдет. Вам нужно будет перезаписать ссылки на ядра вручную. Один из путей решения этой задачи, создание символической ссылки на последнее ядро и initrd image (Стартовая корневая файловая система, которая монтируется в первую очередь. initrd входит в состав ядра, и загружается как его часть во время загрузки. Ядро монтирует initrd в первой части загрузочного процесса для последующей загрузки модулей и реальной корневой файловой системы.) с помощью vmlinuz и initrd с универсальными именами. Именно это реализовано в openSUSE, и позволяет вам сохранять статическим ваше GRUB меню. После обновления ядра, в изменениях нуждаются только символические ссылки. Изменять конфигурационные файлы GRUB не нужно.

Я не могу установить пользовательский фон в меню GRUB!

Ответ: Посмотрите раздел в скрипте debian_theme и установите значение параметра use_bg в true.

Июнь 2010, обновление:

GRUB 2 текущая версия 1.98 и это stable release (В версию STABLE попадают только протестированные разработки. Это гарантия того, что они останутся в системе и дальше. По мере работы, когда в STABLE накапливается довольно много изменений и есть гарантия стабильности, STABLE переводится в RELEASE. То есть, существуют моменты времени, когда STABLE и RELEASE полностью идентичны.). Имеется несколько небольших изменений в функциональности, но 99% того, что написано выше, все еще актуально.

GRUB 2 rescue CD (диск аварийного восстановления)

Если вы не используете Super Grub Disk (SGD) или live CD с Linux дистрибутивом, поддерживающим GRUB 2, тогда вы, наверное, хотите создать свой собственный CD диск, для восстановления GRUB 2 (rescue CD). Преимущество этой процедуры в том, что rescue CD будет иметь собственное меню GRUB.

Теперь, посмотрим как это сделать:

Вы можете использовать любое имя.

Ubuntu 9.10 and earlier:

После создания ISO образа, вы запишите его на CD. Затем протестируйте его, желательно на другой машине. Сделайте так, чтобы GRUB загрузился с CD, а не локального диска. Если вы используете имена файлов без указания полного пути, то ISO образ будет создан в текущей директории.

Целевой (тестовый) хост настройте на загрузку с CD, rescue CD загрузит командную строку GRUB. Убедитесь, что загрузка произошла действительно с CD, и он работает как ожидалось, и содержит ваше GRUB меню. Для этого выполните следующую команду:

Она выведет на экран ваше меню. Если вас устраивает результат, то держите этот диск под рукой на случай аварийных ситуаций. Помните, что нужно создавать новый ISO образ при каждом обновлении вашего GRUB меню.

Вы будете использовать rescue CD для загрузки нужной операционной системы и восстановления GRUB с помощью команды grub-install, как показано ранее. Rescue CD не будет работать, если вы удалите операционную систему или разделы, содержащие ее.

Есть также дискуссионные темы доступные на Ubuntu и wilderssecurity.com форумах, но они в основном касаются использования этих же команд и их вариаций в различных версиях Ubuntu.

Спасибо Ocky за этот совет!

Декабрь 2010, обновление:

Еще немного изменений. Здесь вы найдете их краткий обзор и дополнительную информацию.

Условные обозначения

Дополнительная информация для чтения

Также, добро пожаловать, на официальный форум Ubuntu в тему по GRUB2.

Декабрь 2011, обновление:

Несколько дополнительных изменений. Официальная версия GRUB 1.99 и в нее внесено несколько изменений. Прежде всего сделаны важные внешние изменения. В старых версиях ядра меню представлялось в виде цельного списка, теперь оно отображается подобно списку файлов в обособленной директории, что делает его более читабельным. Кроме этого, в Ubuntu меню стало отображаться с более высоким разрешением и более мелким размером шрифта. Теперь рассмотрим некоторые другие изменения.

Загрузка Xen ядера в мультизагрузочной конфигурации под управлением GRUB2

Отметьте, пожалуйста, если вы используете последовательную загрузку openSUSE с GRUB 2, то вам необходимо специально создать конфигурацию для Xen ядра, которая не должна быть автоматически добавлена с помощью скрипта OS probe. Посмотрите на отличие этой конфигурации от стандартных загрузочных блоков.

multiboot /boot/xen.gz
module /boot/vmlinuz-xen
module /boot/initrd-xen

Конечно, в ней приведены полные пути к вашим установкам, устройствам, и т.п. Здесь приведен скриншот файла меню, находящегося на моей тестовой машине:

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Поддержка Fedora 16 Verne

Fedora 16 также поддерживает GRUB2. Некоторые установки немного отличаются от систем базирующихся на Debian. Навигация в Fedora покажется вам немного более сложной после работы в GRUB 2 на Ubuntu и системах из его семейства. Поддержка GRUB2 в Fedora реализована не очень хорошо, так как она совсем недавно поддерживает GRUB 2, и, конечно, имеются ошибки в некоторых функциях.

Как обновить меню GRUB

Для обновления используйте следующую команду:

Команда создаст grub.cfg файл в соответствии с вашими скриптами из /etc/grub.d.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Изменение скрипта header (строка меню по умолчанию и время ожидания)

В Ubuntu изменить пункт меню по умолчанию и время ожидания очень просто. Но в Fedora это совсем не так. Редактирование файла 00_header является более сложным. Вы должны изменить функционал скрипта, чтобы получить то, что вам нужно.

Время ожидания задается функцией make_timeout(). Эта функция допускает два входных параметра: GRUB_TIMEOUT и GRUB_TIMEOUT_BUTTON, которые объявляются в начале скрипта 00_header.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

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

Функция make_timeout(), вы можете отредактировать ее объявление set timeout=$ <2>и сделать ее значение статическим. Скрипт проигнорирует входные параметры и будет использовать присвоенные вами значения. Например, вы хотите увеличить время ожидания с 5 секунд до 20 секунд.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

В этом случае измените скрипт следующим образом:

#set timeout=$<2>
set timeout=20

Вначале обязательно сделайте резервную копию! И не нужно ничего удалять, просто закомментируйте строки, которые вам не нужны. Этот метод позволит вам вернуть предыдущее состояние, если это потребуется.

После редактирования файла, вы должны заново собрать grub.cfg файл. После того как файл обновится, вы можете проверить правильно ли обрабатывается значение timeout из конфигурационного файла.

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

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

grub настройка меню загрузчика. Смотреть фото grub настройка меню загрузчика. Смотреть картинку grub настройка меню загрузчика. Картинка про grub настройка меню загрузчика. Фото grub настройка меню загрузчика

Дополнительная информация

Более подробную информацию можно получить на следующих онлайн страницах:

Если вы считаете, что есть необходимость в отдельном руководстве, по применению Fedora и GRUB2, то мы можем сделать его.

Июнь 2012, обновление:

Вышла официальная версия GRUB 2.00. GRUB 2 стал привлекательным во всех отношениях. Мы увидим главную release версию GRUB 2 в различных дистрибутивах уже к концу этого года. Для конечных пользователей изменения будут незаметны. Просто используйте это руководство и приятно проводите время.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *