GRUB/ru

GRUB2 — загрузчик с поддержкой современных компьютеров. Это значит, что он пришёл на смену GRUB (теперь известный как "GRUB Legacy"). GRUB2 имеет абсолютно новую, отдельную от GRUB Legacy, кодовую базу и включает в себя много новых возможностей, таких как новый, шелл-подобный синтаксис, который предоставляет расширенные возможности для написания скриптов. Пользователям GRUB Legacy рекомендуется перейти на GRUB2.

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

Установка
Пакет слоттирован. Это значит, что grub-0.97 (GRUB Legacy) и grub-2.00 могут быть установлены на одной машине, однако только один из них может быть установлен в MBR.

Предварительные требования
По умолчанию GRUB2 попытается угадать целевую платформу во время сборки. Это может быть переопределено с помощью переменной GRUB_PLATFORMS в.

Следующие платформы поддерживаются, в зависимости от целевого CPU:

Emerge
Чтобы установить GRUB2 используйте обычный для синтаксис:

Дополнительное программное обеспечение
Опционально, установите утилиту (она находится в пакете ), чтобы GRUB2 мог определять другие операционные системы при запуске. В большинстве случаев это даст GRUB2 возможность автоматически определять другие операционные системы (Windows 7, 8.1, 10 и так далее).

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

Конфигурация
Есть два важных аспекта в конфигурации GRUB2:


 * 1) установка GRUB2 в качестве загрузчика системы
 * 2) настройка самого GRUB2

Установка GRUB2 специфична для каждого типа системы и описана в разделе установка загрузчика. Сначала рассмотрим настройку самого загрузчика.

Главный конфигурационный файл
Скрипт используется для генерации grub конфигурации. Он использует скрипты из каталога и конфигурационный файл  для генерации  файла, который используется самим GRUB2.

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

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

Каждый раз, когда вызывается утилита, будет сгенерирована новая конфигурация.

Настройка параметров конфигурации
В основном, через следующие переменные из настраивают функциональность GRUB2:

Для более полного списка обратитесь к списку настроек GRUB2.

После изменения параметров пересоздайте файл настроек GRUB2 с помощью.

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

GRUB2 использует все установленные скрипты, которые помечены как выполняемые (по умолчанию, они все включены). Чтобы отключить любой из этих скриптов, просто удалите бит выполнения с скрипт-файла используя команду. В следующем примере все скрипты, кроме и, отключены:

После редактирования скриптов (или удаления бита выполнения), перегенерируйте конфигурационный файл GRUB2 используя.

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

Измените конфигурационный скрипт так:

или  это раздел в котором находится FreeBSD. В случаи использования обычной UFS инсталляции для раздела с FreeBSD, это контейнер (что-то вроде логического раздела). Он содержит swap и root разделы. Проверьте скрипт на возможность запуска, запустив. Если бит выполнения не установлен, установите его используя команду.

Далее, установите GRUB2 с помощью команды и обновите конфигурационный файл GRUB2:

Установка загрузчика
Установка GRUB2 в качестве системного загрузчика зависит от того, как система будет загружаться (через BIOS или UEFI) и как диск, на котором должен быть установлен загрузчик, был разбит до этого (использовалась схема MBR или GPT).

Эта статья описывает следующие ситуации:


 * BIOS и MBR
 * BIOS и GPT
 * UEFI и GPT

Выберите одну из инструкций подходящую для используемой системы.

BIOS и MBR
Удостоверьтесь, что существует - если для нее используется отдельный раздел, убедитесь, что он смонтирован:

Запустите команду, которая скопиру необходимые файлы в. На платформе PC также установится загрузочный образ в главную загрузочную запись (MBR) или в загрузочный сектор раздела. Если все пройдет успешно, после запуска, то следует ожидать примерно такой вывод как показано ниже:

В есть опция , которая позволяет установить архитектуру CPU и платформы. Если она не установлена, попытается угадать правильное значение; в системах / будет использоваться   по умолчанию. Также в есть опция , чтобы сообщить установщику GRUB2 в каком каталоге он должен искать загрузочные файлы GRUB2. Этот каталог по умолчанию, что может быть удобно при перемещении root-раздела.

Разбитие для BIOS и MBR
Убедитесь, что оставили достаточно место перед первым разделом. Если начать первый раздел с сектора 2048, останется, по крайней мере, 1 MiB дискового пространства для MBR. Рекомендуется (но не обязательно) создать дополнительный раздел для GRUB и назвать его BIOS boot partition. Этот раздел нужно просто создать, но, пока что, не форматировать. Он нужно только в том случае, если система позже будет мигрировать на схему разделов GPT. Если мигрирование не предполагается, для MBR этот раздел не требуется.

Если все делали по установочным инструкциям Gentoo, этот BIOS boot partition раздел уже был создан.

BIOS и GPT
Если необходим раздел, начните с монтирования раздела :

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

В есть опция , которая позволяет установить архитектуру CPU и платформы. Если она не установлена, попытается угадать правильное значение; в системах / будет использоваться   по умолчанию. Также в есть опция , чтобы сообщить установщику GRUB2 в каком каталоге он должен искать загрузочные файлы GRUB2. По умолчанию это каталог, что может быть удобно при перемещении root-раздела.

Разбитие для BIOS и GPT
В системе с GPT таблицей должен быть небольшой BIOS boot partition с типом файловой системы  (не путать с EFI System Partition (ESP) у которой тип файловой системы  ). 1 MiB должно быть достаточно для работы, но 2-4 MiB будет более безопасным вариантом. Этот BIOS boot раздел будет хранить в себе 2 стадию загрузчика. BIOS boot раздел не нужно форматировать в какую-либо файловую систему; команда перезапишет любую файловую систему на свою собственную.

To set a partition as a BIOS partition use the command-line tool  by typing (change   to the number of the partition to mark as a BIOS boot partition!):

With 's utility, this is accomplished by setting the partition type to   and giving it a label of.

An EFI System Partition is not required, but it would be sensible to make sure that the BIOS boot partition is large enough to be converted to one, should the system motherboard later be upgraded to an UEFI board.

The following is the output of pressing the key using the  utility on a GPT-partitioned disk with both a BIOS boot [0xEF02] partition and an EFI [0xEF00] partition:

При тех же настройках утилита дает вывод с немного другим синтаксисом:

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

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

UEFI и GPT
Удостоверьтесь, что существует - если для нее используется отдельный раздел, убедитесь, что он смонтирован:

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

Команда выше подразумевает, что vfat системный раздел EFI (EFI System Partition (ESP)) смонтирован в. Если ESP смонтирован непосредственно в, используйте.

В есть опция , которая позволяет установить архитектуру CPU и платформы. Если она не установлена, попытается угадать правильное значение; в системах AMD64 загруженных с помощью UEFI будет использоваться   по умолчанию. Также в есть опция , чтобы сообщить установщику GRUB2 в каком каталоге он должен искать загрузочные файлы GRUB2. Этот каталог по умолчанию, что может быть удобно при перемещении root-раздела.

Разбитие для UEFI и GPT
For UEFI GPT boot using GRUB2, the system must have a dedicated EFI partition containing a FAT filesystem.

The EFI partition can replace having a partition on  by having a  partition on. This is to say a successful UEFI boot scenario using GRUB2 can operate with two partitions total (three total if a swap partition is needed): a root partition and an EFI partition. Using this configuration, the folder will be located in the root  partition (at ) and the EFI partition will mount in the boot folder (at ). For further clarification, see the example file below.

Generating a 100MB partition for should provide plenty of space for holding multiple  files (multiple entries will most likely not be needed; most systems will only use one).

Create the partition using the partitioning tool of choice. The  and   tools fit nicely for this purpose. When using the utility, be sure to use type.

Proceed to create a FAT filesystem on the EFI system partition using and add it to  by following the example below:

Alternative: using the default UEFI firmware location
If the system's UEFI firmware fails to find GRUB2's EFI bootloader file, using the default boot loader location should provide a working solution. This circumvents the boot menu managed by efibootmgr and thus offers reduced functionality, but is less error prone. To do this, verify the EFI partition is mounted at then copy the file  located at  to. This example assumes a 64-bit UEFI system, adjust accordingly for 32-bit UEFI systems.

Расширенные возможности
В GRUB2 есть много возможностей, которые делают GRUB2 очень мощным загрузчиком. Он поддерживает:


 * Booting from UEFI platforms.
 * Booting from GPT partitioned drives without needing a hybrid MBR (hybrid MBR can enabled as needed for compatibility or portability).
 * Booting from a btrfs formatted partition.
 * Booting directly from a btrfs raid set without needing an initramfs for early mount setup.
 * Booting directly from logical volume management (such as LVM2).
 * Booting with support for DM-RAID (RAID 0, 1, 4, 5, 6, 9 and 10).
 * Booting from encrypted devices (LUKS).

Некоторые возможности будут рассмотрены более детально дальше.

Chainloading
GRUB2 была улучшена поддержка режима chainload по сравнению с GRUB Legacy. Чтобы загрузить другой загрузчик с помощью chainloader используйте опцию.

Для более подробной информации о chainloading, пожалуйста, смотрите статью Chainloading.

Использование фрейбуфера
To have GRUB2 use a framebuffer graphical display, re-emerge GRUB with the  USE flag enabled. This will install a default True Type font as well as a font conversion utility.

Приступим к конфигурации конфигурационного файла по умолчанию GRUB2, который расположен в. Например:

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

Устранение проблем
Most of the issues can be resolved by ensuring that the partition layout is correct. Make sure enough space is available before the first partition of the disk, or optionally make sure that a BIOS boot partition is available. Also verify that was correctly generated with, or generate one with a custom menu entry.

For more GRUB2 troubleshooting, please refer to the Troubleshooting sub-article.

Смотрите также
There are a few specific GRUB2 resources available:


 * In Chainloading the use of GRUB2 to boot other boot loaders is described. This is important to read when dual-booting systems, or when GRUB2 needs to be configured to boot ISO files.
 * In Advanced storage the necessary steps are documented on how to install and use GRUB2 on more advanced storage situations, such as software RAID, logical volumes or encrypted file systems.
 * In Configuration variables an exhaustive list of GRUB2 configuration variables, as used by, is documented.
 * In Troubleshooting a list of common GRUB2 errors (with their solutions) is presented.
 * In Hybrid partition table the use of a mixed MBR/GPT setup is documented, as well as how to use such hybrid partition layout with GRUB2.

Внешние ресурсы
Для большей информации смотрите:


 * GNU GRUB 2 manual page
 * Network (PXE) section of GRUB2
 * Legacy BIOS issues with GPT article
 * GPT and Hybrid MBR article
 * GPT fdisk utility page
 * Arch Linux GRUB2 wiki article
 * Fedora GRUB2 wiki article : Encountering the dreaded GRUB2 boot prompt
 * ubuntu UEFI booting help
 * http://unix.stackexchange.com/questions/109272/dualboot-freebsd-gentoo-with-grub2-mbr
 * A blog post entry on locking specific GRUB2 boot entries with a password