Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Статьи об операционной системе Linux

Сайдбар

Грандиозный унифицированный системный загрузчик (GRUB)

26 февр. 2014

Грандиозный унифицированный системный загрузчик (кратко — GRUB) — это маленькая программа, считывающая данные ядра Linux при запуске компьютера, помещающая их в оперативную память и выполняющая команды. Наиболее распространенная версия имеет необычное название «GRUB 0.9n legacy». Добавка «legacy» указывает на то, что активная разработка этой версии прекращена, кроме того, данная версия уже не поддерживается (централизованно). Правда, во многих дистрибутивах GRUB неоднократно дорабатывалась по усмотрению производителей; в результате некоторые функции GRUB отличаются от дистрибутива к дистрибутиву!

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


Официальная документация по GRUB выдается по запросу справочной командой info grub. Более подробная информация содержится на официальной странице GRUB: www.gnu.org/software/grub/.

Особенности загрузки системы



BIOS.

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

Затем BIOS загружает содержимое первого сектора первого жесткого диска в оперативную память и выполняет этот код. Этот специальный раздел жесткого диска называется основной загрузочной записью (MBR).

Загрузчик Windows.

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

Загрузчик Linux.

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

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

Основная загрузочная запись имеет размер всего 512 Мбайт, поэтому загрузчик не сможет полностью поместиться в MBR. Чтобы можно было обойти это ограничение, MBR может вместить ровно такой фрагмент кода, который позволит вам запустить оставшуюся часть загрузчика уже с жесткого диска. Соответственно, код GRUB подразделяется на две или три части: stage1 находится в основной загрузочной записи и предназначена для того, чтобы загрузить первые сектора части stagel_5 или stage2. В части stagel_5 содержится дополнительный код, обеспечивающий доступ к файлам различных файловых систем. Наконец, в stage2 содержится сам загрузчик.

Когда запустится загрузчик, появится меню, в котором будут на выбор представлены все операционные системы, определенные в процессе конфигурации GRUB (обычно это Windows и Linux). Теперь с помощью клавиш для управления курсором можно выбрать интересующую вас операционную систему и запустить ее, нажав Enter. Часто GRUB настроен так, чтобы по истечении определенного промежутка времени операционная система загружалась автоматически.

ВНИМАНИЕ



На жестком диске всегда есть только одна основная загрузочная запись, но может быть несколько операционных систем. При установке как Linux, так и Windows MBR перезаписывается. Если GRUB настроен так, что программа может запускать и Windows, то эта операционная система, к сожалению, не учитывает, что на компьютере кроме нее есть еще и Linux. Поэтому после установки Windows вам потребуется откорректировать GRUB, а для этого лучше всего использовать живой диск или систему-реаниматор. Сначала устанавливайте Windows, а потом Linux! К сожалению, и при установке GRUB не исключены ошибки (но, к счастью, они очень редки). В особо тяжелом случае вы не сможете запустить ни одну из операционных систем.

Запуск Linux.

Если вы определяете в загрузчике, что необходимо запустить Linux, то загрузчик должен поместить в оперативную память файл ядра Linux и запустить этот файл. Обычно файл ядра Linux называется /boot/vmlinuz (последняя буква z указывает на то, что ядро заархивировано). Иными словами, загрузчик должен быть в состоянии загрузить из файловой системы весь указанный файл.

Параметры ядра.

Обычно ядру сообщается несколько параметров, но как минимум один: имя устройства системного раздела (например, root=/dev/sdbl3). Это делается для того, чтобы ядро «знало», какой из разделов является системным. Когда ядро запустится, управление будет передано программе Linux /sbin/init, отвечающей за инициализацию системы Linux.

Доступ к модулям ядра.

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

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

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

Обычно файл Initrd называется /boot/initrd или /boot/initrd.gz. В большинстве дистрибутивов имеются инструменты, позволяющие создать такой файл Initrd, который бы подошел к применяемому аппаратному обеспечению и к файловой системе, находящейся в системном разделе (команда mkinitrd).

Установка и конфигурация GRUB



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

При конфигурации GRUB необходимо настроить файл /boot/grub/menu.lst так, чтобы можно было запустить любую операционную систему из тех, что установлены на компьютере. По умолчанию GRUB обращается к этому файлу.

EFI.

Уже несколько лет Intel и некоторые производители материнских плат и компьютеров пытаются продвигать расширяемый интерфейс встроенного ПО (кратко — EFI) как новую альтернативу BIOS. Современные версии Linux и Windows уже совместимы с EFI.

К сожалению, EFI пока не распространен в мире ПК, поэтому мы не будем рассматривать его более подробно. Только Apple использует EFI уже несколько лет. Если вы хотите параллельно установить на компьютере Apple Mac OS X и Linux, посмотрите следующий сайт: wiki.onmac.net/index.php/Triple_Boot_via_BootCamp.

Обратите внимание, что версия GRUB 0.97 legacy не совместима с EFI. В GRUB 2, напротив, существует версия как для BIOS (пакет grub-pc), так и для EFI (пакет grub-efi).
Читайте так же:
Работа с GRUB

Никакого спама, только обновления!!!

Комментарии (0)


    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать