Настройка и устранение неполадок Grand Unified Bootloader (GRUB) -- LFCS часть 13

Настройка и устранение неполадок Grand Unified Bootloader (GRUB) — LFCS часть 13

Рубрики:

LFCS

Метки:

, , , ,

Сегодня расскажем, как осуществляется настройка и устранение неполадок Grand Unified Bootloader (GRUB). Из-за недавних изменений в сертификационных экзаменах LFCS, мы добавляем необходимые темы в опубликованную здесь LFCS-серию статей. Чтобы подготовиться к этому экзамену, вам настоятельно рекомендуется прочитать всю серию статей LFCS до конца.

В этой статье мы познакомим вас с Grand Unified Bootloader (GRUB) и объясним, зачем нужен загрузчик и как он позволяет пользователю иметь несколько установленных операционных систем.

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

  • Процесс, известный как POST (Self-On Self Test), выполняет общую проверку аппаратных компонентов вашего компьютера.
  • Когда POST завершает работу, он передает управление загрузчику, который, в свою очередь, загружает ядро ​​Linux в память (вместе с initramfs) и запускает его. Самым популярным загрузчиком в Linux является GRAND Unified Boot Loader, или GRUB для краткости.
  • Ядро проверяет и обращается к аппаратным средствам, а затем запускает начальный процесс (известный как — «init»), который, в свою очередь, завершает загрузку системы, запустив службы.

В 7 части этой серии («SysVinit, Upstart и Systemd») мы объяснили, как управлять процессами и службами запуска системы Linux. Вы можете прочитать эту статью, прежде чем продолжить.

 

 

Знакомство с загрузчиком Grand Unified Bootloader (GRUB)

Две основные версии GRUB (v1, иногда называемые GRUB Legacy и v2) можно найти в современных системах, хотя большинство дистрибутивов по умолчанию используют v2 в своих последних версиях. Только Red Hat Enterprise Linux 6 и ее производные все еще используют v1 по сегодняшний день.

Таким образом, в этом руководстве, мы сфокусируемся прежде всего на особенностях v2.

Независимо от версии GRUB, загрузчик позволяет пользователю:

  • Изменить способ поведения системы, указав разные используемые ядра;
  • Выбирать между альтернативными операционными системами для загрузки, добавлять или редактировать настройки, чтобы изменить параметры загрузки;
  • Сегодня GRUB поддерживается проектом GNU и хорошо документирован на их веб-сайте. При использовании этого руководства вам рекомендуется использовать официальную документацию GNU.

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

Настройка и устранение неполадок Grand Unified Bootloader (GRUB) -- LFCS часть 13

 

Конфигурация Grand Unified Bootloader (GRUB) v2 начинается при загрузке из /boot/grub/grub.cfg или /boot/grub2/grub.cfg, тогда как /boot/grub/grub.conf или /boot/grub/menu.lst используются в v1. Эти файлы НЕ редактируются вручную, но изменяются на основе содержимого /etc/default/grub и файлов, найденных внутри /etc/grub.d.

В CentOS 7 при первой установке системы создается вот такой конфигурационный файл:

 

В дополнение к онлайн-документации вы также можете найти руководство GNU GRUB, используя следующую команду:

 

Если вам интересны опции, доступные для /etc/default/grub, вы можете напрямую вызвать раздел конфигурации:

 

Используя приведенную выше команду, вы обнаружите, что GRUB_TIMEOUT устанавливает время между моментом появления начального экрана и началом автоматической загрузки системы. Если для этой переменной установлено значение -1, загрузка не будет запущена до тех пор, пока пользователь не сделает выбор.

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

В CentOS и openSUSE:

 

В Ubuntu:

 

В примере, показанном на рисунке ниже, если мы хотим загрузить ядро версии 3.10.0-123.el7.x86_64 (4-я запись), нам нужно установить GRUB_DEFAULT в 3 (записи пронумерованы с нуля) следующим образом :

 

Boot-System-with-Old-Kernel-Version

 

Одна конечная конфигурация Grand Unified Bootloader (GRUB), представляющая особый интерес, — GRUB_CMDLINE_LINUX, которая используется для передачи параметров ядру. Параметры, которые могут быть переданы через GRUB в ядро, хорошо документированы в файле параметров ядра и в man 7 bootparam.

Текущие параметры на нашем сервере CentOS 7:

 

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

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

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

 

После редактирования /etc/defalt/grub вам нужно будет запустить update-grub (Ubuntu) или grub2-mkconfig -o /boot/grub2/grub.cfg (CentOS и openSUSE), чтобы обновить grub.cfg (в противном случае изменения могут быть потерянными при загрузке).

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

 

 

Исправление проблем Linux GRUB

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

На начальном экране нажмите c, чтобы получить командную строку GRUB (помните, что вы также можете нажать e, чтобы изменить параметры загрузки по умолчанию), и используйте справку для вывода доступных команд в приглашении GRUB:

Настройка и устранение неполадок Grand Unified Bootloader (GRUB) -- LFCS часть 13

 

Мы сосредоточимся на ls, в котором будут перечислены установленные устройства и файловые системы, и рассмотрим, что он найдет. На изображении ниже мы видим, что есть 4 жестких диска (от hd0 до hd3).

Кажется, что только hd0 был разделен (о чем свидетельствуют msdos1 и msdos2, где 1 и 2 — номера разделов, а msdos — схема разбиения).

Теперь рассмотрим первый раздел на hd0 (msdos1), чтобы увидеть, можно ли найти там GRUB. Такой подход позволит нам загружать Linux и использовать другие инструменты высокого уровня для восстановления файла конфигурации или вообще для переустановки GRUB, если это потребуется:

 

Как мы видим, мы нашли каталог grub2 в этом разделе:

Find-Grub-Configuration

 

Удостоверившись, что GRUB находится в hd0, msdos1, сообщите GRUB, где найти его файл конфигурации, а затем поручите ему запустить меню:

 

Настройка и устранение неполадок Grand Unified Bootloader (GRUB) -- LFCS часть 13

 

Затем в меню GRUB выберите «Вход» и нажмите «Ввод», чтобы загрузить систему. После загрузки системы вы можете выполнить команду grub2-install /dev/sdX (смените sdX на устройство, на которое вы хотите установить GRUB). Затем загрузочная информация будет обновлена ​​и все связанные файлы будут восстановлены.

 

Другие более сложные сценарии документируются вместе с исправлениями в руководстве по устранению неполадок Ubuntu GRUB2.

 

 

Итоги

В этой статье мы познакомили вас с GRUB, рассказав, где вы можете найти документацию (как в Интернете, так и в автономном режиме) и объяснили подход к сценарию в случае, если система перестала правильно загружаться из-за проблемы с загрузчиком.

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

 

Спасибо за уделенное время на прочтение статьи!

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

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасностиполный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

 

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

LFCS

Метки:

, , , ,

Больше похожих постов

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню