Как сделать загрузку windows первой в grub

Что за жалобы про BIOS Boot Partition?[править]

При загрузке под PC BIOS используется MBR и небольшая свободная область диска после него (31 килобайт до 63-го сектора) — соответственно первая стадия и core.img; при использовании UEFI ожидается GPT-разбивка загрузочного диска, при которой нет ни MBR, ни этой области. Отсюда возникает необходимость встроить вторую стадию загрузчика куда-то ещё. Таким местом и решили взять определённый в GPT тип раздела BIOS Boot Partition.

Инструмент разбивки дисков в составе инсталятора ALT Linux сделает такой раздел автоматически под UEFI, если разбиваете вручную или большой диск для BIOS — может потребоваться создать раздел минимального объёма (RED Hat рекомендует 1 мегабайт) с типом «bios boot partition» в терминологии alterator-vm либо меткой «bios_grub» в терминологии parted.

Установка Grub на флешку

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

И создать конфигурационный файл:

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

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

Второе, что важно заметить, фшелку желательно отформатировать в файловую систему fat32. Это важно, чтобы там можно было разместить файлы Grub. Потому что если флешка будет форматирована в NTFS, то ничего не выйдет, а в ext4 — то вы не сможете подключить ее в Windows и использовать для обмена файлами.

Далее подключите флешку в какую-нибудь папку, например, mnt:

Имя устройства /dev/sdb1 — это адрес первого раздела на вашей флешке. Обычно там есть только один раздел, так и должно быть. Если больше, то берите первый. А имя флешки может отличаться — sdb, sdc, sdd или другие. Смотрите как флешка называется у вас с помощью fdisk:

Когда устройство подключено мы можем перейти к установке загрузчика:

Здесь мы указываем параметр —root-directory, это та папка, которая будет считаться корнем системы, и откуда будут браться файлы загрузчика при старте. Установщик автоматически скопирует их туда. Устройство /dev/sdc — ваша флешка. После того, как установка будет завершена, можно перейти к настройке пунктов меню. Забегая наперед, если эта команда не работает, используйте опцию —boot-directory вместе с —root-directory, разные версии Grub работают по разному:

Теперь нужно создать конфигурационный файл. Если вы используете grub-mkconfig, то получите такое же меню, как в вашей основной системе. Меня это вполне устраивает, только укажите правильное расположение файла, в папке /mnt:

Теперь нам осталось протестировать как все работает. Для этого лучше использовать qemu:

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

Активация загрузчика GRUB2

Если необходимо, монтируем /boot:

Если используется EFI платформа, убедитесь, что системный раздел EFI доступен в (смонтирован) в /boot/efi. Этого можно добиться либо с помощью специального раздела (/boot/efi отформатированного в FAT), либо раздел /boot должен быть полностью отформатирован в файловую систему FAT. Это преобразует /boot в большой системный раздел EFI

Предполагая, что только /boot/efi форматирован в FAT:

Запустите утилиту grub-install для копирования нужных файлов в /boot/grub. На платформе PC данная утилита также записывает начальный загрузчик в главную загрузочную область (MBR) или загрузочный сектор раздела.

Для установки GRUB2 в MBR:

Installation finished. No error reported.

Установка GRUB2 на EFI совместимую систему:

Installation finished. No error reported.

ВажноЕсли установка GRUB2 на EFI совместимую систему (как в примере выше) выдаёт ошибку, проверьте правильность выставленной переменной GRUB_PLATFORMS в /etc/portage/make.conf

Утилита grub-install может принимать параметр для определения ЦПУ/платформы, на которую, grub2 устанавливается. Если данный параметр не задан, то grub-install сам попытается определить параметр. На x86/amd64 будет использован параметр по умолчанию.

Что такое GRUB?

Загрузчик или менеджер загрузки

Я не хочу запутать вас на этом этапе, но эта тема нуждается в разъяснении перед тем, как мы продолжим. Разница между менеджером загрузки и загрузчиком весьма размыта.

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

Ядро Linux версии 3.3 включает в себя встроенный загрузчик EFI. Фактически, любая операционная система, способная работать с EFI включает в себя загрузчик EFI. В системах с поддержкой EFI системная прошивка считывает системный раздел EFI (ESP) для обнаружения файлов EFI на загрузочном разделе.

GRUB — это одновременно загрузчик и менеджер загрузки. Через секунду я вернусь к GRUB. Сначала давайте взглянем на другие GRUB — подобные программы.

Примечание: GRUB — это аббревиатура для GRand Unified Bootloader (большой объединённый загрузчик).

2. Какие существуют загрузчики, похожие на GRUB?

GRUB — наиболее популярный загрузчик для Linux. Но не единственный. Есть ещё менеджер загрузки rEFInd, который нравится некоторым пользователям Linux.

Персонализированный экран менеджера загрузки rEFInd

Существует также текстовый менеджер загрузки systemd-boot . Вы можете догадаться, что он предназначен только для дистрибутивов, основанных на systemd. Некоторые дистрибутивы, как Pop OS, используют systemd-boot.

systemd-boot в Pop OS

Про другие загрузчики читайте в статье Лучшие загрузчики для Linux.

3. Доступ к опциям и настройкам GRUB

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

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

Вы также можете войти в командную строку GRUB используя кнопку C в меню GRUB.

4. Файл настроек GRUB

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

Стандартный файл настроек GRUB находится в /etc/default/grub. Также есть папка /etc/default/grub.d. Вы можете редактировать файл /etc/default/grub напрямую, однако рекомендуется сохранять дополнительные изменения в вышеуказанной папке.

Стандартный файл настроек GRUB

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

5. GRUB customizer для лёгкой настройки GRUB

Если редактирование файла текстовым редактором в терминале — не то, что вам нравится, то вы можете использовать графическую утилиту, называющуюся GRUB Customizer. Она позволяет вам менять порядок загрузки, задержку загрузки и т.п. Вы также можете изменить фон GRUB на обои по своему усмотрению.

GRUB Customizer может быть установлен в Ubuntu 20.04 из репозитория Universe и через PPA в Ubuntu 18.04. Он также доступен через AUR в дистрибутивах, основанных на Arch Linux. Подробнее про использование Grub Customizer рассказано в этой статье.

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

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

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

  • load_env — загрузить переменные окружения из файла;
  • set — установить значение переменной окружения. Используется как set имя_переменной=значение;
  • insmod — загрузить модуль из папки с модулями Grub;
  • linux — загружает ядро Linux;
  • initrd — подготавливает образ initrd для загрузки ядра;
  • boot — пытается загрузить систему;
  • chainloader — запускает загрузчик из другого раздела;
  • search — установить значение переменной выполнив поиск по заданным параметрам, например, может найти диск по его UUID или метке;
  • menuentry — позволяет создать пункт меню;

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

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

$ search опции_поиска —set=имя_переменной —hint приметы_устройства основной_параметр

  • Опции поиска задают по какому критерию нужно искать, например, —fs-uuid — искать по UUID, —label — по метке, —no-floppy — не искать в схемных носителях.
  • Приметы устройства дают программе дополнительные подсказки для более быстрого поиска;
  • Основной параметр — значение, по которому будем выполнять поиск.

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

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

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

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

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

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

set timeout=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 — это хорошо, но также важно понимать как все работает на низком уровне

Альтернатива 2: efibootmgr

На UEFI-системах, с прошивкой UEFI (другими словами, основным загрузчиком), можно напрямую управлять загрузочными записями UEFI. Таким системам не требуется дополнительный (также известный как вторичный) загрузчик, такой как GRUB2, который помогает загрузить систему. Учитывая сказанное, использование дополнительного EFI-загрузчика типа GRUB2 имеет смысл лишь в том, чтобы расширить функциональность UEFI во время загрузки. Использование efibootmgr подойдёт больше для тех, кто хочет получить больше минимализма (хотя это сложнее) при загрузке системы; использование GRUB2 проще для большинства пользователей, так как он предлагает более гибкий подход для загрузки UEFI-систем.

Перед тем, как продолжить, обязательно прочитайте всю статью EFI stub kernel. В ядре должны быть включены определенные параметр, чтобы ядро могло загрузится напрямую с системной прошивкой UEFI. Это может потребовать пересборки ядра. Также взгляните на статью efibootmgr.

ЗаметкаПовторим еще раз, efibootmgr не является обязательным требованием для загрузки из UEFI. Ядро Linux может загружаться сразу же, а дополнительные параметры ядра могут быть встроены в само ядра (в конфигурации ядра есть параметр, который позволяет пользователю определить параметры загрузки). Даже initramfs может быть встроен в ядро.

Тем, кто решил применить такой подход, необходимо установить программное обеспечение:

Создайте каталог /boot/efi/boot/ и затем скопируйте в него ядро, назвав его bootx64.efi:

Далее, сообщите прошивке UEFI создать загрузочную запись и называть её «Gentoo», в которой будет свежее ядро с EFI stub:

Если используется файловая система инициализации, размещаемая в оперативной памяти (initramfs), добавьте соответствующий загрузочный параметр:

ЗаметкаСимвол \, применяемый для разделения каталогов, является обязательным при использовании определений UEFI.

После внесения изменений и перезагрузки системы появится загрузочная запись под именем «Gentoo».

Восстановление Grub2 с помощью LiveCD

В этой статье мы рассмотрим, как выполняется восстановление Grub2 обоими способами. Начнем с более простого способа — с помощью LiveCD. Хотя и статья ориентирована на Linux Mint, но на самом деле подойдет абсолютно для любого дистрибутива, потому что во всех дистрибутивах загрузчик один и тот же, и команды такие же, только версии могут немного отличаться.

Начнем с того, что вам нужна LiveCD система, той же разрядности, что и ваша система Linux Mint, на которую был установлен Grub

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

А нужны нам только утилиты fdisk, mount и chroot. Чтобы восстановить загрузчик grub2 просто следуйте описанным ниже шагам.

Шаг 1. Загрузка LiveCD

Сначала вставьте носитель с LiveCD системой в дисковод или порт USB, если это флешка. Для загрузки с носителя, возможно, вам сначала понадобится зайти в меню BIOS и выставить приоритет загрузки с внешнего устройства.

Для запуска BIOS нажмите Del, F2, F8 или Shift +F2. В открывшимся меню найдите раздел Boot, и в пункте Boot Device Priority или 1st Boot Device или Boot Option #1 выберите нужное устройство:

Дальше перейдите на вкладку Exit и выберите Exit & Save settings. Дальше начнется загрузка образа.

Шаг 2. Определение разделов

Перед тем как восстановить Grub2, нам нужно понять — на каком разделе установлена система, и на каком разделе были или должны быть файлы загрузчика. Самый простой способ это сделать — воспользоваться утилитой fdisk.

В выводе программы вы видите — разделы всех подключённых к компьютеру дисков, их размер, а также файловую систему. По этим данным вам и предстоит понять, какой раздел используется в качестве корня в вашей системе. Если вы делали разметку вручную, вам не составит труда понять где то, что нужно. Например, у меня корень — /dev/nvme0n1p5 — размером 37 гигабайт, а для загрузчика отдельный раздел не выделялся. Но обычно он тоже имеет файловую систему ext4 ил ext2, а размер до 500 мегабайт. В случае с обычным SSD или HDD диском имя раздела будет начинаться с /dev/sd*. Например: /dev/sda или /dev/sdb и так далее

Шаг 3. Монтирование файловой системы

Теперь вам предстоит смонтировать вашу корневую файловую систему в каталог /mnt:

Кроме того нужно смонтировать раздел boot. Например, если бы он у меня находился по адресу /dev/nvme0n1p1:

Шаг 4. Подготовка к входу в систему

Чтобы восстановить загрузчик Linux мы будем использовать вашу основную систему Linux, запущенную на ядре от LiveCD. Такую возможность предоставляет команда chroot. Но перед тем, как ее использовать нужно вручную подключить к вашей корневой ФС, смонтированной в /mnt все необходимые файловые системы взаимодействия с ядром — /dev, /sys, /proc:

Шаг 5. Вход в окружение системы

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

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

Затем выполните эти команды для загрузки и обновления переменных профиля:

Теперь вы находитесь в Linux Mint, и можете выполнять почти все его программы, разумеется, недоступны сервисы, поскольку во время загрузки не использовалась система инициализации, а также как следствие, недоступно графическое окружение.

Шаг 6. Восстановление Grub2

Теперь восстановление Grub в Linux Mint. Просто выполните следующие команды. Первая, для переустановки загрузчика на жесткий диск:

Здесь /dev/sd* — имя вашего жесткого диска.

Теперь создадим новый конфигурационный файл:

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

Еще можно использовать команду:

Но она работает только в Ubuntu и основанных на ней дистрибутивах.

mdadm

При использовании mdadm нужно помнить, что после установки, при первом запуске нужно выполнить настройку пакета

dpkg-reconfigure grub-pc

а если система с EFI, то:

dpkg-reconfigure grub-efi-amd64

и выбрать устройства, на которых будет установлен :

Пример

Пример

 ┌─────────────────────────────────────────────────┤ Настраивается пакет grub-pc ├─────────────────────────────────────────────────┐
 │ Выполняется обновление пакета grub-pc. Это меню позволяет вам выбрать устройства, для которых нужно автоматически запустить     │
 │ grub-install.                                                                                                                   │
 │                                                                                                                                 │
 │ В большинстве случаев рекомендуется выполнять автоматический запуск grub-install, так как это синхронизирует основной образ     │
 │ GRUB с модулями GRUB и grub.cfg.                                                                                                │
 │                                                                                                                                 │
 │ Если вы не знаете какое устройство указано в BIOS для загрузки, часто лучше всего установить GRUB на все устройства.            │
 │                                                                                                                                 │
 │ Замечание: также возможно установить GRUB в загрузочную запись раздела, и здесь предлагаются соответствующие разделы. Однако,   │
 │ это включает в GRUB использование механизма блок-листа, при котором уменьшается надёжность, и поэтому это не рекомендуется.     │
 │                                                                                                                                 │
 │ Устройства, на которые устанавливается GRUB:                                                                                    │
 │                                                                                                                                 │
 │     /dev/md0 (199914 МБ; srv:0)                                                                                              │
 │     /dev/md1 (4000650 МБ; srv:1)                                                                                             │
 │     /dev/md2 (4000650 МБ; srv:2)                                                                                             │
 │     /dev/sda (200049 МБ; INTEL_SSDSC2BX200G4)                                                                                │
 │     /dev/sdb (200049 МБ; INTEL_SSDSC2BX200G4)                                                                                │
 │     /dev/sdc (4000787 МБ; TOSHIBA_MG04ACA400E)                                                                               │
 │     /dev/sdd (4000787 МБ; TOSHIBA_MG04ACA400E)                                                                               │
 │     /dev/sde (4000787 МБ; TOSHIBA_MG04ACA400E)                                                                               │
 │     /dev/sdf (4000787 МБ; TOSHIBA_MG04ACA400E)                                                                               │
 │     /dev/dm-0 (39996 МБ; srv-root)                                                                                           │
 │                                                                                                                                 │
 │                                                                                                                                 │
 │                                                             <Ok>                                                                │
 │                                                                                                                                 │
 └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Установка GRUB UEFI GPT

Если же такого раздела нет, мы можем его создать с помощью gparted. Для этого создаем раздел с такими параметрами:

Размер 100 Мегабайт, имя раздела ESP, файловая система fat32. Дальше примените изменения и установите для раздела флаг ESP:

То же самое вы можете сделать в Gdisk, только на этот раз нужно устанавливать HEX Code раздела ef00. После того как раздел был создан, подключаем его к нашей файловой системе:

sudo mkdir /boot/efi $ sudo mount /dev/sda2 /boot/efi

Здесь /dev/sda2 — это наш EFI раздел. Далее необходимо установить нужные пакеты, если они еще не установлены. В Ubuntu это будет выглядеть вот так:

sudo apt install grub-efi efibootmgr

Дальше останется только установка grub efi. Система сама определит нужный раздел и скопирует туда все файлы:

Установка Grub efi на MBR все выглядит точно так же, только тут есть несколько ограничений. Раздел ESP нужно создавать только в начале диска. В режиме EFI тоже можно установить GRUB на флешку, и это не очень сложно. Для этого используется команда:

grub-install —boot-directory=/mnt/sdb2/boot —efi-directory=/mnt/sdb1 —target=x86_64-efi —removable

Рассмотрим опции: —boot-directory — задает папку с файлами загрузчика на флешке, —efi-directory — папка куда смонтирован раздел efi, —target — архитектура целевой системы и —removable говорит, что это установка на съемный носитель. С UEFI все. После перезагрузки и выбора в меню EFI пункта связанного с Grub, вы получите доступ к привычному меню grub и сможете выбрать нужный параметр.

Восстановление Grub2 без LiveCD

