Меню Рубрики

Установка altlinux на uefi bios

Установка 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, то вы уже знаете как это сделать. Если у вас остались вопросы, спрашивайте в комментариях!

источник

Поддержка UEFI в ALT Linux [ править ]

Цель [ править ]

Обеспечить возможность совместного использования с ОС, установленными в UEFI-режиме, без мороки с переключением BIOS/UEFI; предоставить возможность использования UEFI-«железа» без CSM [1] .

Состояние [ править ]

Релиз (x86_64). Нормально устанавливаемся на bare metal и в мультизагрузку с, например, openSUSE 12.2 и Windows 8.

Результат [ править ]

По состоянию на декабрь 2014 года поддержка UEFI включена в 64-битные выпуски дистрибутивов версий 7.0.2+, регулярные сборки образов и стартовые наборы, включая возможность работы без отключения Secure Boot. 32-битный UEFI у нас нет есть в позднем p8 и сразу в p9.

Реализация поддерживает запись на CD/DVD-болванку или USB-флэшку и загрузку в EFI mode или Legacy mode. Проверена на ASUS/Gigabyte/Lenovo UEFI и MacBook/MBP EFI.

Замечания [ править ]

Режим загрузки дистрибутива различается по меню загрузчика с установочного носителя:

Если после установки ALT Linux попытка загрузки Windows приводит к сообщению «Ошибка: invalid signature», значит, установка была выполнена в режиме BIOS/CSM, который придётся отключить в настройках firmware и выполнить установку повторно с задействованием тех же разделов под линукс.

Специфика работы с UEFI [ править ]

Установка Altlinux в режиме UEFI возможна только если диски размечены в GPT. В случае разметки MBR при загрузке под UEFI GRUB не устанавливается.

Чтобы установить GRUB на диск с GPT, для размещения stage2 требуется раздел с типом (флагом) bios_grub, в документации к GRUB2 рекомендуется создавать такой раздел размером 1 Мб.

Особенность разбиения диска [ править ]

Для того, чтобы система правильно работала (в частности могла загрузиться) с UEFI, при ручном разбиении диска надо обязательно сделать точку монтирования /boot/efi, в которую нужно смонтировать vfat раздел с загрузочными записями. Если такого раздела нет, то его надо создать вручную. При разбивке жёсткого диска в автоматическом режиме такой раздел создаёт сам установщик.

Особенности установки [ править ]

Как обычно; отличия состоят в разбивке и установке загрузчика:

  • начальный загрузчик EFI не похож на обычный, надо уметь находить в нём установщик;
  • язык установщика по умолчанию — английский, иной надо выбирать вручную на первом шаге установки;
  • требуется создать новый или подключить существующий FAT32-раздел с GPT-типом ESP (efi system partition) размером

