Итак, вы указали в настройках 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 для разбивки разделов является практически обязательным, иначе наверняка возникнут проблемы совместимости с MBR4).

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

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


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

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

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

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

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

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

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

Кроме того, нужно определиться с операционными системами на вашем компьютере — от того, будет ли 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/sda7 — раздел подкачки размером 4 ГБ10);
  • /dev/sda8 — раздел для пользовательских данных или, другими словами, раздел для домашнего каталога /home — в примере под него выделено всё оставшееся свободное пространство.

Пожалуйста, запишите назначение разделов. В показанном примере:
  • /dev/sda2 — раздел EFI (ESP)
  • /dev/sda6 — системный раздел (раздел для «корня» системы)
  • /dev/sda7 — раздел подкачки
  • /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-repair16).

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

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

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

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

sudo add-apt-repository 'deb http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu saucy main'

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

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

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 60D8DA0B

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

sudo apt-get update

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

sudo apt-get install -y boot-repair && (boot-repair &)

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

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

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

Навигация
Введение
Получение дистрибутива Ubuntu
Загрузка с LiveCD
Особенности установки на платы с UEFI
Разметка диска
Файловая система Ubuntu
Настройка подключения к интернету
Установка
Первая загрузка
Локализация
Обзор системы
Основы использования системы
> Файловый менеджер Nautilus
> Администратор и суперпользователь
> Терминал
> Пользователи, группы и права доступа
> Типы файлов
Управление программами и обновлениями
> Центр приложений Ubuntu
> Менеджер пакетов Synaptic
> Консольные инструменты
> Репозитории и обновления
Установка дополнительных программ
> Мультимедиа и кодеки
> Драйверы
Настройка рабочей среды UNITY
> Стандартные средства настройки
> Дополнительные средства настройки
Визуальные эффекты Compiz
> Куб рабочего стола
Более глубокое знакомство
> Автозапуск приложений
> Монтирование и fstab
Программное обеспечение
> Стандартное ПО
> Игры
Виртуализация и эмуляция
> Virtual Box
> Wine
> Установка World of Tanks в PlayOnLinux
Эпилог
1) Просто UEFI системы определил, что на загрузочном носителе с Ubuntu есть grub-efi (а не grub-pc, как в более ранних версиях), и передал управление по загрузке операционной системы ему.
2) Точнее будет сказать, что указатели на начало и конец раздела имеют размерность 32 бита
3) Кроме того, в GPT хранятся контрольные суммы по алгоритму CRC32 для обнаружения ошибок в заголовке и таблицах разделов, но это так, к слову.
4) GPT можно использовать и с отключённым UEFI (в режиме Legacy BIOS), но при этом не получится установить на компьютере Windows как вторую систему. Причина в том, что как только Windows увидит метку раздела GPT, то тотчас же попытается загрузиться в режиме EFI со всеми вытекающими.
5) Кстати, одна из причин более быстрой загрузки систем с UEFI кроется именно в этом.
6) Требование стандарта — UEFI может загружаться только с носителя, отформатированного в файловой системе FAT32.
7) Вы, наверное, знаете, что загрузочный раздел на диске должен быть один. Поэтому выделять небольшой раздел для записи таблиц GPT смысла нет — всё нужное уже будет в ESP.
8) Как это сделать написано в этой статье.
9) Это пример — у вас может быть совсем другая конфигурация, просто обращайте внимание на общее между вашим диском и диском, представленным здесь.
10) Вы, наверное, помните, что размер свопа подбирается равным или чуть большим, чем размер оперативной памяти системы, а сейчас сложно найти компьютер с UEFI, у которого оперативки меньше четырёх гигабайт.
11) «Вендекапец» — светлая мечта всех настоящих линуксоидов. Заключается в том, что Microsoft откроет исходные коды и перелицензирует все свои поделия под GPL.
12) Дело в том, что преобразование файловой системы ntfs, принятой в Windows, в файловую систему ext4, используемую по умолчанию в Ubuntu, невозможно без потери информации.
13) Нужно оставить все ваши файлы на существующем разделе ntfs, после установки переместить их в домашний каталог, а после этого раздел ntfs удалить и расширить домашний каталог на освободившееся место с помощью того же GParted. Правда, после установки его придётся доустановить.
14) Мебибайт — 220 = 1 048 576 байт.
15) Вполне достаточно для единственной операционной системы на компьютере, главное, чтобы размер раздела был не менее 35 МБ.
16) Ожидается, что эта программа будет включена в установочный образ Ubuntu.
17) Можно воспользоваться также «спасательным CD».
18) Команда add-apt-repository добавляет в систему репозиторий, содержащий программу Boot-Repair и выполняется от имени «суперпользователя» с помощью sudo.
19) Подробней о принципах работы репозиториев и установке программ в Ubuntu можно прочитать в соответствующей статье.