В некоторых случаях повреждения Grub не вызывает полную невозможность загрузки. Например, когда загрузочный код в MBR цел, но программа не может получить доступ к файлам на диске. Тогда загрузчик открывает вместо меню некое подобие терминала с сообщением: Minimal BASH like line editing is supported. С помощью этого терминала мы можем попытаться загрузить систему. Восстановление grub2 без LiveCD не такая уж и сложная задача, хотя, это сложнее, чем первый способ.

Все что вам потребуется — это знать на каком устройстве расположена система и само ядро Linux. Синтаксис и команды очень похожи на обычные команды bash, но немного отличаются по назначению. В начальном режиме восстановления доступны только несколько команд это ls, insmod, set и unset.

Чтобы посмотреть список подключенных к компьютеру дисков просто выполните:

Важно отметить, что в grub диски и разделы именуются немного по другому. Здесь каждый жесткий диск имеет название hd и номер диска, например, hd0 или hd1

Разделы именуются начиная с единицы.

Вы можете работать только с одним разделом в определенный момент. Чтобы установить раздел, с которым нужно работать, нужно указать его в переменной root. Для установки переменных окружения используется команда set. Например, у если у меня файлы загрузчика grub находятся на /dev/sdc2, то получится hd2,2:

Загрузим нормальную оболочку grub:

После этого можно найти и запустить ядро. Для этого используйте команду linux. Обычно ядро находится папке /boot:

И наконец загружаемся:

Теперь, когда система загрузится, вам останется только открыть терминал, и выполнить следующие команды,  чтобы завершить восстановление загрузчика linux mint:

Где sd* — имя вашего диска, на котором установлена система

Обратите внимание, что нужно именно имя диска, а не раздела, никакие цифры добавлять не надо. Вот и все

По умолчанию: GRUB2

Ранее в Gentoo Linux в качестве рекомендуемого загрузчика использовалось то, что теперь называется GRUB Legacy. Но, как следует из названия, старый пакет GRUB больше не поддерживается и был заменён на GRUB2. Для получения более подробной информации о GRUB Legacy, пожалуйста, обратитесь к статье GRUB.

Emerge

Если используется старая материнская плата, BIOS которой поддерживает только таблицу разделов MBR, для установки GRUB не нужно никаких дополнительных настроек:

Заметка для пользователей UEFI: запущенная команда выведет включенные значения в переменной GRUB_PLATFORMS, перед компиляцией. Если используется более новая UEFI-совместимая материнская плата, пользователям сперва нужно убедиться, что включено (обычно это уже сделано по умолчанию). Если это не так, добавьте в файл /etc/portage/make.conf до компиляции GRUB2, что позволит собрать пакет с поддержкой EFI:

Если GRUB2 был каким-то образом был установлен до включения , то добавьте строку (из примера выше) в make.conf, после чего повторно переопределите зависимости для для набора пакетов world с помощью emerge :

GRUB2 теперь установлен в системе, но еще не активирован.

Установка GRUB2 на диск

Далее установим необходимые для GRUB2 файлы в каталог /boot/grub/ с помощью команды grub-install. Если предположить, что первый диском (тот, с которого будет загружаться система) является /dev/sda, то одна из следующих команд сделает это:

Когда используется BIOS:

Когда используется UEFI:

ВажноУбедитесь, что системный раздел EFI был смонтирован перед запуском grub-install. grub-install может установить файл GRUB EFI (grubx64.efi) в неправильном каталоге без каких-либо сообщений, о том, что использовался неправильный каталог

ЗаметкаИзмените параметр на корневой каталог системного раздела EFI. Это необходимо, если раздел /boot не был отформатирован как FAT.

ВажноЕсли grub_install вернёт ошибку , необходимо перемонтировать специальную точку монтирования efivars в режим чтения-записи:

Некоторые производители материнских плат поддерживают только каталог /efi/boot/ для расположения файла .EFI в системном разделе EFI (ESP). Установщик GRUB может выполнить эту операцию автоматически, если использовать параметр . Убедитесь, что ESP смонтирован до запуска следующих команд. Предполагая, что ESP смонтирован в /boot (как было предложено ранее), выполните:

Это создает каталог по умолчанию, определенный спецификацией UEFI, а затем скопирует файл grubx64.efi в каталог EFI «по умолчанию», определенный той же спецификацией.

Настройка

