Efi system partition ubuntu сколько выделить

Обновлено: 03.07.2024

Перед тем, как начинает загружаться операционная система, специализированное программное обеспечение компьютера инициализирует все компоненты, проверяет их готовность к работе и только потом передает управление загрузчику ОС.

Раньше для этих целей использовался набор программ 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, например, сделаем так чтобы первым загружалась ОС из оптического диска:

sudo efibootmgr -o 0,1,2,3

И вернем обратно на первое место Ubuntu:

sudo efibootmgr -o 3,0,1,2


Можно изменить таймаут, чтобы отображалось меню выбора системы:

sudo efibootmgr -t 20


Здесь мы установили таймаут в 20 секунд.

Выводы

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

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Пробовал поставить Дебиан с загрузкой через EFI. Установщик при автоматической разметке диска просит под EFI полгига, я дал сто мегабайт. После установки в /boot/efi занято сто с копейками килобайт под единственный файл груба. Вопрос: сколько и главное, нафига под этот EFI раздел нужно? Есть ли какие-то официальные рекомендации? А то я теряюсь в догадках, то ли под раздел и мегабайта за глаза хватит, то ли при каком ни будь там обновлении вдруг все сто могут понадобиться.


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


Стандартный размер раздела EFI составляет 100 МБ.

полгига много, но я когда-то там хранил PartedMagic
а если чисто для загрузки - то 200 мегабайт для использования также для /boot хватает, если /boot отдельно, то и ста хватит
Если linux-only - то 50 за глаза

Не слушай наркоманов — 250-300 это минимум. Лично моё ядро 200мб занимает (да да я знаю что голое самобутабельное ядро 2мб).


Больше 100 никогда не делал. ЕМНИП максимум было занято 30%.

Если туда класть только GRUB, то вполне достаточно несколько мегабайт, но я бы, раз уж есть раздел под это, использовал его и как /boot для ядер, чтобы держать их вне LVM и тд, а для этого места уже побольше нужно. 100 мегабайт пожалуй разумный компромисс, при размере современных носителей это немного, но всё нужное для загрузки в разумных пределах спокойно влезет.


По спекам — 512 мегабайт, но можно сделать и меньше.

Для груба ведь отдельный раздел 2 мегабайта положен, отдельно от EFI идёт.

Это если разметка GPT, но загрузка через старый BIOS только, по-моему.


спека такая. а дебиан не винда, он понимает, что бывают другие ОСи и не затирает все чужое нахрен.

В данной статье предлагается пошаговое руководство, описывающее, как создать GPT-разделов на системе Ubuntu 13.10 на компьютере с прошивкой UEFI.

Поскольку система Linux Mint базируется на Ubuntu и в ней в качестве родительского дистрибутива используется тот же самый инсталлятор, эту статью также можно использовать для создания GPT-разделов и на Linux Mint 16.

Прежде чем я начал писать эту статью, я решил посмотреть на разделы GPT, созданные по умолчанию инсталлятором Ubuntu, а также те, которые создаются инсталлятором Windows 8 на компьютере с прошивкой UEFI. На рисунке ниже показаны GPT-разделы, создаваемые по умолчанию в Ubuntu.


Ниже показаны GPT-разделы, созданные по умолчанию системой Windows 8, так, как это показывается в окне инструментального средства Advanced Partitioning Tool, предназначенного в системе Ubuntu для работы с таблицами разделов.


Вы должны были обратить внимание, что в каждом конкретном случае в начале разделов есть свободное место, равное всего 1 МБ. Это свободное пространство не отформатировано и не помечено флагом как загрузочный раздел. Создается впечатление, что это просто размер по умолчанию свободного пространства, оставшегося от выделения разделов на обеих операционных системах. И он, вероятно, не имеет ничего общего с GPT или UEFI.

Мне кажется это странным, поскольку когда еще в 2011 году я писал статью «Руководство по разбиению диска на разделы GPT для системы Chakra 2011.4», то для того, чтобы заставить GParted создать GPT-разделы, требовалось, чтобы первый раздел был помечен флагом bios_grub, и чтобы на диске оставалось совсем немного свободного дискового пространства размером, скажем, от 1 МБ до 8 МБ. Но, как оказалось, это требование больше не действует. Я не знаю, как это произошло или даже то, правильный ли таким образом создавать разделы в GPT, но теперь в последних дистрибутивах и операционных системах создается это свободное пространство.

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

Так что давайте перейдем к пошаговому руководству по созданию GPT-разделов с помощью инсталлятора Ubuntu 13.10 на компьютере с прошивкой UEFI. В отличие от разделов, созданных инсталлятором Ubuntu по умолчанию, в нашем случае будет отдельный раздел, который будет смонтирован в точке /home, просто для удобства тем, кому нравится выделять под /home отдельный раздел. Это означает, что мы будем создавать пять разделов - bios_grub (bios_boot), boot-efi, / (root), /home и Swap.

Инсталляционным носителем, используемым для этого урока, является флешка USB и система Ubuntu 13.10, которая была загружена на флешку с помощью программы UNetbootin, работающей в KDE на системе Fedora 19. Если у вас поблизости нет флешки USB, вы всегда можете записать образ ISO на DVD. Чтобы убедиться, что вы собираетесь использовать версию инсталлятора Ubuntu с GPT/UEFI, перейдите в меню загрузки компьютера и выберите соответствующую опцию. Как переходить в меню загрузки компьютера, варьируется от поставщика к поставщику, так что вам придется выяснить, какой клавишей это сделать для вашего компьютера. Как правило, это одна из функциональных клавиш (клавиши F). На моем компьютере, это клавиша F11.

На следующем скриншоте показано, как это выглядит у меня. Вы можете заметить две почти идентичные записи для флешки USB: одна - USB: Ut165 USB2FlashStorage0.00, другая - UEFI: Ut165 USB2FlashStorage0.00. Выбор варианта «USB: Ut165 USB2FlashStorage0.00» позволит загрузить инсталлятор Ubuntu 13.10 для MBR, а выбор варианта «UEFI: Ut165 USB2FlashStorage0.00» позволит загрузить версию GPT/UEFI этого интсаллятора. При создании разделов для этого руководства урока, очевидно нужно выбрать



В результате вы должны перейти к окну инструментального средства расширенных настроек разделов Advanced Partitioning Tool. На следующем скриншоте показано, как оно выглядит на компьютере, используемом при написании данного руководства, после того, как будут удалены все существующие разделы. Чтобы начать создание необходимых разделов, выберите свободное пространство (free space) так, как показано на рисунке, и нажмите на кнопку «+».


В результате должен быть открыт редактор разделов инсталлятора. Здесь следует указать размер раздела, его точку монтирования и то, как он должен быть отформатирован (для какой файловой системы). Все разделы, которые вы создаете, будут первичными разделами (Primary), так что вам не придется беспокоиться о выборе варианта Primary или Logical. Если вы понятия не имеете, что означает «первичный» или «логический» раздел, вы можете прочитать Руководство по дисками и дисковым разделам в системе Linux .


Чтобы все выполнить по-старому, если это так можно назвать, первым разделом должен быть раздел биос-загрузки. Дисковое пространство будет равно всего 1 Мб. В меню Use as (Использовать как) выберите вариант Reserved BIOS boot area (Зарезервированная область загрузки BIOS). Нажмите ОК.

ОБНОВЛЕНИЕ: Вам не нужно создавать этот раздел. Уже нет необходимости создавать раздел с флагом bios_grub, хотя если вы его сделаете, ничего из строя не выйдет.


Когда вы вернетесь в главное окно создания разделов, вы заметите, что у нового раздела будет установлен флаг biosgrub (bios_grub). Выберите свободное пространство и еще раз нажмите на кнопку «+» для того, чтобы создать следующий раздел. Этот шаг необходимо также повторить для других разделов.


Следующий раздел будет разделом GPT/UEFI, эквивалентным загрузочному разделу boot. Чтобы сделать это так, вы должны в меню Use as (Использовать как) выбрать вариант EFI boot partition (загрузочный раздел EFI). По умолчанию в инсталляторе Ubuntu 13.10 для этого раздела будет выделено дисковое пространство размером в 511 Мб. Нажмите ОК.


