Linux переход на uefi

Обновлено: 04.07.2024

Я не знал о режиме загрузки и установил ubuntu на моем новом ноутбуке Acer ES15 с процессором x64,4 ГБ в унаследованном режиме. Я прочитал о функции режима uefi и хотел бы переключиться на uefi. Когда я загружаюсь в устаревшем режиме, ubuntu загружается, и система работает нормально, но когда я изменяю настройку bios на uefi, это говорит о том, что загрузочное устройство не найдено. Должен ли я снова установить ubuntu, используя режим uefi после удаления данных? Будет ли это работать? . Есть ли другой способ перейти в режим uefi или мне нужно отформатировать, а затем снова установить ubuntu с помощью режима uefi bios? Пожалуйста, помогите.

4 ответа

Гораздо проще сделать еще одну чистую установку в режиме UEFI, особенно если у вас недостаточно навыков в системах Linux.

Но если у вас есть навыки, переключиться на не очень сложно UEFI без переустановки.

Вам нужно будет создать раздел EFI и переустановить grub с помощью этого раздела. Вы можете сделать это вручную или с помощью программы Boot Repair.

Если вы не знаете, как управлять разделами или переустанавливать grub, я предлагаю повторно установить.

Вы можете переустановить Ubuntu, как предлагает Pilot6, и это может быть приемлемым, если вы не сделали много настроек или создали много пользовательских файлов в Ubuntu; однако довольно легко установить загрузчик EFI-режима для Linux. Два самых простых метода:

Способ 1:

Отключите модуль поддержки совместимости (CSM; aka «устаревший режим» или «режим BIOS») в вашей прошивке. Загрузите установщик Ubuntu в режиме «попробуйте до установки». Дважды проверьте, что вы загрузились в режиме EFI, ища каталог с именем /sys/firmware/efi. Если он присутствует, вы загрузились в режиме EFI и можете продолжить; но если он отсутствует, вы загрузились в режиме BIOS и должны просмотреть настройки прошивки и то, как вы создали загрузочный носитель. Загрузите и запустите программу Boot Repair, как описано здесь. Сообщите Boot Repair, чтобы восстановить установку. Перезагружать. Если повезет, появится GRUB и даст вам возможность загрузки Windows или Ubuntu. В некоторых редких случаях система может загрузиться прямо в Ubuntu в режиме EFI, и вам нужно будет настроить GRUB, чтобы Windows появилась в меню GRUB.

Способ 2:

Отключите модуль поддержки совместимости (CSM; aka «устаревший режим» или «режим BIOS») в вашей прошивке. Загрузите USB-флешку или версию CD-R моего менеджера загрузки rEFInd. (Ссылки для скачивания для обеих находятся на этой странице.) [D4] Загрузите установщик Ubuntu в режиме «попробуйте перед установкой». Перезагрузитесь в загрузочный носитель rEFInd. Дважды проверьте, что вы загрузились в режиме EFI, ища каталог с именем /sys/firmware/efi. Если он присутствует, вы загрузились в режиме EFI и можете продолжить; но если он отсутствует, вы загрузились в режиме BIOS и должны просмотреть настройки прошивки и способ создания загрузочного носителя. В Ubuntu установите загрузчик EFI-режима. Возможны два варианта: вы можете запустить Boot Repair, как в шагах №4 и №5 метода 1. Вы можете установить пакет Debian или PPA rEFInd. Загрузите и запустите программу восстановления загрузки, как описано здесь. При желании вы можете снова включить Secure Boot; однако, если вы установили rEFInd, вам может понадобиться вручную настроить Shim и установить ключ MOK, как описано в здесь.

I подумал, что вы работаете с двойной загрузкой с Windows, но когда я перечитаю ваш вопрос, я не заметил этого явно. Если вы выполняете двойную загрузку с Windows, вышеуказанные процедуры должны работать как есть. Однако, если у вас нет двойной загрузки с Windows, на вашем компьютере может отсутствовать системный раздел EFI (ESP), и он может даже использовать систему разделения основной загрузочной записи (MBR), а не таблицу разделов GUID (GPT). Если это так, я рекомендую вам конвертировать из MBR в GPT (если необходимо), как описано здесь. Вам также необходимо создать ESP, который вы можете использовать с GParted с помощью аварийного диска. Вам нужно будет сжать существующий раздел примерно на 550 MiB, создать новый раздел FAT32 в свободном пространстве и пометить его, спросив ESP, указав ему флаг «boot» или «esp» (в GParted) или назначив ему тип кода EF00 (в gdisk). Обратите внимание, что преобразование MBR-to-GPT уничтожит текущий загрузчик BIOS-режима, поэтому, если что-то пойдет не так, и у вас проблемы с загрузкой режима EFI-режима, будет сложнее вернуться к загрузке в BIOS.

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

Введение

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

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

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

При переходе на 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. После чего загрузка системы должна пройти без каких-либо проблем, если ядро и флешка были подготовлены без ошибок. Тестирование можно считать пройденным и оставить систему загруженную с флешки.

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

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

В большинстве случаев загрузочный раздел подключен в каталог /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 следующей командой:

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

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

Собственно, есть ПеКа, на нём без переустановок уже третий год крутится моя любимая Fedora на SSD с MBR и с legacy-бутом. Собственно, хочу перейти на UEFI-загрузку (я не луддит какой-нибудь) с её плюшками, но не знаю, настолько ли просто это, как кажется. Собственно, план таков:

1. В Live Fedora конвертировать MBR в GPT с помощью gdisk;

2. Установить UEFI-GRUB;

3. Выставить в UEFI нужный режим.

Вопросы таковы:

1. Почему gdisk не хочет/не может сконвертировать разделы?

Warning! Secondary partition table overlaps the last partition by 33 blocks! You will need to delete this partition or resize it in another utility. Aborting write of new partition table.

2. Достаточно ли для настройки Граба пометить раздел как bios_grub?

3. Вообще, стоит ли игра свеч?



Тебе нужен ESP — партишн EFI; но EFI умеет читать только FAT32, так что без переразметки обойтись не выйдет. Обрати внимание, что некоторые EFI-прошивки требуют, чтобы ESP был 512 метров, но у большинства работает любой размер, так что смею предположить, что эта неприятность постепенно уходит в небытие.

С UEFI тебе даже загрузчик не нужен, если, конечно, у тебя не криптованный рут. У меня, например, на одном компе без загрузчика уживаются Gentoo и Шindoшs 10.

Также для просвещения пройди по ссылке в моём профиле, там расписаны самые важные моменты.

1. В Live Fedora конвертировать MBR в GPT с помощью gdisk;

Абсолютно не нужный пункт. Что нужно, так это fat-раздел.



Прокатит, конечно. EFI не принципиально, каким по счёту будет раздел.

И я тут почитал некоторых, ты не слушай, что MBR нормально. С этим могут быть проблемы в последствии (например, ты не сможешь установить маздайку в связку MBR+EFI, она будет пытаться встать в легаси, и загружаться не будет, или просто похвастается половым органом и встанет раком в процессе установки), да и ограничение в 4 раздела — это бред, учитывая объёмы современных дисков.

Главное не слушай всяких виндузятников ;)
Оставляй MBR, кусай раздел и монтируй в /boot/efi (не boot!).


Абсолютно не нужный пункт.

Чего, простите? Это с какого перепуга?


То есть план такой:

1. Откусываем раздел;

2. Сносим GRUB через chroot;

3. Отключаем legacy-boot.


С такого, что UEFI побоку на вариант разметки.

Только вантус не хочет работать с UEFI без GPT.

Ну видать с очень большого :)
Такого большого, что программисты пишущие установщик anaconda, успугались и запретили своему установщику ставится на MBR в режиме UEFI.

А UEFI отлично понимает MBR, а то как тогда ты загружаешься с флешки в режиме UEFI.


Наоборот. Вначале снеси GRUB, потом откуси раздел.

Вот так примерно:

  • Снести GRUB;
  • Откусить раздел;
  • Установить efibootmgr или rEFInd;
  • Насрать в efi;
  • Ребутнуться;
  • При неудаче смотреть, что не так с efibootmgr/rEFInd и повторить с четвёртого пункта;
  • В случае очередной неудачи перечитать статью, затем кастануть меня.
r3lgar ★★★★★ ( 14.12.16 22:00:31 )
Последнее исправление: r3lgar 14.12.16 22:00:55 (всего исправлений: 1)


В случае очередной неудачи. кастануть меня.

Именно так и сделаю :3 Спасибо, завтра-послезавтра попробую. В мане пишут про особую конфигурацию ядра. Нужно ли пересобирать? Fedora 25.


В мане пишут про особую конфигурацию ядра. Нужно ли пересобирать? Fedora 25.

Писал я, но так как я гентушник, и из других дистров знаю только Linux From Scratch, то, думаю, вряд ли. Просто проверь наличие нужных параметров (если modprobe efivar/efivars (не помню уже) проходит, то всё хорошо) ядра.

// Кстати, по этому поводу было немало какашек в мою сторону, типа статья написана только для генты, но никто так и не осмелился её толково дополнить.


А вот этого я бы делать не стал. У некоторых фирмварей отключение легаси включает SecureBoot, а без подписанного ядра ты с ним не загрузишься. Да и вообще, для починки какой-нибудь не-EFI чепухи не обязательно грузиться с EFI-флэшки. Мешать оно тебе не будет, оно (почти) ни на что не влияет.


*проверил на своей системе*


Да, вы с timdorohin правы, а я не прав.


А с некоторыми firmware при mixed-mode линукс вообще отказывается запускаться. У dell на некоторых ноутах такое. Пока не попробует, не узнает.


А с некоторыми firmware при mixed-mode линукс вообще отказывается запускаться.

Не сталкивался. Вот с проблемами с установкой в mixed-mode было дело, да, но у ТС задача не установить, а мигрировать.



При включённом режиме UEFI загрузчик стряхивает в BIOS с требованием выключить этот режим, т. к. подходящих загрузочных устройств нет. ЧЯДНТ?


В течение нескольких лет от глаз большинства обычных пользователей была скрыта новая технология прошивки. Она, известная как технология Extensible Firmware Interface (EFI), или в последнее время, как технология Unified EFI (UEFI, которая является по существу версией EFI 2.x), начала заменять старый вариант прошивки Basic Input/Output System (BIOS), с которой немного знакомы, по крайней мере, наиболее опытные Интернет-пользователи.

Эта статья представляет собой краткое введение в технологию EFI для пользователей Linux, в том числе в ней даются советы о том, как начать установку системы Linux на такой компьютер. К сожалению, тема EFI является обширной; само программное обеспечение EFI является сложным, а во многих реализациях есть специфические для конкретной системы особенности и даже ошибки. Таким образом, в этой статье я не смогу описать все, что вам нужно знать для того, чтобы установить и использовать Linux на компьютере с EFI. Тем не менее, я надеюсь на то, что вы будет считать эту статью полезной отправной точкой, а ссылки внутри каждого раздела и раздела «Ссылки и дополнительная информация», расположенного в конце статьи, укажут вам, где найти дополнительную документацию.

В вашем компьютере используется EFI?

EFI является одним из видов прошивки, что означает, что это такое программное обеспечение, которое встроено в компьютер для выполнения низкоуровневых задач. Самое важное, что прошивка контролирует процесс загрузки компьютера, а это в свою очередь означает, что компьютеры, использующие EFI, загружаются не так, как это происходит в компьютерах, использующих BIOS. Немного ниже будет приведено частное исключение из этого правила. Это различие может значительно усложнить создание инсталляционного носителя с ОС, но как только все будет настроено и заработает, оно будет мало влиять на каждодневную работу компьютера. Обратите внимание, что большинство производителей для обозначения своих вариантов прошивок EFI используют термин «BIOS». Я считаю, что такое использование терминов ведет к заблуждению, так что я избегаю этого; на мой взгляд, EFI и BIOS являются двумя различными типами прошивок.

Примечание: Прошивка EFI, которую фирма Apple использует на компьютерах Mac, необычна во многих отношениях. Хотя большая часть рассуждений, излагаемых в данной статье, применима к компьютерам Mac, некоторые детали отличаются, особенно когда речь идет о создании загрузчиков EFI. Эту задачу лучше всего выполнить в OS X с помощью утилиты bless, которая есть на компьютерах Mac, но в данной статье не описывается.

