Что такое GRUB?Принцип действия и для чего нужен

Mariia Kholodnitska 01.04.2020 3 1268 на прочтение 5 минут

 GRUB (GRand Unified Bootloader, главный унифицированный загрузчик) - является популярным загрузчиком ОС, сначала  был разработанный под операционную систему GNU/Hard и распространяется он под лицензией GNU GPL, в полностью свободном виде. Но сейчас используется как загрузчик для многих ОС, так как является универсальным инструментом ис обширным функционалом.

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

С помощью GRUB можно осуществлять установку любой ОС, которая подлежит под спецификацию Multiboot. Из их числа возможны для инсталляции такие операционные системы: Linux, OpenBSD, FreeBSD, Solaris, NetBSD. Также GRUB может работать с многочисленными ОС передавая по цепочке управление другому вторичному загрузчику,  это позволяет ему загружать даже Windows (через загрузчик NTLDR), MS-DOS, OS/2 и другие системы.

Работа с GRUB и корректировка  параметров системы идет через Menu GRUB, его можно видеть на скрине снизу.  В окне представлен список операционных систем или ядер, упорядоченный по имени. Определенную операционную систему или ядро ​​можно выбрать с помощью клавиш со стрелками. Если нужно загрузить альтернативный пункт меню без редактирования, просто нажмите клавишу “Enter”, чтобы продолжить.

Если  хотите отредактировать параметры перед загрузкой, нажмите “e” для редактирования или же “с” для перехода к командной строке. Окно с меню GRUB можно увидеть в stage 2, к ней еще вернемся.

menu grub

 

Особенности и преимущества GRUB как загрузчика

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

  1.  GRUB поддерживает большое количество ОС и файловых систем (среди них, ext2, FAT16 и FAT32, FFS, ReiserFS и д.р.). С GRUB Вы можете “видеть” содержимое файловой системы без загрузки операционной системы через командною строку.
  2.  В GRUB имеется возможность выполнить распаковку образа операционной системы перед ее инсталляцией.
  3.  GRUB является динамически конфигурируемым. Это определяет, то что пользователь может внести свои изменения в настройки GRUB во время загрузки. GRUB обеспечивает максимальную гибкость при загрузке операционных систем с необходимыми опциями, просто редактируя конфигурационный файл. Параметры загрузки, такие как параметры ядра, можно изменить с помощью командной строки GRUB.
  4.  GRUB поддерживает LBA ( это режим логической блочной адресации, где каждый блок имеет свой номер). Использования LBA позволяет GRUB загружать операционные системы с разделов, превышающих ограничение в 1024 цилиндра.
  5.  Запустить и установить GRUB также можно с различных устройств (например, с гибкого диска - дискеты, жесткого диска, CD- ROM привода, USB диска, сетевого диска и т.д.). 

 

Алгоритм работы для BIOS и UEF

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

Обе эти программы что BIOS, что UEFI являются ПО низкого уровня, которые запускаются при старте компьютера перед тем, как загрузится операционная система для проверки готовности системы, об этом еще поговорим ниже. Но UEFI – это относительно новое решение, которое пришло на смену BIOS и содержится в более современных машинах. Благодаря использованию разбивки на разделы GPT вместо обычной MBR, UEFI может поддерживать  жесткие диски большего объёма.

Во время старта машины, запускается сначала алгоритм Power-On Self Test для прохождения тестирования аппаратного обеспечения, после завершения проверки работоспособности системы BIOS/UEFI передает управление загрузчику для осуществления  настроек параметров ядра и выбора ОС.

Дальше идут отличия так как для систем с BIOS по окончанию POST, BIOS проводит поиск Master Boot Record, или MBR - главная загрузочная запись. MBR размещена в самом начале диска, если точнее, то она занимает первые его 512 байта, или же в разделе /dev/sda1(boot). Она содержит в себе данные, о том, какие логические и расширенные разделы есть на этом устройстве. Дальше GRUB  по умолчанию заменяет код MBR собственным кодом, этот этап процесса еще носит название stage 1.

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

UEFI в свою очередь использует совсем иной способ установки загрузчика. Здесь загрузчик не нужно никуда предварительно записывать, он является стандартным приложением EFI, которое помещено  на раздел EFI и там уже полностью успешно функционирует наряду с другими компонентами системы. То есть сразу запускается исполнение самой программы EFI вместо кода, расположенного в MBR.

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

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

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

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


Close Screen
Mariia Kholodnitska
Статей: 84
Оцените статью:


Спасибо за отзыв
Рейтинг: 5 из 5 Голосов: 4