Разметка диска для linux uefi

Обновлено: 01.07.2024

Помните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? На смену уже давно пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).

Предыстория: Понадобилось мне недавно на свой домашний десктоп поставить 2 системы, чтобы разграничить окружение. Kubuntu для разработки на Ruby on Rails (ибо работаю удаленно), и Windows для всяких игрушек в свободное время. Хочу заметить, что несколько лет назад это было достаточно просто: один раздел для винды и один раздел для линукса, загрузчик записывался в MBR. Однако, технологии не стоят на месте, и оказалось, что настройка dual boot'а теперь несколько изменилась.

Итак, начнем.

Терминология


UEFI (Unified Extensible Firmware Interface, Единый расширяемый интерфейс прошивки) разрабатывался компанией Intel как замена BIOS (Basic Input Output System). В отличие от 16-битного BIOS'а UEFI работает в 32- или 64-битном режиме, что позволяет использовать намного больше памяти для сложных процессов. Кроме того, UEFI приятно выглядит и там есть поддержка мышки.

image

  • Количество разделов: MBR поддерживает только 4 раздела. Можно и больше, но только через extended partition, что является просто хаком ограничений. GPT поддерживает до 128 разделов.
  • Размер диска: MBR поддерживает диски до 2Тб, в то время как GPT — до 9.4 Зеттабайт (=9.4 × 10^21 байт, или условно 1000 Тб)
  • Порядок загрузки: раньше BIOS загружал MBR, и в нем содержались адреса загрузчиков для каждого раздела диска. Теперь UEFI считывает GPT, находит в таблице все разделы типа efi (на них содержатся загрузчики), и подгружает их в память. Разберем это на примере немного позже.

Что делаем:

  • Windows 8.1 x64. Windows поддерживает загрузку с GPT начиная с Windows 8 для 32 битной архитектуры и с Windows Server 2003 и Windows Vista для 64 бит (Источник).
  • Kubuntu 15.04. По идее подойдет любой дистрибутив, который поддерживает Grub2, лично я предпочитаю Kubuntu.

Разбивка диска

Сначала устанавливаем Windows 8, т.к. она автоматически будет использовать GPT.
Разбивка будет выглядеть так (пардон за кривой снимок):

image

  1. Recovery (300Мб). Очевидно, что он используется для восстановления системы. Оставим как есть.
  2. EFI partition (100Мб). Помечается как system type (не любят в Майкрософте называть вещи своими техническими именами). Собственно сюда и пишутся загрузчики.
  3. MSR (128Мб, Microsoft Reserved Partition). Для меня остается загадкой, зачем он нужен. Данных там никаких нет, просто пустое место, зарезервированное для каких-то непонятных целей в будущем.
  4. Основной раздел. Мы его поделим на 3: 200 гигов под винду, 500 гигов для раздела под данные и остальное пространство пока оставим неразмеченным (отформатируем потом при установке Kubuntu).

Пропустим саму установку Windows, т.к. в ней все стандартно и понятно.

Теперь загрузимся с USB в Kubuntu Live.

Проверим EFI раздел:

Boot0000 — виндовый загрузчик
Boot0001 — дефолтный загрузчик
Boot0003 — флешка с Kubuntu Live
Обратите внимание, что список загрузчиков не привязан к одному физическому диску как в MBR. Он хранится в NVRAM.

Можем также сразу посмотреть, что же в этом разделе, подмонтировав его:

Там окажутся следующие файлы:

Убедились, что все хорошо. Теперь продолжаем разбивку диска (через KDE Partition Manager).

image

  • sda2 определился как FAT32. Это практически верно, т.к. файловая система типа EFI основана на FAT, только с жесткими спецификациями.
  • sda3 (MSR) не определился, т.к. файловой системы там так таковой нет.

Нам осталось только отформатировать раздел для Kubuntu в ext4, и выделить раздел под swap.

Несколько слов про swap. Рекомендуют на swap выделять от SQRT(RAM) до 2xRAM. Т.к. у меня 16 Гб RAM, то по минимуму мне надо 4 Гб свопа. Хотя я с трудом могу представить ситуации, при которых он будет использоваться: десктоп в hibernate я не перевожу, и сильно тяжелых программ, которые жрут больше 16 гигов, не использую.

P.S. При форматировании раздела в swap Partition Manager может выдать ошибки, которые связаны с тем, что Kubuntu автоматически монтирует в себя любой swap раздел, однако на результат эти ошибки не влияют.

Итак, финальная разбивка:

image

Теперь самое главное для правильного dual boot'а. При установке Kubuntu важно выбрать, куда установить загрузчик:

image

Указываем, конечно же на раздел EFI.

После завершения установки Kubuntu, заходим в систему и проверяем, какие файлы появились на efi разделе (монтировать уже не нужно):

Смотрим, как теперь выглядит список загрузчиков:

Вот как это выглядит при загрузке:

image

А еще эти загрузчики доступны сразу из UEFI (в старом BIOS'е такое было бы невозможно — там был выбор только диска, он просто не знал, что такое загрузчики):

image

Ну и напоследок: чтобы dual boot правильно работал, в Windows надо обязательно отключить fast boot. Это такая нехорошая фича, которая может привести к потере данных.

image

При выключении компьютера Windows сохраняет файловую структуру NTFS разделов в файл (видимо, потому что один файл прочитать быстрее, чем сканировать много разных файлов). Если записать файл на NTFS раздел через линукс, и потом загрузиться в Windows, то Windows просто не увидит файл. Источник

Если выключить комп через Windows, и потом попытаться загрузить Linux, то он просто не запустится из-за «ошибки» NTFS. Источник

Итак, вы указали в настройках BIOS загрузку с CD/DVD или с USB, и при загрузке с Ubuntu LiveCD получили вместо фиолетового экрана с пиктограммами клавиатуры и человечка вот такой экран:

Загрузка с UEFI

Ничего страшного, так бывает 1) . В этом случае нужно учесть ряд моментов, о которых и будет рассказано в этом разделе. Кстати, наличие фиолетового экрана при загрузке совсем не означает, что у вас нет UEFI, просто с чёрным экраном все особенности UEFI проявляются наиболее ярко. Так что, в любом случае прочитать этот раздел будет очень полезно. А пока смело выбирайте верхнюю строчку «Try Ubuntu without installing» и нажимайте Enter . После непродолжительного ожидания вы попадёте на рабочий стол Ubuntu, и, пока ждёте загрузки Ubuntu, поговорим об UEFI.

Введение в UEFI и GPT

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

Что происходит при включении компьютера? Прежде всего компьютер должен корректно инициализировать сам себя, то есть своё собственное оборудование, и передать управление загрузчику операционной системы. Занимается этим процессом «Extensible Firmware Interface» (EFI) (Расширяемый интерфейс прошивки) — интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования. Раньше за это отвечал BIOS, а теперь EFI, который после очередного изменения стандарта стал называться «Unified Extensible Firmware Interface» (UEFI) — это название и будет использоваться в дальнейшем. Надо заметить, что UEFI, как более современный интерфейс, полностью поддерживает все функции BIOS, обратное, к сожалению, не верно. В настройках режим поддержки BIOS чаще всего называется «Legacy» («наследуемый» или «традиционный» по-английски) или просто «UEFI Disabled» («UEFI отключён», как не трудно догадаться). Сейчас, однако, нас интересует включённый режим UEFI.

Итак, при включении компьютера UEFI начинает инициализировать оборудование и находит какое-то блочное устройство, скажем, жёсткий диск. Вы, наверное, знаете, что целиком жёсткий диск практически никогда не используется — диск обязательно разбивается на разделы, в том числе и для удобства в обращении. А вот разбить его на разделы можно, на сегодняшний день, двумя стандартными способами: с помощью MBR или GPT. В чём их отличие?

MBR («Master Boot Record» — основная загрузочная запись) использует 32-битные идентификаторы для разделов 2) , которые размещаются в очень маленьком кусочке пространства (64 байта) в самом начале диска (в конце первого сектора диска). Из-за такого маленького объёма поддерживаются только четыре первичных раздела (подробнее об этом можно узнать в этой статье). Поскольку используется 32-битная адресация, то каждый раздел может быть не более 2,2 ТБ. Кроме того, загрузочная запись не имеет никакой запасной MBR, так что если приложение перезапишет основную загрузочную запись, то вся информация о разделах будет потеряна.

GPT («GUID Partition table» — таблица разделов GUID) использует уже 64-битные идентификаторы для разделов, поэтому кусочек пространства, в котором сохраняется информация о разделах, уже больше чем 512 байт, кроме того, не существует ограничения на количество разделов. Заметьте, ограничение на размер раздела в этом случае почти 9,4 ЗБ (да-да, вы всё прочитали правильно — зеттабайт, единичка с двадцатью одним нулём!). А в конце диска имеется копия GPT, которая может использоваться для восстановления повреждённой основной таблицы разделов в начале диска 3) .

Так вот, когда связь между оборудованием и операционной системой осуществляется через включённый режим UEFI (а не Legacy BIOS), использование GPT для разбивки разделов является практически обязательным, иначе наверняка возникнут проблемы совместимости с MBR 4) .

Ну вот, с блочными устройствами, кажется, разобрались, UEFI всё корректно инициализировал, и теперь он должен найти загрузчик операционной системы и передать управление ему. В первом приближении это выглядит так: поскольку UEFI преемник BIOS, то он выполняет поиск загрузчика в строгом соответствии с установленными правилами. Если он находит загрузчик операционной системы, который не поддерживает UEFI, то активируется режим эмуляции BIOS (именно так, даже если Legacy BIOS явно не указан). И начинается всё сначала, с той лишь разницей, что теперь уже эмулированный BIOS проверяет состояние оборудования и загружает микропрограммное обеспечение — простые драйверы для отдельных аппаратных компонентов. После этого эмулированный BIOS опять выполняет поиск загрузчика ОС и активирует его. Тот, в свою очередь, загружает операционную систему или выводит на экран список доступных ОС 5) .

А в случае UEFI всё происходит несколько иначе. Дело в том, что UEFI имеет собственный загрузчик операционных систем с интегрированными менеджерами запуска установленных ОС. С этой целью для него — для загрузчика UEFI — на диске должен быть создан небольшой раздел (100–250 МБ), который называется «Extensible Firmware Interface System Partition» (системный раздел расширяемого интерфейса прошивки, ESP). Кроме указанного размера, раздел должен быть отформатирован в файловой системе FAT32 6) и быть загрузочным. На нем находятся драйверы аппаратных компонентов, к которым может получать доступ запущенная операционная система. И в этом случае загрузка происходит прямо с этого раздела, что намного быстрее.

Итак, подведём некоторые итоги: чтобы по полной задействовать функционал UEFI, диск должен быть с GPT, и на нём должен быть специальный раздел ESP 7) . Обратите внимание на фразу «чтобы по полной задействовать функционал» — существует масса способов установки Ubuntu на систему с «урезанным» в той или иной степени UEFI, и все они зависят от наличия или отсутствия предустановленных операционных систем на вашем компьютере. Например, вы хотите оставить предустановленную Windows. Какую Windows — «семёрку» или новомодную 8.1? А может быть у вас, не дай бог, установлена «ператская винда», активированная с MBR, и не желающая запускаться с GPT, и вы, тем не менее, хотите дальше её изучать? Кроме того, очень много зависит от разрядности операционных систем — без плясок с бубном невозможно 32-битную систему заставить работать с UEFI. И таких примеров достаточно много. Поэтому в этом разделе пойдёт разговор только про установку Ubuntu в режиме «максимально полного» задействования возможностей UEFI, хотя даже после прочтения этого введения, вы уже сможете представлять устройство своего компьютера и, при желании, реализовать свой собственный сценарий установки.

Ну что, приступим?

Разметка диска

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

Итак, вы загрузились в Ubuntu с LiveCD в режиме UEFI. Открывайте «Редактор разделов GParted» 8) , а пока поговорим об очень важных особенностях, на которые нужно обратить внимание.

Самое главное, у вас должен быть план ваших действий, поверьте — перечень шагов и порядок их выполнения достаточно обширен, так что желательно записать где-нибудь на бумажке основные пункты плана и периодически с ними сверяться. Итак, что же вам известно. Для нормальной установки Ubuntu в режиме UEFI жёсткий диск вашего компьютера должен быть правильно подготовлен, а именно:

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

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

Начнём с ответа на второй вопрос: о наличии других операционных систем. Если на вашем компьютере уже установлены операционные системы, поддерживающие загрузку в режиме UEFI (например, Windows 8), и вы не намерены пока от них отказываться, то первые два пункта плана уже выполнены: раздел ESP наверняка уже есть, ну и диск, разумеется, с GPT. Давайте проверим, что это действительно так.

Предположим, после запуска редактора разделов GParted у вас откроется вот такое окно 9) :

Окно GParted

Какую информацию можно получить при внимательном изучении этого окна? Во-первых, посмотрите на столбец «File System» («Файловая система»): все разделы отформатированы в ntfs , кроме одного раздела с файловой системой fat32 — это, по всей видимости, и есть раздел ESP. На диске уже установлена Windows 8 (раздел /dev/sda4 — в Windows это диск C: ) — об этом говорит метка диска (столбец «Label»). Во-вторых, на жёстком диске есть ряд служебных разделов Windows — об этом можно узнать не только по меткам ( WINRE_DRV и LRS_ESP ), но и по флагам (столбец «Flags») — все эти разделы скрыты, поскольку у них установлен флаг hidden , что намекает на специальный характер информации на них. И, наконец, присмотритесь к разделу /dev/sda5 — вы случайно не потеряли диск D: в Windows? Вот он, в целости и сохранности.

Итак, первые два пункта плана уже выполнены, а реализация третьего пункта: создание разделов для Ubuntu — достаточно подробно описана в примере использования GParted для переразбивки жёсткого диска. Напомним вкратце, что от диска с данными (в примере это /dev/sda5, или диск D: в Windows) нужно «отрезать» достаточное пространство и на его месте создать три раздела: подкачки, системный и раздел для домашнего каталога. Учтите также, что ваш диск — GPT, так что расширенного раздела, содержащего логические диски, у него нет, следовательно, при создании разделов выбирайте Primary partition («Основной раздел»).

Не производите никаких операций со служебными разделами Windows — они предназначены для нормального функционирования этой ОС. Случайное или преднамеренное изменение этих разделов гарантировано приведёт к возникновению проблем в Windows, вплоть до полной её неработоспособности.

В итоге должно получиться что-то похожее на эту картинку:

Результат работы GParted

Здесь показаны дополнительно созданные разделы:

/dev/sda6 — системный раздел для вашей будущей Ubuntu, в примере его размер 15 ГБ; /dev/sda8 — раздел для пользовательских данных или, другими словами, раздел для домашнего каталога /home — в примере под него выделено всё оставшееся свободное пространство. /dev/sda6 — системный раздел (раздел для «корня» системы) /dev/sda8 — раздел для пользовательских данных.

Эта информация очень пригодится в дальнейшем при установке Ubuntu, поскольку из-за большого количества разделов можно очень легко запутаться и назначить не той «цифре» требуемую точку монтирования.

А что делать, если ОН 11) уже наступил вы решили отказаться от использования других операционных систем и хотите установить Ubuntu единственной системой?

Нет ничего проще, хотя и придётся постараться. Прежде всего хочется предупредить, что после этого вся, абсолютно вся информация на вашем жёстком диске будет утрачена 12) . Так что позаботьтесь о резервном копировании всех важных для вас файлов. Есть, конечно, способ избежать бэкапа, но только если общий объём сохраняемых файлов немного меньше половины общего дискового пространства. Догадаетесь как 13) ?

Тем не менее, продолжаем работать с редактором GParted. Ваша задача — удалить все разделы и на свободном месте создать нужную для Ubuntu конфигурацию диска. Для этого можно щёлкнуть правой кнопкой мыши на каждом из разделов и выбрать из выпадающего меню пункт «Delete». Но лучше поступить по-другому: найдите на панели меню редактора GParted пункт «Device» (Устройство) и выберите в меню «Create Partition Table…» (Создать таблицу разделов…). Появится предупреждение:

WARNING: This will ERASE ALL DATA on the ENTIRE DISK /dev/sda

(ВНИМАНИЕ: это приведёт к УДАЛЕНИЮ ВСЕХ ДАННЫХ на ВСЁМ ДИСКЕ /dev/sda)

Не переживайте, вы же позаботились о резервных копиях? Посмотрите чуть ниже — на надпись «Advanced» (Подробности). Щёлкните мышью на треугольник слева и в меню выберите gpt :

Выбор GPT

Всё дисковое пространство станет серым. Щёлкните на нём правой кнопкой мыши и начните создавать необходимые разделы, выбрав «New» (Новый) из выпадающего меню. Первый из новых разделов — специальный раздел ESP, требуемый, как вы помните, для работы UEFI. Поскольку он форматирован в неродной для Linux файловой системе, и кроме того, должен быть загрузочным, то расположить его надо в начале дискового пространства. Определите ему размер в поле «New size (MiB)» (Новый размер в МиБ 14) ) 100 МБ 15) , а файловую систему — fat32 :

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

Таким же образом создайте разделы под будущие: системный (15 ГБ с файловой системой ext4 ), раздел подкачки (4 ГБ с linux-swap ) и для домашнего каталога (всё оставшееся пространство в ext4 ). Как вы помните, GParted применяет изменения не сразу, а просто ставит их в очередь на выполнение. Поэтому нажмите на зелёную галочку «Apply All Operations» (Выполнить все операции):

Применить изменения

Да, совсем не обязательно управлять флагами загрузки на этом этапе — установщик Ubuntu выполнит всё так, как надо. А теперь внимательно читайте про то, как устанавливать Ubuntu, и, как будете готовы, продолжим.

Установка Ubuntu

После такой подготовительной работы установка Ubuntu не вызовет трудностей, особенно если вы внимательно прочитали правила установки. Просто достаньте бумажку с перечнем разделов и обратите внимание, что для специального раздела EFI (/dev/sda2 из примера о совместной установки Ubuntu и Windows) нужно точно назначить свойство загрузочного раздела EFI, а не резервной загрузочной области BIOS:

Назначение раздела EFI

Если вы этого не сделаете, то установщик покажет вам такое уведомление:

Ошибка при установке

Исправьте ошибку, а если не получится, выйдите из установщика, запустите редактор GParted и проверьте, что всё, рассказанное выше, выполнено.

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

Возможные проблемы

Иногда бывает так, что после установки одна из операционных систем, предустановленных на компьютере, не запускается. Что ж, не вдаваясь в достаточно сложные способы приведения всего в норму, отметим, что есть комплексное решение возможных проблем с загрузкой. Имя этому решению — Boot-repair 16) .

Придерживайтесь золотого правила: «Никогда не чинить то, что ещё не сломалось»!

Загрузитесь в Ubuntu. Не имеет значения как вы это сделаете — Boot-Repair работает как с LiveCD, так и на установленной системе. Разумеется, если вы испытываете трудности с загрузкой только что поставленной Ubuntu, то первый способ становится единственным 17) . Для начала Boot-Repair нужно поставить на ваш компьютер, делается это с помощью терминала. Нажмите Ctrl + Alt + T и в появившемся окне наберите:

FIXME

: Изменить команду ближе к выходу релиза.

Сейчас вы, конечно, скажете: «Вы что там, совсем? Столько букв — я же ничего не понимаю и обязательно ошибусь!» Разумеется, никто представленную команду 18) по буквам в терминал не вводит — просто выделите её полностью и щёлкните средней кнопкой мыши в окне терминала, или перетащите выделенный текст туда же. Нажмите Enter . Если вы находитесь в уже установленной Ubuntu, появится предложение ввести ваш пароль. Обратите внимание, при вводе пароля никакие символы не отображаются: ни точки, ни звёздочки — вообще ничего, — наверное, не нужно объяснять почему так сделано. После ввода пароля опять нажмите Enter .

Загрузите открытый ключ репозитория с программой из хранилища доверенных ключей 19) :

Обновите список приложений командой:

Установите и запустите Boot-Repair :

После непродолжительного сканирования появится основное окно Boot-Repair :

Стартовое окно Boot-Repair

FIXME

: В процессе написания.


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

На самом деле выполнение работы с разделами для любой реализации Linux или Windows на основе U / EFI не намного сложнее, чем написание таблиц разделов для стандартной операционной системы на основе MBR. Однако использование более новой технологии GUID Partition Table (GPT) может сбивать с толку, поскольку она не поддерживает расширенные или логические разделы. Это нелогично для тех, кто работал с более традиционными технологиями. Установки на основе EFI хранят свои загрузчики в системном разделе EFI вместо основной загрузочной записи, что означает, что GRUB будет жить где-то еще, чем не привыкло, если вы загружаете или используете двойную загрузку Linux. Пользователи с предустановленной Windows где-то на диске уже имеют один из этих разделов.

У вас есть возможность полностью переформатировать накопитель для UEFI с использованием стиля GPT, хотя первоначальная спецификация EFI также поддерживает разбиение MBR. Если вы используете двойную загрузку Windows и GNU / Linux, вы также можете конвертировать существующий диск с помощью командной строки Windows. Тем не менее, обратите внимание, что использование такого рода механизмов для дополнительной загрузки OS X или macOS Sierra, скорее всего, не будет следовать тем же шагам.

Способ 1. Преобразование существующего диска с помощью командной строки Windows

Загрузите компьютер с карты памяти установки Windows или DVD. Возможно, вам понадобится удерживать нажатой клавишу, например F1 или F2, чтобы войти в меню конфигурации U / EFI BIOS, чтобы выбрать опцию съемного носителя. Как это сделать, зависит от разных поставщиков оборудования. Пользователи нетбуков Asus могут вместо этого удерживать нажатой клавишу Esc после нажатия, что даст им меню опций и, таким образом, позволит им выбрать правильный загрузочный носитель. Если у вас возникли проблемы, включите загрузку UEFI на экране конфигурации BIOS, а затем проверьте, можете ли вы загружаться с любой USB-карты памяти, созданной вами с помощью таблицы GPT, если это применимо. Возможно, вам придется сначала включить эту опцию, прежде чем она позволит вам сделать это открыто. Если вам необходимо создать USB-накопитель с действующим многопользовательским USB-накопителем UEFI GRUB2, перейдите к способу 6.

После загрузки удерживайте нажатой клавишу «Shift» и одновременно нажмите клавишу «F10», чтобы открыть окно терминала DOS. Введите diskpart, затем укажите диск и, наконец, выберите диск, а затем номер диска, чтобы определить диск, который вы пытаетесь переформатировать. После того, как вы выбрали его, введите clean, а затем скрытый gpt. Это может занять несколько минут, но вы можете сразу после этого набрать команду exit, когда будете готовы двигаться дальше. Имейте в виду, что вы, вероятно, не хотите делать это с диском с действующими файловыми системами, но, как сообщается, несколько человек сделали это. Прежде чем продолжить, всегда лучше сделать резервную копию важных данных, чтобы предотвратить потерю чего-либо важного.

Способ 2. Создание новой таблицы GPT в Linux с помощью gdisk

Возможно, вы уже знакомы с использованием fdisk или cfdisk. Эти программы работают с накопителями на базе MBR. Предположим, вы хотели настроить новый диск на базе GPT. Вы можете использовать gdisk, ближайший к fdisk, или cgdisk, ближайший к cfdisk, для настройки данного диска. Эти утилиты, естественно, имеют свои собственные справочные страницы, так что это хорошее место для начала, если вы уже знаете, как использовать fdisk или cfdisk.

Предполагая, что ваш диск сопоставлен с / DEV / SDA и не имеет действительной таблицы разделов, мы могли бы запустить gdisk / dev / sda из корневой подсказки. Возможно, вы захотите загрузиться с живого CD, DVD или USB Linux, чтобы выполнить эту работу. Помните, что это потенциально разрушительно, и в этом примере мы используем пустой диск. Бег wipefs -a / dev / sda Это хороший способ удалить любые подписи с диска, но еще раз это сделает все, что у вас есть на нем, недоступным. Вы можете заменить / DEV / SDA с любым другим файлом устройства диска, но убедитесь, что вы не добавляете номер раздела после его имени.


Поскольку GPT измеряет данные на диске в блоках, вы не увидите никакой информации о геометрии C / H / S. Если вы нажмете «o», а затем нажмете «Enter», новый пустой GPT будет создан, если у вас его еще нет. Запуск wipefs -a с именем файла устройства после гарантирует, что у вас его нет. Возможно, вы захотите попробовать p для просмотра таблицы, если не знаете, установлена ​​ли она у вас. Вы должны всегда делать это, чтобы убедиться, что вы работаете с правильной таблицей разделов, прежде чем вносить радикальные изменения. Вернувшись к приглашению «Команда (? Для справки):», введите v и введите, чтобы проверить диск. Команда n добавит новый раздел, который вам нужно будет сделать, если ваш диск пуст. Это было бы в случае, если вы побежали wipefs -a / dev / sda, заменив имя файла устройства тем диском, который вы могли использовать.

Расположение и размеры ваших новых разделов должны быть введены в абсолютной форме, если вы не используете полностью относительные значения. Например, вы можете указать + 64 ГБ, чтобы создать 64-битный гигабайтный раздел после текущего начала блока свободного пространства. Вас попросят указать тип раздела. Если вы создаете небольшой раздел для региона EFI или UEFI, вам необходимо использовать тип ef00. В противном случае вы, вероятно, будете работать с типом 8304 для корневых файловых систем Linux на процессорах x86_64.

Администраторы 32-битных машин могут вместо этого захотеть использовать 8303, поскольку это соответствует набору команд x86. Сам Linux не очень точен в отношении номеров типов разделов, которые вы используете, но ваш загрузочный код может быть таким.

Чтобы изменить тип раздела, который вы уже создали, введите t, и вы получите запрос с просьбой указать номер раздела. Введите номер раздела и нажмите Enter. В шестнадцатеричном коде или GUID (L для отображения кодов, введите = 8300): введите шестнадцатеричный код для требуемого типа. Нажав L и нажав Enter, вы увидите большую таблицу с указанием различных типов разделов, которые может создать ваша версия gdisk. Введите желаемый тип номера раздела и нажмите Enter.

Возможно, вы заметили, что когда вы запускаете команду p, вы видите столбец имени, который дает каждому разделу описательную метку. Эти метки не зависят от меток томов файловой системы, установленных вами при форматировании разделов. Введите команду c и нажмите Enter, чтобы редактировать эти метки. Программа gdisk предложит вам ввести номер раздела. Введите один из них, а затем введите имя. Нажмите клавишу ввода, чтобы подтвердить изменения. Когда вы будете уверены в своих изменениях в таблице, введите w и нажмите enter, чтобы выписать их. Если вы преобразовали таблицу MBR, помните, что вы можете записывать изменения без раздела EFI, особенно если у вас уже установлены Fedora, Debian или Ubuntu.


Способ 3: преобразование таблицы MBR с помощью gdisk


Проверьте первый и второй разделы с помощью команды i, чтобы убедиться, что они действительны. Помните, что у вас по-прежнему не будет действительного раздела EFI, если вы его не создали, и это необходимо для загрузки системы такого типа.


Способ 4: установка файловых систем в таблицу

Рассмотрим следующий пример структуры GPT, которая предполагает, что вы готовитесь к двойной загрузке Microsoft Windows и Linux. В командной строке «? Command (? For help):» введите n, чтобы создать новый раздел размером 50–100 МБ, а затем выберите тип FAT32. Согласитесь на приглашение с просьбой установить флаг загрузки. Это будет служить регионом EFI. Затем создайте значительный раздел, снова набрав команду n, которая будет использоваться для установки, возможно, Kali, Ubuntu или Debian. Если это так, то вы хотите выбрать ext4 в качестве типа раздела.

Какой размер будет зависеть от размера вашего диска. Вы можете создать что-то такое же маленькое, как раздел 80 ГБ или меньше, но пользователи массивных дисков могут захотеть предоставить Linux около 250 ГБ. Вы можете создать более одного раздела, если вы пытаетесь установить более одной разновидности Linux на одну систему. Затем снова введите n и нажмите ввод. Создайте меньший раздел и установите для него тип подкачки Linux.

Какой объем свопа вам понадобится, зависит от того, сколько физической памяти у вас есть, но оно должно быть по крайней мере равным объему физической памяти, который у вас есть, если вы хотите использовать режим гибернации.

Вам нужно будет набрать n и нажать Enter еще раз, чтобы создать еще один значительный раздел типа NTFS, если вы планируете установить Microsoft Windows на диск. Если это так, то вам также понадобится раздел данных для обмена информацией между Linux и Windows. Этот второй раздел данных также должен иметь тип NTFS. Если вы не устанавливаете Windows, тогда вам не понадобится этот раздел, но некоторые пользователи все равно решили создать раздел с данными.

После того, как разделы занимают все пространство на диске, введите p, чтобы посмотреть на них. Используйте команду c с последующим вводом, чтобы дать им описательные имена, прежде чем вводить v, а затем ввод, чтобы подтвердить их. Убедившись, что они приемлемы, введите w и нажмите Enter, чтобы записать таблицу на диск.

Теперь вы готовы к установке операционных систем. Предполагая, что у вас есть допустимый загрузочный носитель, будь то карта памяти USB или SDHC-карта, загрузите компьютер с него. В установщике Linux убедитесь, что вы монтируете раздел FAT32 как / Загрузки / EFI и затем продолжите установку как обычно. Если вы устанавливаете только один дистрибутив Linux, на котором больше ничего нет, то вы можете продолжить, как если бы вы устанавливали на обычный MBR-диск, и больше ничего не беспокоило.

Несмотря на то, что вы можете загрузиться в Windows, только если вы решили пойти по этому пути в этот момент, если вы устанавливаете второй дистрибутив Linux, это то, где вам нужно это сделать. Имейте в виду, что если вы устанавливаете Ubuntu, Lubuntu, Xubuntu, Linux Mint или любые другие производные, вам следует выбрать опцию «Сделать что-то еще», когда вы получите уведомление, что у вас установлена ​​другая операционная система. Теоретически, даже если вы использовали только эту операционную систему, вы должны выбрать ее, а затем выделить раздел FAT32 в таблице, которую вы предлагаете. Измените его на «Использовать как EFI», а затем выберите установочный раздел. Нажмите «Использовать как /», а затем выберите ext4 в качестве типа файловой системы. Продолжайте установку как обычно. Установщик Ubuntu и его производные, а также установщик Fedora должны автоматически обновить GRUB2, если в вашей системе нет версии Windows, поэтому вам не нужно больше ничего делать.

Способ 5: принуждение GRUB2 к распознаванию Microsoft Windows

Если вы решили установить Microsoft Windows по методу 4, то вы застрянете в системе, которая отказывается загружаться ни к чему другому. Если у вас есть загрузчик Windows 8.1, выберите «Другая операционная система», «Ubuntu», «Linux» или любую другую функцию, оставшуюся там. Если вы не видите ничего из этого, вам может потребоваться отключить безопасную загрузку в способе 7. Некоторые пользователи не смогут установить что-либо из-за безопасной загрузки. Этим пользователям также понадобятся эти шаги.

Предполагая, что вы достигли точки, когда вы достигли рабочего стола Linux, удерживайте клавиши Ctrl, Alt и T, чтобы открыть окно терминала. Вы можете вместо этого использовать Ctrl, Alt и F2, чтобы открыть виртуальную консоль, или вместо этого открыть терминал, выбрав меню «Приложения», «Dash» или «Whisker» и нажав «Терминал» в разделе «Системные инструменты». Вы можете удерживать нажатой клавишу Windows и нажать R, чтобы открыть меню запуска приложения, чтобы попробовать этот код. Пользователи Xfce4 могут удерживать Alt и нажать F2, а затем запустить его оттуда.


Сохраните файл и перейдите к файл и откройте его для редактирования. Добавьте следующие строки, чтобы сделать Windows загрузочной:

chainloader ($ ) / Boot / bootmgfw.efi


Запустите sudo update-grub из корневого терминала, и все должно обновиться автоматически. Имейте в виду, что если вы допустили какую-либо ошибку и запретили загрузку системы, вы можете перезагрузиться в живую среду Linux с установочного носителя и внести исправления, смонтировав раздел FAT32, который вы сделали.

Метод 6: Создание загрузочных USB-накопителей U / EFI GRUB2

В Дисковой утилите вы можете найти USB-устройство или другое устройство чтения карт с надписью No Media. Если это так, убедитесь, что в него загружена карта. Если у вас есть USB-накопитель с надписью No Media, извлеките флешку и вставьте ее снова. Это означает, что вы уже извлекли диск.


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

В остальном мы будем считать, что / DEV / SDD Ваш целевой диск, но вам нужно заменить его на фактическое имя. Вернитесь к терминалу и введите sudo sgdisk –zap-all / dev / sdd очистить диск. Возможно, вам придется заново вставить его потом. Вы также можете использовать sudo wipefs -a / dev / sdd чтобы выполнить то же самое, но помните, что в любом случае вы будете уничтожать эту карту или флешку, поэтому вы хотите быть уверены, что это именно то, что вы хотите сделать. Вам нужно создать раздел для хранения данных EFI, и вы можете использовать ярлык терминала, введя sudo sgdisk –new = 1: 0: 0 –typecode = 1: ef00 / dev / sdd создать один. Бежать sudo mkfs.msdos -F 32 -n «GRUB2EFI» / dev / sdd1 отформатировать рассматриваемый раздел. Вы можете оглянуться назад на Дисковую Утилиту или Gparted, чтобы проверить свои успехи, или вы можете запустить sudo parted -l, чтобы проверить это. Если все прошло хорошо, у вас должен быть новый раздел с допустимой пустой 32-битной файловой системой FAT.

Перезагрузите компьютер и выберите съемное устройство в качестве загрузочного носителя в прошивке вашего компьютера. Этот шаг отличается для разных типов прошивок.

Способ 7: отключение безопасной загрузки

Некоторые пользователи будут испытывать проблемы с UEFI Secure Boot при использовании предыдущих методов. Этот метод также затруднит загрузку с внешнего носителя. Пользователи с компьютерами, на которых в настоящее время работает Windows 8.1 или 10, должны удерживать клавишу Windows / Super и нажимать I, чтобы открыть чудо-кнопки настроек. Нажмите «Изменить настройки ПК», а затем выберите «Расширенный запуск», прежде чем выбрать «Перезагрузить сейчас».

Некоторые версии Windows 8.1 и 10 перенесли эти функции. Выберите «Обновить» на левой боковой панели, а затем нажмите «Перезагрузить сейчас» в разделе «Расширенный запуск». Если отображается экран «Выберите параметр», выберите «Устранение неполадок», а затем снова выберите «Дополнительные параметры».

Найдите «Настройки прошивки UEFI» и затем нажмите кнопку, чтобы перезагрузить систему на экране настройки UEFI. В противном случае, если вы работаете со встроенной машиной, чем-то с пустым диском или чем-то с существующим дистрибутивом Linux, вам нужно будет удерживать нажатой определенную клавишу во время загрузки системы. Это зависит от BIOS вашей материнской платы или прошивки EFI. Компания, которая создала систему BIOS вашей материнской платы, также будет влиять на то, откуда вы отключаете безопасную загрузку. Машины HP Secure Boot найдут его в раскрывающемся меню «Безопасность» в разделе «Настройка безопасной загрузки». Включите поддержку Legacy и отключите Secure Boot в этом меню.

Пользователи ASRock UEFI могут выбрать брелок Security и затем нажать Secure boot, чтобы отключить его. Пользователи нетбуков Acer захотят выбрать опцию Аутентификация, а затем нажать клавишу курсора вниз, чтобы выделить «Безопасная загрузка», и отключить ее, нажав клавишу ввода. Те, у кого есть машины ASUS, могут найти его под брелком Boot. Нажатие на Secure Boot в этой среде отключит его.

Перезагрузите компьютер, и вы сможете нормально загружаться с внешнего носителя.

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