- Установка Linux на UEFI
- Установка Linux на Legasy BIOS
- Установка Linux на платы с UEFI
- Шаг 1. Запись Linux на флешку UEFI в Linux
- Шаг 1 (альтернатива). Запись Linux на флешку UEFI в Windows
- Шаг 2. Выбор порядка загрузки
- Шаг 3. Разметка диска для UEFI
- Шаг 4. Создание раздела ESP
- Шаг 5. Вариант разметки дисков
- Шаг 6. Назначение разделов
- Шаг 7. Завершение установки
- Управление загрузчиком UEFI с помощью eifbootmgr
- Выводы
- Linux не загружается на asus k55dr в uefi-mode
Установка Linux на UEFI
Перед тем, как начинает загружаться операционная система, специализированное программное обеспечение компьютера инициализирует все компоненты, проверяет их готовность к работе и только потом передает управление загрузчику ОС.
Раньше для этих целей использовался набор программ BIOS, но этот стандарт сейчас считается устаревшим, а ему на замену пришла технология UEFI, которая поддерживает защищенную загрузку, имеет приятный графический интерфейс настройки и много других преимуществ. Большинство современных материнских плат и ноутбуков выпускаются уже с UEFI. В этой статье мы рассмотрим как выполняется установка Linux на UEFI и с какими проблемами вы можете столкнуться.
Установка Linux на Legasy BIOS
Это вариант для владельцев плат UEFI, которые не хотят разбираться в тонкостях использования этой технологии и согласны использовать свое устройство как раньше с BIOS. Большинство материнских плат позволяют эмулировать режим BIOS. В этом режиме вы можете установить Linux безо всяких проблем и дополнительных разделов, так как это делалось в BIOS.
Чтобы включить режим Legasy BIOS надо войти в настройки BIOS/UEFI с помощью кнопки F2, Del или Shift+F2 и найти там соответствующий пункт. Например, у меня этот пункт находится на вкладке Boot. Здесь нужно выбрать режим загрузки UEFI или Legasy.
После сохранения настроек вы можете устанавливать свою операционную систему как обычно. Если же вас такой вариант не устраивает, дальше мы рассмотрим как установить Linux именно на UEFI.
Установка Linux на платы с UEFI
Я буду рассматривать установку на примере Ubuntu, но все действия аналогичны и для других дистрибутивов. Сначала необходимо записать образ диска на флешку. Большинство дистрибутивов уже поддерживают загрузку в UEFI.
Шаг 1. Запись Linux на флешку UEFI в Linux
Для записи образа на флешку в Linux лучше использовать утилиту Etcher. Программа запишет носитель, который можно загружать как в UEFI, так и в обычной системе. После запуска программы надо выбрать образ системы:
Затем карту памяти и дождаться завершения записи:
Также можно записать образ на флешку вручную. Это проще чем для обычного BIOS, хотя и потребует больше действий. Сначала отформатируйте ваш носитель в FAT32. Это можно сделать в стандартной утилите управления дисками Gnome:
Затем распакуйте содержимое установочного образа в корень флешки:
sudo mount /путь/к/образу.iso /mnt
sudo mount /dev/sdb1 /media/flash/
sudo cp -r /mnt/* /media/flash
Здесь /dev/sdb1 — имя раздела вашей флешки. Вы можете выполнить все эти действия в файловой менеджере. Не обязательно использовать команды. Далее нужно установить на раздел флешки, куда вы распаковали свои файлы два флага — boot и lba. Это можно сделать с помощью Gparted. Просто запустите программу, выберите в списке дисков свою флешку:
Нажмите правой кнопкой по разделу, выберите Управление флагами и установите галочки на против флагов boot и lba.
Каким бы способом вы не пользовались, ваша флешка готова и вы можете с нее загружаться. Большинство образов Linux уже содержат загрузчик EFI и прошивка компьютера его найдет при следующей перезагрузке.
Шаг 1 (альтернатива). Запись Linux на флешку UEFI в Windows
Если вы решили записать Linux в Windows, то лучше использовать утилиту Rufus. В ней необходимо выставить такие параметры:
- Схема раздела и тип системного интерфейса: GPT для компьютеров с UEFI;
- Файловая система: FAT32.
Все остальные параметры — по умолчанию. После завершения записи ваша флешка готова к использованию.
Шаг 2. Выбор порядка загрузки
Для того чтобы ваша система смогла загрузиться с только что записанной флешки нужно отключить UEFI Secure Boot. Этот режим позволяет загружаться только подписанным операционным системам, а подписанными являются только ОС от Microsoft. Поэтому для Linux этот режим надо отключать. У меня эта настройка тоже есть на вкладке Boot:
Кроме того, надо установить на первое место флешку:
После этого можно перезагружать компьютер и приступать к установке. Если у вас появилось вот такое окно, значит все хорошо. Здесь надо выбрать «Try Ubuntu without installing», это обязательное условие:
Я не буду описывать все шаги установки, которые надо выполнить, они ничем не отличаются от установки обычной ОС, отличие только в установке загрузчика и разметке диска. На нем и остановимся далее.
Шаг 3. Разметка диска для UEFI
У UEFI в этом плане есть несколько отличий от BIOS. Во первых, это использование таблицы разделов диска GPT. Это новая технология, которая имеет массу преимуществ над MBR, среди которых очень большое количество первичных разделов (в MBR только четыре), восстановление при повреждениях, и многое другое. Подробнее о том чем GPT отличается от MBR читайте в отдельной статье. Второе отличие в том, что файлы загрузчика операционной системы больше не хранятся в первых 512 байтах жесткого диска. Все они хранятся на отдельном разделе, который называется ESP.
Перед тем, как нажать «Install Ubuntu» желательно подготовить диск с помощью Gparted. Откройте утилиту из главного меню образа. Затем выберите Device -> Create Partition Table:
В списке выберите таблицу разделов GPT:
Дальше переходим к созданию разделов.
Шаг 4. Создание раздела ESP
В Gparted нам необходимо создать только раздел ESP для UEFI. Для этого выберите «Незамеченно», а затем нажмите по нему правой кнопкой и выберите «New»:
В качестве файловой системы для раздела надо выбрать FAT32, размер — 100 мегабайт. Далее нажмите кнопку «Apply» для применения изменений.
Затем нажмите «Manage Flags» и установите галочки напротив флагов «boot» и «efi».
Далее переходим к установщику Ubuntu.
Шаг 5. Вариант разметки дисков
Когда система предложит выбрать способ разметки можно позволить системе все разметить автоматически. Но это только в том случае, если вы у вас уже не установлена какая-либо операционная система. Иначе выбираем «Свой вариант»:
Шаг 6. Назначение разделов
Если вы выбрали другой вариант разметки, то перед вами откроется меню со списком всех разделов. Найдите внизу окна «Устройство для установки загрузчика» и выберите в списке раздел для EFI.
Затем кликните по разделу для EFI в списке и выберите «Системный раздел EFI»:
Далее можно продолжить установку как обычно. Вам надо создать корневой раздел, и по желанию вы можете создать раздел для загрузчика, подкачки и домашний раздел. Подробнее про установку Ubuntu 18.04 вы можете прочитать по ссылке.
Шаг 7. Завершение установки
После того как все файлы распакуются и установится загрузчик установка Linux на UEFI будет завершена, вы можете перезагрузить комьпютер и пользоваться своей системой как обычно.
Но давайте еще рассмотрим управление пунктами меню и загрузчиками EFI.
Управление загрузчиком UEFI с помощью eifbootmgr
Когда система загрузится вы можете отобразить настройки UEFI по умолчанию выполнив команду:
Рассмотрим подробнее что означает каждый из параметров:
- BootCurrent — загрузчик, который был использован для запуска этой операционной системы;
- BootOrder — порядок загрузчиков, в котором менеджер загрузки будет их перебирать во время старта системы. Если первый загрузчик не сработал, то будет использован второй и так далее;
- BootNext — загрузчик, который будет запущен при следующей загрузке;
- Timeout — таймаут на протяжении которого будет показываться меню выбора загрузчика, перед тем, как он будет выбран автоматически;
- Пункты 0000 — 0004 — загрузчики которые можно использовать.
Вы можете изменить порядок загрузки с помощью опции -o, например, сделаем так чтобы первым загружалась ОС из оптического диска:
И вернем обратно на первое место Ubuntu:
Можно изменить таймаут, чтобы отображалось меню выбора системы:
Здесь мы установили таймаут в 20 секунд.
Выводы
В этой статье мы рассмотрели как установить Linux на UEFI, а также как управлять порядком загрузки в установленной системе. Теперь, если у вас возникнет желание установить эту операционную систему на свой новый ноутбук с EFI, то вы уже знаете как это сделать. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Linux не загружается на asus k55dr в uefi-mode
Везде одна и таже басня — пишу образ на dvd-диск, перезагружаюсь, пытаюсь загрузится в uefi-mode, 10-15 секунд работы загрузчика и всё — черный экран, полный стояк (винт не вертится и пр.) В обычном режиме грузится ок, но загрузчик в этом случае не встает.
Bios — AMI BIOS UEFI 1.207 и AMI BIOS UEFI 1.210 (после апгрейда)
В обычном режиме грузится ок, но загрузчик в этом случае не встает.
Ну вот так, установка-перезагрузка-черный экран.
Если вкратце форматишь флешку в фат32, копируешь файлы с исошника и запускаешься с UEFI. Насчёт дисков не знаю.
1. mkfs.vfat -F32 /dev/sdb1
2. mount /dev/sdb1 /media/траляля
3. mount /бла-бла-бла.iso /mnt
4. cp -R —verbose /mnt/* /media/траляля/
5. reboot
то есть ни в bios-mode, ни в uefi-mode ос не загружается?
В обычном ось грузится, но после установки не встает загрузчик — похоже нет эмуляции legacy-bios, так как даже восстановление mbr и самого загрузчика не помогло (диск разбит в gpt) (речь идет о бунте)
i_gnatenko_brain — пробовал и с влешки — писал нативной утилитой и dd — эфект тот-же, в bios-mode грузится, в uefi-mode нет. Может ли быть такое, что просто очень свежее железо? Проц A-10 triniti — релиз 10 мая 2012, поддержка ядром только с версии 3.5.0., но вот тут http://forum.ubuntu.ru/index.php?topic=197717.0 чувак пишет, что как то запилил бунту и обновил ядро. Вот тут я пытался решить проблему http://forum.ubuntu.ru/index.php?topic=200179.msg1515872#msg1515872
тут https://help.ubuntu.com/community/UEFIBooting описывается, как восстановить uefi-загрузчик, но для этого нужно загрузится в uefi-mode — замкнутый круг. Собственно проблема возникла при попытке подгрузить модуль efivars
https://help.ubuntu.com/community/UEFIBooting
Non-Mac x86_64 UEFI systems
For non-Mac UEFI systems, efibootmgr is used to modify the UEFI Firmware Boot Manager. This requires the kernel to be booted in UEFI mode and that the kernel processor architecture should match the firmware architecture (and ‘noefi’ is NOT used) for ‘efivars’ kernel module to be loaded and efibootmgr to access the boot manager variables. Initially the user is required to manually launch /boot/efi/efi/grub/grub.efi from the firmware itself if grub2-efi was installed in BIOS mode. Then efibootmgr should be run to create the boot entry.
sudo modprobe efivars cd /grub-core ../grub-probe --target=device /boot/efi/efi/grub/grub.efi # Assuming the output the grub-probe to be /dev/sda1 sudo efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature --label "GRUB2" --loader "\\EFI\\grub\\grub.efi"
In the above command, /boot/efi/efi/grub/grub/efi can be split up as /boot/efi and /efi/grub/grub.efi, which translates to (/dev/sda) -> partition 1 -> \\EFI\\grub\\grub.efi .
Note the capital EFI, FAT32 file system is case-insensitive since it does not use UTF-8 encoding by default. In that case the firmware uses capital ‘EFI’ instead of small «efi,» although using \\efi\\grub\\grub.efi should be just fine (this will change if the filesystem encoding is UTF-8). Also the path names in UEFI firmware are similar to Microsoft Windows path names and also uses backslashes (they are doubled because the shell interprets «\\» to mean a single backslash). The «label» is any name for your identification; the actual label used does not affect booting the system.
Делаю по инструкции, за исключением того, что efibootmgr установил с офф репа. После выполнении второй команды жалуется, что не подгружен модуль efivars