Сразу как только компьютеры Mac, созданные на базе Intel, были впервые выпущены в 2006 году, на них была использована прошивка EFI. С конца 2012 года большинство компьютеров, которые поставляются с Windows 8 или более поздней версией, загружаются по умолчанию с использованием UEFI, и, на самом деле, в большинстве компьютеров, выпущенных с середины 2011 года, используется прошивка UEFI, хотя по умолчанию они могут не загружаться в режиме EFI. В некоторых компьютерах, продававшихся до 2011 года, также поддерживается прошивка EFI, хотя большинство таких компьютеров по умолчанию загружаются в режиме BIOS.

Если вы не уверены в том, есть ли в вашем компьютере поддержка EFI, вам следует посмотреть вашу утилиту работы с прошивкой setup и поискать, есть ли в руководстве пользователя ссылки на EFI, UEFI или legacy booting (старый вариант загрузки). Это можно быстро сделать при помощи поиска в файле PDF вашего руководства. Если вы не найдете ни одной такой ссылки, то ваш компьютер, вероятно, использует старый вариант BIOS («legacy BIOS»), но если вы найдете ссылки на эти термины, то определенно используется режим EFI. Вы также можете попробовать загрузиться с загрузочного носителя, на котором находится только загрузчик режима EFI. Для этого теста хорошим выбором будет образ для флешки USB или CD-R с загрузчиком rEFInd.

Следует упомянуть еще об одной дополнительной функции UEFI: режиме Secure Boot. Эта функция предназначена для минимизации риска заражения компьютера вирусами вида boot kit, которые являются одним из видов вредоносного ПО, заражающего загрузчик компьютера. В частности, эти вирусы обнаруживать и удалять особенно трудно, что делает более приоритетным их блокирование. Фирма Microsoft требует, чтобы все настольные и портативные компьютеры, на которых есть логотип Windows 8, поставлялись с включенным режимом Secure Boot. Такой вариант конфигурации усложняет установку Linux, хотя в некоторых дистрибутивах справляются с этой проблемой лучше, чем в других. Впрочем, не бойтесь режима Secure Boot в EFI или в UEFI, возможно, что в компьютере с EFI режим Secure Boot не поддерживается и даже на тех компьютерах x86-64 с EFI, на которых режим Secure Boot поддерживается, его можно отключить. Фирма Microsoft требует это для сертификации Windows 8; но это требование отменено для компьютеров ARM — для таких компьютеров, которые поставляются с Windows 8, пользователям не разрешается отключать режим Secure Boot. К счастью, в настоящее время компьютеры на основе ARM с операционной системой Windows 8 достаточно редки. Я не рекомендую ими пользоваться.

В вашем дистрибутиве поддерживается EFI?

На момент написания статьи (в конце 2013 года), в большинстве дистрибутивов Linux поддерживается режим EFI; на самом деле, большинство из них поддерживают его в течение многих лет. Но в различных дистрибутивах качество этой поддержки различно. Что касается имен нескольких популярных дистрибутивов, то по моим оценкам, качество поддержки EFI является лучшим в Fedora и падает в OpenSUSE, Ubuntu и Mint. Некоторые дистрибутивы, более близкие по принципам к технологии «сделай сам», такие как, Gentoo, официально не поддерживают EFI, но их особенности позволяют легко добавлять поддержку EFI. На самом деле, поддержку EFI можно добавить в любой дистрибутив: вам нужно его установить (даже в режиме BIOS), а затем установить на компьютере загрузчик EFI.

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

Подготовка к установке Linux

Несколько подготовительных шагов помогут вам более гладко выполнить инсталляцию вашей системы Linux на компьютере с прошивкой EFI:

Установка Linux

В большинстве дистрибутивов Linux предоставляются достаточно полные инструкции по установке; но в инсталляторах с режимом EFI я обнаружил несколько общих камней преткновения:

В некоторых случаях, вы, может быть, вынуждены установить Linux в режиме BIOS. Затем в некоторых случаях для Linux для того, чтобы начать загрузку в режиме EFI, вы сможете вручную установить загрузчик режима EFI.

Устранение постустановочных проблем

Если вы перезагрузили компьютер и он загружается непосредственно в Windows, то, вполне вероятно, что не был должным образом установлен ваш загрузчик Linux или менеджер загрузки. (Хотя вы должны сначала попробовать отключить режим Secure Boot; как я уже говорил, он часто вызывает проблемы). Есть несколько возможных решений этой проблемы:

Читайте также: