Как установить линукс второй операционной системой uefi

Обновлено: 05.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. Источник

Сегодня расскажу про установку Linux второй системой к уже имеющейся Windows 8/8.1 или 10 на ноутбук с UEFI с помощью загрузочной USB-флешки. На данный момент это будет, наверное, уникальное руководство, так как ничего вразумительного на просторах рунета по данной теме мне отыскать не удалось. Несмотря на бурное развитие интернета, различных сообществ и форумов по Linux, реально полезную информацию в куче "псевдоумных" комментариев найти сейчас крайне сложно.

Для экспериментов у меня был ноутбук Asus X555LD с UEFI, предустановленной лицензионной Windows 8.1 и соответственно разделом восстановления. Всё это хозяйство в обязательном порядке должно было остаться и работать как и раньше. А второй системой должен был стать, последний на данный момент, Linux Mint 17.3 "Rosa" MATE (64-bit) с возможностью выбора нужной ОС при включении ноутбука. Устанавливать дистрибутив будем с загрузочной флешки.

UEFI (единый интерфейс EFI) — это особый интерфейс, заменяющий BIOS, который устанавливается между ОС, инсталлированной на компьютере и программным обеспечением, отвечающим за низкоуровневые функции аппаратных компонентов ПК.

Многие просто забивают на проблему, если ноутбуки позволяют выставить режим legacy BIOS (т.е. устаревшую базовую система ввода/вывода) - собственно к этому и сводится большинство советов на форумах. Но такой подход иногда приводит к не очень корректной работе ноутбука, чаще всего это выражается в управлении функциями регулировки яркости экрана, звука, wi-fi.

А уж по части установки Linux второй системой к Windows, то тут вообще единодушие в решение проблемы - сносите ненавистный Windows 8/10 и устанавливаете в обычном режиме семёрку вместе с вожделенным Линуксом. Ребята, ну это вообще не путь юниксоидов. Надо искать решение проблемы, а не тупо делать что проще. К тому же новые ноутбуки режим legacy BIOS уже не предоставляют, как тут быть спрашивается? Да и терять лицензию не каждому захочется, плюс продавая ноутбук желательно возвратить его в исходное состояние.

От лирики перейдем к главному, ради чего всё затевалось - непосредственно к установке. Напомню что мы хотим получить в итоге - предустановленную Windows 8 с заводским разделом восстановления, которая бы мирно жила рядом с Linux Mint (ну это в моем случае, у вас может быть и другая) в UEFI режиме, ну и соответственно с помощью Grub загружать обе системы.

Выделяем место на жестком диске для Linux

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

Освободить место на жестком диске можно как штатными средствами Windows, так и воспользовавшись какой-нибудь бесплатной или платной программой для работы с разделами, полагаю это не проблема. Тут главное не навредить и не трогать раздел загрузки efi, восстановления RECOVERY и иные вспомогательные разделы (зависит от выдумки производителя).

Для Linux я отщипнул кусочек в 200Гб от диска D, у меня получилась неразмеченная область - туда и будем ставить наш дистрибутив. Кому удобнее, может сразу разметить освободившееся место под Linux, чуть ниже напишу какие именно разделы нам понадобятся.

Создание загрузочной флешки Linux с UEFI

Скачиваем с сайта 64-битный iso-образ диска Linux Mint. Где-то читал что у 32-х битных систем есть проблемы с режимом UEFI, сам не проверял, так что у кого есть интерес, может поэкспериментировать и поделиться результатами если не жалко.

Свою флешку я сделал просто из терминала на Mac по аналогии как описывал ранее создание загрузочной флешки с FreeBSD :

Аналогично командой dd создается загрузочная флешка и на Linuх. Под Windows корректно создать загрузочную флешку в режиме UEFI можно утилитой Rufus , о которой тоже уже писал в блоге .

Пожалуй, практически все приготовления завершены, но прежде чем перейти непосредственно к установке Linux, осталось в BIOS-UEFI ноутбука (на Asus заходим в него по F2) отключить Secure Boot. В противном случае включенный режим проверки подписи ключей UEFI не даст разрешение Grub запустить Windows.

Установка Linux Mint второй системой на ноутбук c Windows 8 в режиме UEFI

Включаем ноутбук с вызовом меню выбора загрузочных устройств (у меня это ESC, у вас скорее всего по другому) и выбираем загрузку с флешки. Самое интересное начинается в момент разбивки диска о чем так мало информации в сети. Делать будем в ручном режиме, иначе установщик предлагает тупо затереть весь жесткий диск и оставить один Linux, нам такой радикальный подход даром не нужен. Процесс разбивки диска и установки я постарался максимально наглядно показать на картинке:

Как и обещал ранее, чуть подробнее расскажу про разметку диска и куда нам следует установить загрузчик именно для режима UEFI.

  • /dev/sda1 - загрузочный раздел UEFI где установлен Windows-загрузчик и куда мы подсунем дополнительно свой. Не трогаем и не форматируем
  • /dev/sda2 и /dev/sda3 - эти два раздела нужны Windows и нам не интересны, не трогаем
  • /dev/sda4 - тут установлена Windows 8, я его тоже не трогал, но в дальнейшем за счет свободного места на нем можно с помощью программ разметки дисков увеличить или уменьшить размер диску D
  • /dev/sda5 - в Windows представлен как диск D. Именно из него я и выделил 200 Гб для Linux
  • /dev/sda7 - создаем раздел размером 150-250 Мб и сопоставляем ему точку монтирования /boot
  • /dev/sda8 - для этого раздела я выделил почти всё свободное место, оставив чуть более 1500 Мб под swap (/dev/sda9)
  • /dev/sda6 - раздел RECOVERY Windows. Тут само собой ничего не трогаем

Как видите, нет ничего сложного, осталось только указать место куда система должна будет устанавливать загрузчик - /dev/sda1. Дальнейшая установка 100500 раз описана в интернете, нет смысла повторяться. Наслаждайтесь.

Многие пользователя не могут смириться с некоторыми ограничениями игр, которые накладывает ОС Linux, несмотря на тот факт, что в последнее время развитию игровой составляющей в Linux уделяется повышенное внимание. Тем не менее, многие пользователи хотят организовать двойную загрузку, но это становится довольно сложной задачей с выходом новой ОС Microsoft.

Известно, что Windows “не дружит” с Linux, в частности не распознает форматированные Linux диски и разделы и не предоставляет загрузчик, который бы позволял запускать систему с ядром Linux, например, Ubuntu. Кроме того, многие компьютеры сейчас поставляются с предустановленной защитой загрузчика Windows 10.

Первое что нужно сделать перед попыткой установить Ubuntu или другой дистрибутив Linux совместно с Windows 10 - открыть меню BIOS/UEFI компьютера и отключить опцию Secure Boot.

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

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

Во втором случае, когда имеется два или более разделов, вам нужно решить, какой раздел будет очищен для установки Ubuntu. В обоих случаях, щелкните правой кнопкой мыши по меню Пуск, выберите пункт “Управление дисками”. В первом случае выберите диск (C:) и в контекстном меню правой кнопки мыши выберите опцию “Сжать том”.

Установите размер нового раздела для Ubuntu, который зависит от первоначального размера диска и свободного пространства на нем, а также от вашего выбора. Обратите внимание, что вам нужно не менее 10 гигабайт для установки Ubuntu (рекомендуется 20 гигабайт и более). После завершения сжатия, закройте утилиту “Управления дисками”.

Во втором случае, выберите раздел, который нужно очистить, допустим (D:) и в приложении “Управление дисками” щелкните правой кнопкой мыши по соответствующему разделу и выберите “Удалить том”, и у вас появится нераспредленный раздел, также, как и в первом случае.

Управление дисками

Управление дисками в Windows

Сжать том в Windows

Загрузка и установка Ubuntu

Последний релиз Ubuntu доступен для загрузки с нашего сайта, убедитесь, что Вы загружаете 64-битный ISO-образ, который нужно записать на USB накопитель объемом 2 гигабайта или выше.

После завершения создания USB, подключите USB-устройство флеш-памяти с Ubuntu в свободный порт компьютера, перезагрузите компьютер и вызовите загрузочное меню для выбора в качестве источника загрузки USB флешки. Не выбирайте UEFI USB (в этом случае Windows 10 не распознается!) *. После этого, установите последнюю версию Ubuntu.

Единственное различие заключается при отображение первого экрана установки, на нем нужно выбрать опцию "Install Ubuntu alongside Windows 10” (“Установить Ubuntu рядом с Windows 10”). После завершения установки перезагрузите компьютер. Выбирайте между Ubuntu и Windows 10 с помощью загрузчика Ubuntu (доступен при нажатии Esc).

Установить Ubuntu рядом с Windows 10

Установить Ubuntu рядом с Windows 10

* Обновление: нет необходимости отключать Secure Boot или не выбирать UEFI USB при установке Ubuntu. На конкретной тестовой машине без применения данных мер, UEFI не распознавал раздел Windows 10 на жестком диске, на вашем компьютере все может работать и без данных операций.


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

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