Далее, нужно сгенерировать конфигурационный файл GRUB2 на основе настроек пользователя, указанных в файле /etc/default/grub и сценариях /etc/grub.d. В большинстве случаев ничего не нужно настраивать, так как GRUB2 автоматически определяет, какое ядро есть для загрузки (самый высокий приоритет у /boot/) и какая файловая система у rootfs. Здесь также можно добавить параметры ядра в /etc/default/grub, используя переменную GRUB_CMDLINE_LINUX.

Для создания окончательной конфигурации GRUB2, запустите команду grub-mkconfig:

Generating grub.cfg ...
Found linux image: /boot/vmlinuz-4.9.16-gentoo
Found initrd image: /boot/initramfs-genkernel-amd64-4.9.16-gentoo
done

Вывод команды должен содержать по крайней мере один образ Linux, так как он необходим для загрузки системы. Если используется initramfs или ядро создавалось с помощью genkernel, также должен быть указан правильный образ initrd. Если это не так, перейдите в /boot/ и проверьте содержимое, используя команду ls. Если файлы действительно отсутствуют, вернитесь к инструкции по настройке и установке ядра.

DESCRIPTION

—compress=,no/|xz|gz|lzo
compress GRUB files
—dtb=,FILE/
embed a specific DTB
-d, —directory=,DIR/
use images and modules under DIR
[default=/usr/lib/grub/<platform>]
—fonts=,FONTS/
install FONTS
—install-modules=,MODULES/

install only MODULES and their dependencies

-k, —pubkey=,FILE/
embed FILE as public key for signature checking
—locale-directory=,DIR/ use translations under DIR
[default=/usr/share/locale]
—locales=,LOCALES/
install only LOCALES
—modules=,MODULES/
pre-load specified modules MODULES
—themes=,THEMES/
install THEMES
-v, —verbose
print verbose messages.
—allow-floppy
make the drive also bootable as floppy (default
for fdX devices). May break on some BIOSes.
—boot-directory=,DIR/
install GRUB images under the directory DIR/grub
instead of the boot/grub directory
—bootloader-id=,ID/
the ID of bootloader. This option is only
available on EFI and Macs.
—core-compress=,xz/|none|auto
choose the compression to use for core image
—disk-module=,MODULE/
disk module to use (biosdisk or native). This
option is only available on BIOS target.
—efi-directory=,DIR/
use DIR as the EFI System Partition root.
—force
install even if problems are detected
—force-file-id
use identifier file even if UUID is available
—label-bgcolor=,COLOR/
use COLOR for label background
—label-color=,COLOR/
use COLOR for label
—label-font=,FILE/
use FILE as font for label
—macppc-directory=,DIR/ use DIR for PPC MAC install.
—no-bootsector
do not install bootsector
—no-extra-removable
Do not install bootloader code to the removable
media path. This option is only available on EFI.
—no-nvram
don’t update the `boot-device’/`Boot*’ NVRAM
variables. This option is only available on EFI
and IEEE1275 targets.
—no-rs-codes
Do not apply any reed-solomon codes when
embedding core.img. This option is only available
on x86 BIOS targets.
—no-uefi-secure-boot
do not install an image usable with UEFI Secure
Boot, even if the system was currently started
using it. This option is only available on EFI.
—product-version=,STRING/
use STRING as product version
—recheck
delete device map if it already exists
—removable
the installation device is removable. This option
is only available on EFI.
-s, —skip-fs-probe
do not probe for filesystems in DEVICE
—target=,TARGET/
install GRUB for TARGET platform
; available targets:
arm-coreboot, arm-efi, arm-uboot, arm64-efi,
i386-coreboot, i386-efi, i386-ieee1275,
i386-multiboot, i386-pc, i386-qemu, i386-xen,
i386-xen_pvh, ia64-efi, mips-arc, mips-qemu_mips,
mipsel-arc, mipsel-loongson, mipsel-qemu_mips,
powerpc-ieee1275, riscv32-efi, riscv64-efi,
sparc64-ieee1275, x86_64-efi, x86_64-xen
—uefi-secure-boot
install an image usable with UEFI Secure Boot.
This option is only available on EFI and if the
grub-efi-amd64-signed package is installed.
-?, —help
give this help list
—usage
give a short usage message
-V, —version
print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

INSTALL_DEVICE must be system device filename.
grub-install copies GRUB images into boot/grub. On some platforms, it may
also install GRUB into the boot sector.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий