Efi boot install linux

Создание загрузочной системы EFI⚓︎

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

Убедитесь, что вы не пропустили раздел по настройке ядра, для поддержки EFI.

Поиск, или создание системного раздела EFI⚓︎

В системе на основе EFI загрузчики устанавливаются в специальный раздел FAT32, называемый системным разделом EFI (ESP). Если ваша система поддерживает EFI и предустановлен дистрибутив Linux и (или) Windows, скорее всего, ESP уже создан. Посмотрите все разделы на вашем жёстком диске (замените sda на нужное устройство):

Столбец ESP type должен быть EFI System .

 Устр-во начало Конец Секторы Размер Тип /dev/sda1 4096 618495 614400 300M EFI /dev/sda2 618496 268430084 267811589 127,7G Файловая система Linux 

Если система или жёсткий диск новые, или если вы впервые устанавливаете ОС, загружаемую через UEFI , ESP может не существовать. В этом случае создайте новый раздел, создайте на нем файловую систему vfat и установите тип раздела EFI system .

Некоторые (старые) реализации UEFI могут требовать, чтобы ESP был первым разделом на диске.

Создайте точку монтирования для ESP и смонтируйте ее (замените sda1 на соответствующий ESP ):

 mkdir -pv /boot/efi && mount -v -t vfat /dev/sda1 /boot/efi 

Добавьте запись для ESP в /etc/fstab , чтобы он автоматически монтировался во время загрузки системы:

 cat >> /etc/fstab  /dev/sda1 /boot/efi vfat defaults 0 1 EOF 

Монтирование EFI Variable File System⚓︎

Для установки GRUB на UEFI необходимо смонтировать файловую систему EFI Variable, efivarfs . Если она еще не была смонтирована ранее, выполните команду:

 mountpoint /sys/firmware/efi/efivars || mount -v -t efivarfs efivarfs /sys/firmware/efi/efivars 

Добавьте запись для efivarfs в /etc/fstab , чтобы она автоматически монтировалась во время загрузки системы:

 cat >> /etc/fstab  efivarfs /sys/firmware/efi/efivars efivarfs defaults 0 0 EOF 

Если система не загружается с UEFI, каталог /sys/firmware/efi будет отсутствовать. В этом случае вы должны загрузить систему в режиме UEFI с аварийным загрузочным диском.

Настройка⚓︎

В системах на основе UEFI GRUB работает устанавливая приложение EFI (особый вид исполняемого файла) в /boot/efi/EFI/[id sizes/grubx64.efi , где /boot/efi — точка монтирования ESP , а [id] заменяется идентификатором, указанным в командной строке grub-install . GRUB создаст запись в переменных EFI , содержащую путь EFI/[id]/grubx64.efi , чтобы прошивка EFI могла найти grubx64.efi и загрузить его.

grubx64.efi очень легкий (136 Кб), поэтому он не будет занимать много места в ESP. Типичный размер ESP составляет 100 Мб (для диспетчера загрузки Windows, который использует около 50 Мб в ESP). Как только grubx64.efi загружен прошивкой, он загрузит модули GRUB в загрузочный раздел. Расположение по умолчанию — /boot/grub .

Установите файлы GRUB в /boot/efi/EFI/LFS/grubx64.efi и /boot/grub . Затем настройте загрузочную запись в переменных EFI:

 grub-install --bootloader-id=LIN --recheck 

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

 Installing for x86_64-efi platform. Installation finished. No error reported. 

Запустите efibootmgr , чтобы ещё раз проверить конфигурацию загрузки EFI.

 BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0005,0000,0002,0001,0003,0004 Boot0000* ARCH Boot0001* UEFI:CD/DVD Drive Boot0002* Windows Boot Manager Boot0003* UEFI:Removable Device Boot0004* UEFI:Network Device Boot0005* LIN 

Обратите внимание, что 0005 является первым в BootOrder , а Boot0005 — это LIN . Это означает, что при следующей загрузке системы будет использоваться версия GRUB , установленная в LIN .

Создание файла конфигурации GRUB⚓︎

Создайте /boot/grub/grub.cfg для настройки меню загрузки GRUB:

 cat > /boot/grub/grub.cfg  # Begin /boot/grub/grub.cfg set default=0 set timeout=5 insmod part_gpt insmod ext2 set root=(hd0,2) if loadfont /boot/grub/fonts/unicode.pf2; then set gfxmode=auto insmod all_video terminal_output gfxterm fi menuentry "GNU/Linux, Linux 5.10.17-lfs-10.1"  linux /boot/vmlinuz root=/dev/sda2 ro > menuentry "Firmware Setup"  fwsetup > EOF 

(hd0,2) , sda2 следует заменить в соответствии с вашей конфигурацией.

Для GRUB файлы используются относительно раздела. Если вы использовали отдельный раздел /boot , удалите /boot из указанных выше путей (к ядру и к unicode.pf2). Вам также нужно будет изменить строку корневого раздела, чтобы она указывала на загрузочный раздел.

Загрузка вместе с Windows⚓︎

Добавьте запись в файл конфигурации grub.cfg :

 cat >> /boot/grub/grub.cfg  # Begin Windows addition menuentry "Windows 10"  insmod fat insmod chain set root=(hd0,1) chainloader /EFI/Microsoft/Boot/bootmgfw.efi > EOF 

(hd0,1) следует заменить назначенным GRUB именем для ESP. Директива chainloader может использоваться, чтобы указать GRUB запустить другой исполняемый файл EFI, в данном случае диспетчер загрузки Windows. вы можете поместить больше используемых инструментов в исполняемом формате EFI (например, оболочку EFI) в ESP и создать для них записи GRUB.

Источник

Установка дистрибутива на компьютер с EFI

Сначала немного теории. Extensible Firmware Interface (EFI) — интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику операционной системы. EFI предназначен для замены BIOS — интерфейса, который традиционно используется всеми IBM PC-совместимыми персональными компьютерами

Что это значит? Значит что способ описанный в Установка Ubuntu может не сработать. Кроме того, большие диски требуют использования GPT (вместо старой версии таблицы разделов в MBR, которая имеет ограничение адресуемого на диске пространства в 2,2 ТБ = 2,2 × 10¹² байт)

Не возможно гарантировать универсальность приведенной ниже инструкции, но автор этой статьи прочитал несколько русско- и англоязычных тем форумов и на вторые сутки смог установить ubuntu 12.04.1 на Lenovo B570. Есть надежда, что эта статья поможет и вам.

Поскольку EFI представляет собой специфический загрузчик, то он должен где то храниться, в нашем случае для него выделено отдельное место на жёстком диске с GPT таблицей разделов. Когда компьютер проходит процедуру POST, BIOS обнаруживает на подключённом носителе EFI раздел с установленным загрузчиком. Как следствие в самом BIOS в меню BOOT(У вас может называться по другому, там находиться порядок загрузки устройств) на ровне с устройствами появятся и дистрибутивы.

how to install

A. В начале нам понадобиться LiveCD(почему именно LiveCD? Смотри ниже) установочный образ , how to написано тут получение_ubuntu. Если у вас уже есть установочный диск/флешка, вам ниже.

B. Загружаемся, всё как при обычной установке → загрузка_с_livecd. Затем, если у кого то всё нормально и графический режим с выбором языка работает, то хорошо, у некоторых может появиться незнамо что (экран в пикселях, видно как ленточка выбора перемещается для выбора варианта загрузки)

P.S. //Лично у меня при загрузке с текстового alternative образа, всё время было такое, даже во время попытки установки//

Порядок надписей следующий:

Попробовать без установки Установить Проверить диск на наличие ошибок

Как следствие выбираем первую и загружаемся в графическом режиме.

C. Открываем центр приложений, ищем grub-pc удаляем, ищем grub-efi под нужную разрядность (64 или 32) ставим его.
UPD. можно оставить только grub-common остальные грабы он сам во время установки догрузит (у меня на всех работало (12.04-12.10 альфа 3),12.10 бета 1 «невозможно установить загрузчик….»)\\ Вариант не нужен и может даже навредить установке на 12.04.1 и 12.10 бета 2 и старше.

E. запускаем саму установку, выбираем «другой вариант» и вручную размечаем диск «разметка_диска». Так всё по плану:

Первый раздел "тык" - загрузочный раздел efi - если у вас всёго одна система 100 МиБ достаточно. Второй ext4, форматировать, точка монтирования "/". -Системный создаём угодных нам размеров. Третий linux-swap (раздел подкачки) ~ RAM + несколько МиБ Четвёртый, ФС какую пожелаете (у меня ext4), точка монтирования "/home"

Отлично, фарс почти закончился, в самом низу выбирается путь установки загрузчика (там должно быть что то вроде /dev/sda/

Устанавливаем, по окончанию перезагружаем, заходим в BIOS, там boot menu. Должны были появиться новые пункты «Linux» «Ubuntu», первым можно поставить Ubuntu

Управление списком загрузки

Способ подходит как для редактирования из установленной системы, так и с LiveCD Нам понадобиться следующая консольная утилита bootmgr.

sudo apt-get install efibootmgr

bootmgr — это пользовательское приложение для редактирования Intel Extensible Firmware Interface (EFI) Boot Manager. Оно позволяет добавлять, изменять и удалять опции загрузки.
После установки открываем терминал и вбиваем туда:

Вот что оно вам выдаст.(С моими комментариями)

BootCurrent: 000A #текущая загруженная запись Timeout: 1 seconds #пауза для показа меню выбора, прежде чем будет произведена загрузка по порядку BootOrder: 000A,0002,0009,000B,0003,0004,0005,0006,0007,0008 #текущая очередь загрузки Boot0000 Setup #вкладка перехода в BIOS не трогаем Boot0001 Boot Menu #Меню выбора, тоже не трогаем. BootXXXX это разделы Boot0002* USB FDD: #нас интересуют именно цифры т.е. 0003 и т.д. Boot0003* ATA SSD: Boot0004* ATA HDD: WDC WD5000BPVT-24HXZT3 Boot0005* ATAPI CD: TSSTcorp CDDVDW TS-L633F Boot0006* USB HDD: Kingston DT 101 G2 Boot0007* USB CD: Boot0008* PCI LAN: Realtek PXE B03 D00 Boot0009* Windows Boot Manager Boot000A* Ubuntu Boot000B* Linux

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

sudo efibootmgr --bootnum xxxx --delete-bootnum

Удаляем запись Windows Boot Manager

Где xxxx Это hex номер загрузочной записи, его можно сокращать, вот например в моём случае для удаления Windows нужно ввести:

sudo efibootmgr --bootnum 9 --delete-bootnum

Сразу после этого консоль отрапортует результат:

BootNext: 0009 BootCurrent: 000A Timeout: 1 seconds BootOrder: 000A,0002,000B,0003,0004,0005,0006,0007,0008 Boot0000 Setup Boot0001 Boot Menu Boot0002* USB FDD: Boot0003* ATA SSD: Boot0004* ATA HDD: WDC WD5000BPVT-24HXZT3 Boot0005* ATAPI CD: TSSTcorp CDDVDW TS-L633F Boot0006* USB HDD: Kingston DT 101 G2 Boot0007* USB CD: Boot0008* PCI LAN: Realtek PXE B03 D00 Boot000A* Ubuntu Boot000B* Linux

Удаляем запись Linux

Теперь удаляем запись Linux

sudo efibootmgr --bootnum B --delete-bootnum

После перезагрузки получим вот такую красоту:

BootCurrent: 0009 Timeout: 1 seconds BootOrder: 0009,0004,0005,0008,0002,0003,0006,0007 Boot0000 Setup Boot0001 Boot Menu Boot0002* USB FDD: Boot0003* ATA SSD: Boot0004* ATA HDD: WDC WD5000BPVT-24HXZT3 Boot0005* ATAPI CD: TSSTcorp CDDVDW TS-L633F Boot0006* USB HDD: Boot0007* USB CD: Boot0008* PCI LAN: Realtek PXE B03 D00 Boot0009* ubuntu

Редактируем паузу

Если необходимо отредактировать паузу то делаем следующее:

BootNext: 0009 BootCurrent: 000A Timeout: 5 seconds #как видно значение изменилось BootOrder: 000A,0002,000B,0003,0004,0005,0006,0007,0008 Boot0000 Setup Boot0001 Boot Menu Boot0002* USB FDD: Boot0003* ATA SSD: Boot0004* ATA HDD: WDC WD5000BPVT-24HXZT3 Boot0005* ATAPI CD: TSSTcorp CDDVDW TS-L633F Boot0006* USB HDD: Kingston DT 101 G2 Boot0007* USB CD: Boot0008* PCI LAN: Realtek PXE B03 D00 Boot0009* ubuntu

FIXME

Эта статья не окончена. Пожалуйста, если вы располагаете соответствующими знаниями и небольшим количеством свободного времени, попробуйте улучшить эту статью. * grub-efi должен инсталлироваться автоматически но с ним могут быть глюки и 12.10 бету 1, я вообще не смог установить (она не могла поставить загрузчик), потому вообще лучше его устанавливать через центр приложений ручками *

Источник

Читайте также:  Как открыть appimage linux
Оцените статью
Adblock
detector