Для корневого раздела root выделите на диске столько места, чтобы его было достаточно для установки системы, а также для последующего увеличения в будущем количества аккаунтов. Рекомендуемый минимальный дискового пространства для Ubuntu 13.10 составляет около 6 ГБ. Затем в меню Mount point (Точка монтирования) выберите "/", а в меню Use as (Использовать как) выберите вариант Ext4 journaling file system (журналируемая файловая система Ext4). Нажмите ОК.


Для раздела /home выделите любой объем дискового пространства, который вы хотите, выберите /home в качестве точки монтирования и ту файловую систему, которая показана. Затем нажмите кнопку ОК. Обратите внимание, что если вы хотите сделать установку на файловой системе btrfs , вам не нужен будет отдельный раздел /home. Более подробно об этом смотрите в статье Как установить Ubuntu 13.10 и Linux Mint 16 на файловой системе Btrfs .


Для раздела подкачки Swap дисковое пространство, выделяемое по умолчанию инсталлятором системы Ubuntu, составляет 4 ГБ. Я не вижу причин, чтобы на 64-разрядной системе менять это значение. В меню Use as (Использовать как) выберите вариант swap area (область подкачки), затем нажмите кнопку ОК.


В последний раз вернитесь в главное окно выделения разделов, вы должны увидеть все разделы которые вы создали. Вы можете приступить к остальной части установки.

Системный раздел EFI (также называемый ESP или EFISYS) представляет собой физический раздел в формате FAT32 (в основной таблице разделов диска, а не под LVM или программным RAID и т.д.), откуда прошивка UEFI запускает загрузчик и приложение UEFI.

Это независимый от ОС раздел, который служит местом хранения загрузочных устройств EFI и приложений, которые будут запускаться с помощью прошивки EFI. Это необходимо для загрузки UEFI.

Важно: Если вы выполняете двойную загрузку с существующей установкой Windows в системе UEFI/GPT, не форматируйте раздел UEFI, так как это включает в себя файл Windows .efi, необходимый для ее загрузки. Другими словами, используйте существующий раздел как есть и просто монтируйте его.

Contents

Создание раздела

В следующих двух разделах показано, как создать системный раздел EFI (ESP).

Примечание: Рекомендуется использовать GPT для загрузки UEFI, потому что некоторые прошивки UEFI не позволяют загружать UEFI-MBR.

Рекомендуется сохранять размер ESP на 512 Мбайт, хотя меньшие/большие размеры тоже приветствуются. [1]

Согласно примечанию Microsoft[2], минимальный размер для системного раздела EFI (ESP) будет составлять 100 МБ, хотя это не указано в спецификации UEFI. Обратите внимание, что для дисков расширенный формат 4K Native drives (4 КБ на сектор) размер составляет не менее 256 Мбайт, поскольку это минимальный размер раздела дисков FAT32 (рассчитанный как размер сектора (4 КБ) x 65527 = 256 Мбайт), из-за ограничений файловой системы FAT32.

Разметка дисков GPT

Выберите один из следующих способов создания ESP для диска GPT с разделами:

Разметка дисков MBR

Форматирование раздела

После создания ESP вы должны форматировать его как FAT32:

Если вы использовали GNU Parted выше, тогда раздел уже должен быть отформатирован.

Монтирование раздела

This article or section needs expansion.

В случае EFISTUB файлы ядра и initramfs должны храниться в системном разделе EFI. Для простоты вы также можете использовать ESP в качестве самого раздела /boot вместо отдельного раздела /boot для загрузки EFISTUB. Другими словами, после создания и форматирования системного раздела EFI, как указано выше, просто смонтируйте на /boot .

Известные вопросы

ESP на RAID

Можно сделать часть ESP массива RAID1, но при этом возникает риск повреждения данных, и при создании ESP необходимо учитывать дополнительные соображения. Для получения допольнительной информации смотрите [3] и [4].

Советы и хитрости

Использование bind монтирования

Вместо того, чтобы устанавливать ESP на /boot , вы можете подключить каталог ESP к /boot с помощью bind монтирования (смотрите mount(8) ). Это позволяет pacman обновлять ядро напрямую, сохраняя при этом организацию ESP по своему вкусу.

После проверки успеха отредактируйте свой Fstab, чтобы изменения были постоянными:

Я хочу увеличить размер системного раздела EFI до 750 МБ, чтобы я мог установить Arch Linux вместе с Windows 10, поскольку системный раздел EFI Windows дал мне всего лишь 100 МБ, что слишком мало. Arch Linux рекомендует монтировать ESP в /boot вместо /boot/efi а 100 МБ слишком мал для /boot . Я не хочу трогать раздел восстановления.

3 ответа 3

Спецификация загрузчика является попыткой решить некоторые реальные проблемы с сосуществованием дистрибутива Linux на мультизагрузочных компьютерах; однако, поскольку он был принят только одним крупным дистрибутивом, даже после нескольких лет существования, он не дает никаких практических преимуществ. Более того, спецификация загрузчика тесно связана с менеджером загрузки systemd-boot, который довольно непопулярен, за исключением сообщества Arch. Хотя у systemd-boot есть некоторые преимущества, если вы не достаточно знакомы с полем, чтобы понять эти преимущества и знать, что они вам нужны, вы, возможно, не захотите начинать настраивать их странным образом (например, монтировать ESP в /boot ) включить использование systemd-boot. Более того, у systemd-boot есть один огромный недостаток: он может запускать последующие программы загрузки (включая ядра Linux) только с того раздела, с которого он был запущен. Это, в свою очередь, означает, что, если вы используете systemd-boot, вы в значительной степени привержены тому, чтобы хранить systemd-boot, свои ядра Linux и загрузчики для других ОС (например, Windows) в одном разделе - ESP. Это соответствует видению спецификации загрузчика, но создает свои собственные проблемы.

Тем не менее, если вы хотите увеличить ESP, вы можете сделать это с помощью различных инструментов; однако это означает, что вам нужно уменьшить следующий раздел от начальной точки. Это более рискованно и требует больше времени, чем сокращение раздела с его конца, поэтому я настоятельно рекомендую создать резервную копию следующего раздела. Кроме того, на компьютере Windows раздел, следующий за ESP, скорее всего, будет разделом Microsoft Reserved, который в основном является пустым разделом, который Windows использует для чистого пространства. Обычно в нем нет файловой системы, поэтому большинство инструментов разметки не позволяют вам сжимать ее - и Windows нравится, чтобы она была определенного размера (100 МБ или 128 МБ, IIRC). Вместо этого вам может потребоваться уменьшить размер раздела после зарезервированного раздела Microsoft, удалить зарезервированный раздел Microsoft и создать новый. Это все одна большая проблема и значительно увеличивает риски, связанные с установкой новой ОС.

Вместо этого вы можете захотеть создать новый ESP в другом месте на диске. После того, как вы освободите место для Arch Linux, вы можете создать новый ESP и другие разделы для Arch Linux. В зависимости от используемого вами менеджера загрузки, вы можете просто иметь отдельные Arch и Windows ESP; или вы можете переместить файлы загрузчика Windows на новый ESP и удалить или повторно назначить исходный ESP. Обратите внимание, что поскольку systemd-boot не может запускать загрузчики, которые находятся на разделах, отличных от его собственного, если причина для установки ESP как /boot заключается в том, что вы хотите использовать systemd-boot, вам придется перенести загрузку Windows загрузчик нового ESP, если вы ожидаете запустить его из systemd-boot. Кроме того, в последний раз, когда я проверял (что было с Windows 7, так что это может больше не быть правдой), установщик Windows сильно запутался и стал работать со сбоями, если увидел два ESP на диске, что сделало невозможной установку Windows на таком диске , Таким образом, если вы настроите два ESP, у вас могут возникнуть проблемы в будущем. Такие проблемы могут быть легко преодолены путем временного изменения кода типа раздела не-Windows ESP, но вы должны знать об этом обходном пути.

В целом, хотя я признаю, что сообщество Arch любит монтировать ESP в /boot и использовать его для хранения ядер Linux, которые (часто) запускаются через systemd-boot, этот подход создает сложности и мало или вообще не дает существенных преимуществ. В целом, вам, вероятно, лучше использовать GRUB 2 или мой собственный rEFInd, оба из которых будут соответствовать вашему маленькому ESP и запускать ядра, хранящиеся в другом месте. На моей странице загрузчиков EFI для Linux более подробно описаны параметры загрузчика и диспетчера загрузки Linux.

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