100—500 Мб (смонтируется в /boot/efi );

  • может понадобиться раздел типа bios boot partition минимального размера, никуда не подключенный (в установщике при выборе типа файловой системы нажать «отмена») и предназначенный для встраивания grub2-efi;
  • остальные разделы — и файловая система, и своп — имеют GPT-тип basic data; актуальный тип раздела задаётся отдельно;
  • модуль установки загрузчика предложит вариант «EFI», с которым стоит согласиться [2] .
  • Следует устанавливать 64-битные дистрибутивы; запуск 32-битного дистрибутива возможен в режиме BIOS/CSM (Compatibility Support Module), а в режиме EFI такая установка не будет сочтена загрузочной [3] . При установке 64-битного дистрибутива в режиме BIOS/CSM будет невозможна двойная загрузка с UEFI Windows (обычно 8 и новее).

    При загрузке с образа в EFI-режиме загрузчиком будет графический rEFInd либо совсем текстовое ELILO, в BIOS-режиме — синяя текстовая либо брендированная графическая менюшка SYSLINUX.

    После собственно загрузки и логина именем root в EFI-режиме должны отработать команды

    — в BIOS-режиме вторая из них скажет

    При загрузке установленной системы типичным на сегодня будет почти обычный grub2-efi .

    Загрузчики, поддерживающие UEFI [ править ]

    Иерархия загрузчиков и их применение таковы:

    1. shim применяется как первый бинарник, которому передаёт управление firmware и который обеспечивает проверку дистрибутивной/пользовательской подписи на следующем шаге при включенном UEFI SB;
    2. следующим бинарником могут быть elilo, refind, grub (efilinux у нас пока не собран) — от них требуется уметь передать ядру параметры;
      • если всё нужное, начиная с расположения rootfs, забито в ядро при сборке — можно воспользоваться и тем, что у нас оно является самодостаточным EFI-бинарником;
      • обратите внимание: elilo умеет загружать только Linux, поэтому также применяется как своего рода «фильтр» между подписанными загрузчиками и неподписанным ядром при реализации сценария hardware enablement (то есть когда сквозная проверка подписи не требуется по постановке задачи);
    3. в итоге загружается либо ядро, либо что-нибудь вспомогательное вроде EFI shell.

    По состоянию на конец 2014 года в установленной системе всегда получается grub2-efi (настройки в /etc/sysconfig/grub2 , после изменения надо запустить grub-efi-autoupdate ); elilo и refind применяются в загрузочных ISO.

    Создание MD RAID на GPT-разделах [ править ]

    Инсталятор (точнее, alterator-vm ) умеет создавать программный массив на GPT-разделах [4] , но процесс несколько неочевиден: следует создать разделы типа «basic data» и не создавать на них том, а выбрать строчку «RAID» и воспользоваться появившейся внизу формы кнопкой «Создать RAID» («Create RAID»).

    Установка системы на MDRAID в системе с UEFI [ править ]

    Загрузчик UEFI GRUB поддерживает загрузку ядра, расположенного на MD RAID. Проверена загрузка с MD RAID level 1, другие варианты массива не проверены. LVM RAID и LVM Mirror также не проверены.

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

    Недостатки описанной конфигурации:

    • при глобальном изменении GRUB может не загрузить систему, придётся загружаться с LiveUSB и устанавливать GRUB: mount корень-с-диска-сервера; chroot в него ; mount -A ; for s in /dev/sd?; do grub-install $d; done ; reboot ;
    • в BIOS нужно вручную добавить загрузку с ESP-раздела каждого физического диска.

    1. В инсталляторе или LiveUSB переключитесь на свободную консоль и сделайте ручную разметку на каждом физическом диске:

    1. Разметьте диск в GPT.
    2. Создайте раздел типа ESP (он же EFI, в parted флаг boot), создайте на нём файловую систему fat16 ( mkfs.vfat -F 16 /dev/sda ) размером 100 Мб или больше, например, 256 Мб.
    3. Создайте раздел типа bios_grub размером 31 Кб или больше (разработчики GRUB рекомендуют 1Мб).
    4. Создайте раздел типа msdata для объединения их в RAID корневого тома (для Altlinux P9 подойдёт размер 40 Гб).
    5. Создайте массив RAID из этих разделов.
    6. В массиве RAID создайте файловую систему и назначьте точку монтирования «/».
    7. Создайте раздел(ы) для остальных томов файловой системы и объедините их в RAID или LVM.

    2. Установите систему
    3. Установите grub на каждый диск, на котором есть зеркало (член массива) RAID
    4. Программой efibootmgr добавьте в список загрузки элементы для каждого диска с разделом в составе RAID и с установленным GRUB.

    Установка внутри VirtualBox [ править ]

    Желательна ветка 4.2 и выше, в 4.1 реализация EFI несколько странная и крайне задумчивая. Требуется 64-битный экземпляр со включенной галкой «EFI» в настройках материнской платы. ISO рекомендуется подключать через SATA-, а не IDE-контроллер (спасибо vsu@ за подсказку). Диск — динамический на 10Gb или больше, чтобы по возможности отрабатывала авторазбивка.

    Получить доступ к настройкам можно быстрым нажатием F8 (F12), пока промелькивает логотип VirtualBox.

    Следует отметить, что NVRAM на виртуальном железе VirtualBox не переживает выключение экземпляра (это известная проблема). Т.е. установщик/efibootmgr не может добавить ссылку на grub, а если добавить её руками, она исчезнет при следующем запуске экземпляра. Объезд упомянут по этой же ссылке:

    1-ый вариант выполнить в ещё загруженной системе

    Или то же самое сделать потом, из EFI Shell:

    2-ой вариант (подсмотрено в | VirtualBox (Русский) на wiki.archlinux.org — после установки системы

    • Если существует файл /boot/efi/boot/BOOTX64.EFI дать ему другое имя
    • Скопировать /EFI/altlinux/grubx64.efi в /boot/efi/boot/BOOTX64.EFI

    Установка внутри KVM [ править ]

    Нужно загрузить экземпляр qemu-system-x86_64 с TianoCore firmware, уложенным как файл bios.bin в каталоге, путь к которому передан посредством опции -L.

    Установка с Secure Boot [ править ]

    Работа с сертификатами [ править ]

    Если нет доверия к Microsoft, можно подтвердить (enroll) сертификат ALT Linux, добавленный по пути EFI/enroll/altlinux.cer . Пошаговая процедура описана на rodsbooks.com (потребуются не все шаги). В выпусках 7.0.2 и регулярных сборках с конца ноября используется подписанный shim с этим сертификатом, т.е. отключать SecureBoot необязательно.

    Windows не даёт возможности попасть в фирмварь, не приняв EULA [ править ]

    Если попался ноутбук с трудносъёмным диском и неактивированной win8, который не даёт возможности попасть в фирмварь, не приняв EULA — можно попробовать его жёстко выключить либо:

    • возможно, переключиться на ENG комбинацией при помощи Alt-Shift;
    • нажать Shift-F10;
    • в полученном приглашении cmd.exe сказать shutdown /s;
    • при включении, не теряя времени, «топтаться» по F12/F2/Del или какие ещё клавиши могут быть на этой модели.

    Создание загрузочной записи UEFI вручную [ править ]

    Например, для создания загрузочной записи на /dev/sda4 надо дать команду:

    Самостоятельная сборка установочного образа для установки c UEFI [ править ]

    Достаточно хорошая поддержка сборки UEFI-загружаемых гибридных образов добавлена в текущий mkimage ; в качестве образца можно использовать example4 из документации пакета, а суть требуемых изменений в профиле сводится к:

    • добавлению в инсталер dosfstools ( efibootmgr будет вытянут текущим alterator-grub );
    • добавлению в базовую устанавливаемую систему grub2-efi и installer-feature-efi-stage3 ;
    • добавлению в modules для propagator kernel/drivers/firmware ради efivars.ko ;
    • передаче mkimage переменной EFI_BOOTLOADER со значением elilo либо refind[5][6] .

    Для сборки образов требуется свежий Sisyphus либо p7/branch, в т.ч.:

    • mkimage 0.2.5+ (для SB — 0.2.12+) [7]
    • xorriso 1.2.4+
    • syslinux 4.04-alt5+ [8]
    • evms 2.5.5-alt30+
    • guile-evms 0.4-alt14+
    • alterator-vm 0.4.2-alt1+

    Решение проблем [ править ]

    «Cлетание» информации о загрузчике из энергонезависимой памяти UEFI [ править ]

    При некоторых обстоятельствах возможно «слетание» информации о загрузчике из энергонезависимой памяти UEFI, что приводит к невозможности загрузки любых ОС или Linux; если это не «аппаратный» случай вроде известных проблем с firmware некоторых производителей, следует произвести повторную установку загрузчика:

    1. загружаемся со спасательной части дистрибутива или специального образа в режиме EFI;
    2. выполняем команду mount-system для поиска и монтирования корневых ФС;
    3. находим нужную, если получилось больше одной, и даём команду chroot /mnt/system1 grub-install [9] ;
    4. затем umount -al и reboot

    Ошибка в firmware при работе с более чем одной подписью [ править ]

    Если замечено, что на каком-либо оборудовании загружаются носители Windows и Ubuntu, но не ALT Linux/openSUSE/Ubuntu — это, скорее всего, ошибка в firmware при работе с более чем одной подписью (shim в Ubuntu подписан только Microsoft).

    В качестве объезда можно отключить Secure Boot либо воспользоваться специальной флэшкой, содержащей shim с подписью Microsoft, но без подписи ALT Linux, для дальнейшей загрузки с собственно установочной флэшки. Может пригодиться отключалка сообщения «Безопасная загрузка (SecureBoot) настроена неправильно».

    После установки не загружается Windows [ править ]

    Если после установки не загружается Windows 8 с ошибкой наподобие

    — известны следующие объезды:

    • отключение SecureBoot;
    • выбор Windows в меню загрузки firmware (например, по F12) при необходимости;
    • использование отличающегося от grub2 загрузчика (например, refind на инсталяционном диске в режиме поиска уже установленных ОС).

    Ноутбуки Acer [ править ]

    Если после установки на ноутбук Acer система не загружается, необходимо зайти в BIOS и либо отключить secure boot, либо вручную занести grub2 загрузчик в список доверенных. Однако по умолчанию данные опции в BIOS не активны. Чтобы их разблокировать, нужно задать непустой пароль для входа в BIOS («Supervisor Password» вкладки «Security») [ к примеру — «1» ].

    . После этого эти настройки для UEFI становятся активными и можно либо отключить secure boot (Secure Boot [Disabled]), (эта опция есть не во всех моделях Acer), либо же вручную занести grub2 загрузчик в список доверенных с помощью опции «Select an UEFI file as trusted» (обычно \EFI\altlinux\grubx64.efi). После того, как настройки сохранены, если пароль для входа в BIOS («Supervisor Password») больше не нужен, то его нужно сбросить (ввести пустое значение) пока текущий пароль не утерян/не забылся.

    «Empty security header» [ править ]

    Во время загрузки по UEFI, в меню GRUB появляется сообщение «Empty security header». Это сообщение от efi модуля shim (- trivial UEFI first-stage bootloader), используемого при загрузке по UEFI.

    У меня появилось после dist-upgrade c p8 до p9 на ноутбуке acer с активной secure boot в настройках. Причина — скорее всего, изменился после обновления \EFI\altlinux\grubx64.efi, который был указан в настройке BIOS «Select an UEFI file as trusted».

    Вылечилось — выключил secure boot (в этой модели можно). В других моделях надо было бы перевыбрать новый grubx64.efi.

    материнская плата ASUS MA597 (LE R2.0) [ править ]

    Чтобы выключить UEFI secure boot, в пункте «OS type» ниже вместо «Windows UEFI mode» надо выбрать «Other OS». (Надпись «Secure boot Enabled» чисто декоративная). При включенном UEFI secure boot установка grub проходит некорректно (ALT bug #37136). Для корректной работы grub с UEFI secure boot воспользуйтесь рецептом с archlinux wiki.

    источник

    Добавить комментарий