Uefi как запустить linux

Как загрузить и установить Linux на компьютер с UEFI и Secure Boot

Новые компьютеры с системой Windows поставляются с прошивкой UEFI и с включенной загрузкой Secure Boot. Режим Secure Boot предотвращает загрузку операционных систем, если они не подписаны ключом, загруженным в UEFI; сразу «из коробки» можно загрузить только программное обеспечение, подписанное фирмой Microsoft.

Фирма Microsoft требует, чтобы производители компьютеров позволяли пользователям отключить режим Secure Boot, поэтому вы можете отключить режим Secure Boot или добавить свой собственный ключ для того, чтобы обойти это ограничение. Режим Secure Boot нельзя отключить на устройствах ARM под управлением Windows RT.

Как работает режим Secure Boot

Компьютеры, которые поставляются с системами Windows 8 и Windows 8.1 имеют прошивку UEFI вместо традиционного BIOS. По умолчанию прошивка UEFI машины будет загружать только загрузчики, подписанные ключом, встроенным в прошивку UEFI. Эта особенность известна как «Secure Boot» (безопасная загрузка) или «Trusted Boot» (проверенная загрузка). На традиционных компьютерах без этой функции безопасности, руткит может установить себя и стать загрузчиком boot loader. После этого BIOS компьютера будет загружать руткит в процессе загрузки, во время которой происходит загрузка самого загрузчика и загрузка Windows, скрывая себя от операционной системы и внедряя себя глубоко в систему.

Режим Secure Boot блокирует это — компьютер будет загружать только проверенное программное обеспечение, поэтому вредоносные начальные загрузчики не смогут заразить систему.

На компьютерах Intel x86 (а не на компьютерах ARM) у вас есть возможность управлять режимом Secure Boot. Вы можете выбрать вариант отключения этого режима или даже добавить ключ со своей собственной подписью. Организации могут использовать свои собственные ключи для того, чтобы обеспечить, чтобы могли загружаться только одобренные операционные системы Linux, например

Варианты установки Linux

У вас есть несколько вариантов установки Linux на компьютер с режимом Secure Boot:

  • Выберите дистрибутив, в котором поддерживается режим Secure Boot: современные версии Ubuntu, начиная с Ubuntu 12.04.2 LTS и 12.10, будет загружаться и нормально устанавливаться на большинстве ПК с включенным режимом Secure Boot. Это объясняется тем, что загрузчик EFI первоначального этапа загрузки в Ubuntu подписан фирмой Microsoft. Впрочем, один из разработчиков Ubuntu отмечает , что загрузчик в Ubuntu не подписан ключом, который необходим согласно процессу сертификации Microsoft, а просто одним из ключей, о которых говорят, что он «рекомендован» фирмой Microsoft. Это означает, что Ubuntu не обязана загружаться на всех компьютерах с UEFI. Для того, чтобы использовать Ubuntu на некоторых компьютерах, пользователям, возможно, придется отключить режим Secure Boot.
  • Отключение режима Secure Boot: Режим Secure Boot можно отключить, что позволит позволить превратить преимущество безопасной загрузки в возможность иметь что-нибудь свое для загрузки компьютера точно также, как это делается на старых компьютерах с традиционным BIOS. Это также потребуется сделать, если вы хотите установить старую версию Windows, которая не разрабатывалась с врозможностью использовать режим Secure Boot, например, Windows 7.
  • Добавить в прошивку UEFI подписанный ключ: Некоторые дистрибутивы Linux позволяют подписывать свои загрузчики с помощью их собственного ключа, который вы можете добавить в свою прошивку UEFI. На данный момент, это, кажется, не является обычной практикой.
Читайте также:  Chilled windows что это

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

На большинстве новых компьютеров у вас должна иметься возможность устанавливать без каких-либо проблем текущие версии Ubuntu — либо релиз LTS, либо последний релиз. Инструкции о том, как загружаться со сменного носителя, смотрите в последнем разделе.

Как отключить режим Secure Boot

Вы можете управлять режимом Secure Boot из вашего экрана настройки прошивки UEFI — UEFI Firmware Settings. Для доступа к этому экрану, вам нужно будет в Windows 8 получить доступ к меню параметров загрузки. Чтобы сделать это, откройте страницу Settings (Настройки) — чтобы попасть на эту страницу, нажмите клавишу Windows Key + I, затем нажмите кнопку питания, а затем нажмите и удерживайте клавишу Shift и одновременно щелкните мышкой по кнопке Restart (Перезагрузка).

Ваш компьютер будет перезагружен в экран расширенных параметров загрузки. Выберите вариант Troubleshoot (Диагностика), выберите вариант Advanced options (Дополнительные параметры), а затем выберите пункт UEFI Settings (Настройки UEFI). На некоторых компьютерах с системой Windows 8 вы можете не увидеть пункт UEFI Settings, даже если эти компьютеры поставляются с UEFI — в этом случае для того, чтобы получить информацию о том, как добраться до его экрана настроек UEFI, обратитесь к документации разработчика.

Вы попадете на экран настроек UEFI, где вы можете выбрать отключение режима Secure Boot или добавление своего собственного ключа.

Загрузка со сменного носителя

Вы можете загрузиться со сменного носителя при помощи точно такого же доступа к меню параметров загрузки — удерживайте нажатой клавишу Shift и щелкните мышкой по кнопке Restart (Перезагрузка). Подключите загрузочное устройство, выберите вариант Use a device (Использовать устройство), и выберите устройство, с которого необходимо загрузиться.

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

Имейте в виду, что режим Secure Boot является полезной функцией безопасности. Вы должны оставить эту возможность включенной в случае, если вам не требуется запускать операционные системы, которые не будут загружаться с включенным режимом Secure Boot.

Источник

Загрузка GNU/Linux без стороннего загрузчика

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

Введение

Расскажу немного истории — являюсь пользователем Gentoo Linux уже более 5 лет, причем как основной и единственной ОС на всех используемых мною ноутбуках: Lenovo (от X61s до X1) и Apple MacBook Pro. Всегда при новой инсталляции использовал классический метод установки Gentoo на чистый жесткий диск, с использованием chroot. Таблицу партиций и загрузку системы настраивал дедовским способом, как завещал Handbook, на основе традиционного MBR.

Настройка ядра

Необходимо обеспечить поддержку загрузки с использованием UEFI в нашем ядре:

  • CONFIG_EFI=y — включение поддержки стандарта UEFI
  • CONFIG_EFI_STUB=y — включение возможности загружать ядро прошивкой UEFI, то что нам и надо
  • CONFIG_EFI_VARS=y — включение интерфейса управления UEFI через переменные /sys/firmware/efi/vars/*, понадобится чтобы указать где искать ядро для загрузки, используется утилитой efibootmgr
Читайте также:  Safenet inc key драйвер windows 10

При переходе на UEFI необходимо учесть то, что он не принимает параметры загрузки ядра, поэтому добавим все наши параметры в само ядро:

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

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

Тестирование

Для проверки работоспособности нашего ядра нужно попробовать загрузить ОС через UEFI, но чтобы не рисковать загрузочным разделом нашей рабочей системы, мы будем использовать usb-флешку, предварительно удалив с нее все разделы.

Подготовка

Для загрузки средствами UEFI нам потребуется особый раздел, который называется EFI Secure Partition или сокращенно ESP, на котором будет лежать всего один файл — это подготовленное нами ранее ядро с поддержкой UEFI. По своей сути это обычный GPT раздел с определенным типом и файловой системой FAT32.

Создание ESP-партиции

Для создание ESP-раздела нам потребуется пакет gptfdisk, информация из пакетной базы Gentoo:

Установить его можно выполнив команду с правами root’а:

Работа с данным инструментом почти ничем не отличается от всем знакомого fdisk. Допустим что наша usb-флешка определилась в системе как /dev/sdb и мы, конечно же, имеем права root’а. Выполняем следующие шаги:

В результате мы создали новую партицию sdb1 с типом ‘EFI System’ и размером 100 Мб, для тестирования этого вполне хватит. Теперь, как и с любой новой партицией, нам надо создать на ней файловую систему, в нашем случае это FAT32. Сделать очень просто — достаточно выполнить всего одну команду с правами root’а:

После выполнения команды, файловая система будет создана.

Копирование ядра

Монтируем новую партицию sdb1 в любой каталог и копируем туда наше подготовленное ядро, с включенным CONFIG_EFI_STUB и другими параметрами описанными выше (все команды выполнять с правами root’а):

Настройка BIOS

После подготовки тестовой usb-флешки необходимо перезагрузить компьютер и зайти в настройки BIOS и в разделе отвечающем за процесс загрузки выбрать использование UEFI. После чего загрузка системы должна пройти без каких-либо проблем, если ядро и флешка были подготовлены без ошибок. Тестирование можно считать пройденным и оставить систему загруженную с флешки.

Перенастройка загрузки на рабочей системе

По результатам пройденного выше теста, мы проверили что наше ядро корректно работает с прошивкой UEFI в нашем компьютере, поэтому приступим к миграции нашей рабочей системы на использование нового типа загрузки. Основная проблема в том что, система расположена на разделе созданном традиционной схемой разбиением на основе MBR (Master Boot Record), а для UEFI необходим GPT-раздел. Решается это проблема знакомым нам уже инструментом — gdisk из пакета sys-apps/gptfdisk. При первом запуске gdisk для нашего жесткого диска, пусть это будет /dev/sda, он предложит нам конвертировать таблицы разделов в формат GTP, предупредив о возможной потери данных. После чего проделаем все то что делали при создании usb-флешки, но с небольшими изменениями.
С учетом вышесказанного, план работ будет выглядеть следующим образом:

  1. отключить загрузочный раздел
  2. сделать резервную копию раздела
  3. выполнить конвертацию MBR -> GPT
  4. создать новую файловую систему на загрузочном разделе
  5. подключить к точке монтирования и скопировать ядро
  6. настроить прошивку UEFI
  7. перезагрузить систему и проверить результат

Далее остановимся на каждом пункте более подробно.

Читайте также:  Linux flush dns cache centos
Отключить загрузочный раздел

В большинстве случаев загрузочный раздел подключен в каталог /boot и имеет первый номер среди партиций блочного устройства, т.е. /dev/sda1, с учетом того, что sda это наш системный диск. В моей системе все именно так, поэтому выполняем следующую команду, с правами root’а:

Если данный каталог не используется какими либо приложениями, то он молча и без проблем отключиться от корня и мы сможем выполнить резервное копирование всей партиции /dev/sda1.

Резервное копирование загрузочного раздела

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

Проверим пригодность нашей резервной копии:

После выполнения команды ls мы должны увидеть содержимое каталога аналогичное тому, что было в рабочей системе до отключения точки монтирования /boot.

Выполнить конвертацию таблицы MBR -> GPT

Переходим к работе с утилитой gdisk. Весь процесс конвертации прост и требует минимум участия с нашей стороны. От нас необходимо запустить команду gdisk, сменить тип партиции sda1 на EF00 (EFI System) и сохранить изменения, т.е. процедура полностью аналогична той что мы делали с usb-флешкой, за исключением того что партиции уже созданы. После сохранения настроек, наша таблица будет переведена в новый формат, используемый GPT и пригодный для работы с UEFI.

Создать новую файловую систему на новом загрузочном GPT-разделе

По аналогии с процедурой создания usb-флешки, нам надо подготовить файловую систему FAT32 на нашем загрузочном разделе, теперь уже типа ‘EFI System’, выполнив команду:

После выполнения команды, файловая система будет создана.

Подключить sda1 и скопировать ядро

На данном этапе нам необходимо скопировать подготовленное ядро на новый раздел. Для этого выполните:

Подготовка загрузочного раздела на этом закончена.

Настроить прошивку UEFI

Для того чтобы UEFI мог передать управление нашему ядру, необходимо указать где оно находится. Настройкой параметров прошивки UEFi занимается инструмент под названием efibootmgr:

Его необходимо установить, выполнив команду:

После установки выполним настройку UEFI следующей командой:

Подробное описание всех параметров можно посмотреть в man-странице по efibootmgr. Мы используем следующие параметры:

  • —create — создаем новую переменную в загрузчике
  • —label ‘Gentoo-3.6.11’ — название которое будет отображаться в списке загрузочных устройств
  • —loader ‘\bzImage.efi’ — путь к загрузчику, в нашем случае он встроен в ядро, путь абсолютный и с использованием «\»
  • —part 1 — использовать первую партицию блочного устройства sda

После выполнения команды будет показан подробный вывод о том какие изменения в UEFI были внесены.

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

На этом вся настройка завершена и нам осталось перезагрузить систему, предварительно отключив usb-флешку, чтобы посмотреть как система загрузится без использования стороннего загрузчика.

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

На этом все и можно работать с системой.

Обновление ядра средствами genkernel

При обновлении ядра в будущем, с использованием инструмента genkernel, несколько изменится процедура, т.к. ядро больше не надо инсталлировать в /boot. Поэтому вместо ‘genkernel all’ необходимо выполнять ‘genkernel kernel’, предварительно поправив параметр в значение INSTALL=«no» в конфигурации /etc/genkernel.conf. После сборки ядра, его необходимо переименовать и вручную скопировать в каталог /boot.

Процесс обновления в итоге будет выглядеть следующим образом:

Итоги

Плюсы:

  • отказались от одной прокладки в процессе загрузки ОС
  • уменьшилось время загрузки системы
  • изучили приемы работы с новым стандартом UEFI, пришедшему на смену BIOS

Источник

Оцените статью