Меню Рубрики

Установка ubuntu server uefi

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Настраиваем программный RA >

  • Автор: Уваров А.С.
  • 13.08.2019

Программный RAID в Linux на основе MD-устройств успел отлично зарекомендовать себя в работе и пользуется заслуженной популярностью у администраторов, сочетая надежность и простоту создания и управления. Но со все более широким распространением UEFI-систем приходится сталкиваться с некоторыми особенностями. Многие, если есть такая возможность, переключают настройки в режим совместимости, но это неправильно, UEFI — это стандарт для современных устройств и поэтому надо учиться работе с ним.

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

Скажем больше, мы не видим никаких преимуществ у встроенных и недорогих контроллеров перед программной реализацией, особенно на простых массивах, не требующих сложных вычислений (RAID 1 и 10). А учитывая всю гибкость mdadm, программный RAID по многим параметрам будет выглядеть гораздо привлекательнее.

Конфигурация разделов Linux с UEFI

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

EFI — он же ESP (EFI system partition) — специальный раздел с файловой системой FAT который содержит загрузчик, вызываемый микропрограммой UEFI, должен находиться в основной таблице разделов и не может располагаться в программных RAID-массивах, томах LVM или пулах ZFS. Данный раздел должен располагаться на каждом диске, с которого предусматривается загрузка.

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

Swap — раздел подкачки, используется как механизм виртуальной памяти, а также для организации режима сна (в настольных системах). Некоторые современные системы не используют раздел подкачки (Ubuntu) используя для этой цели специальный файл в корневом разделе. Swap можно объединить в программный RAID, но смысла в этом немного, более того, при использовании отдельных swap-разделов системе будет доступен вдвое больший объем для подкачки.

Некоторые особенности Ubuntu Server 18.04

Начиная с версии 18.04 Ubuntu Server по умолчанию предлагается с новым инсталлятором Subiquity, который очень просто отличить по обновленному внешнему виду:

При использовании данного инсталлятора вы не сможете установить систему на программный RAID (как на системах с UEFI, так и без), установка закончится ошибкой. Поэтому для создания программного RAID следует использовать сборку с классическим установщиком, которую можно получить в разделе альтернативных загрузок.

Также легко можно отличить дистрибутивы по наименованию, образ с Subiquity содержит в наименовании слово live (ubuntu-18.04.3-live-server-amd64.iso).

Создание программного RAID при установке системы

Все дальнейшие действия мы будем производить на системе Debian 10, однако все сказанное будет справедливо для любой основанной на Debian системе, а с некоторыми поправками и для любого дистрибутива Linux.

Прежде всего создадим в начале каждого диска системный раздел EFI размером в 499 МБ (по умолчанию Debian и Ubuntu используют близкие к этому размеры разделов).

Затем выполним необходимую разметку, основное условие — одинаковые размеры томов на обоих дисках, тип файловой системы и точка монтирования не играют никакого значения, можете принять предлагаемые по умолчанию. В нашем случае будет создано два раздела почти на весь размер диска, оставляя немного места в конце для разделов подкачки. В итоге у вас должно получиться примерно так:

В итоге каждый диск содержит три раздела: ESP, будущие разделы Linux RAID и разделы подкачки. Порядок следования разделов и размер разделов для RAID должны быть одинаковы на обоих дисках. После того, как первоначальная разметка выполнена соберем программный RAID 1 из разделов для данных, в нашем случае sda2 и sdb2:

Теперь разметим созданный массив, создав там корневой раздел. Помните, что один программный массив Linux (md-устройство) может содержать только один раздел, если вам нужно несколько разделов, то потребуется создать несколько массивов.

Далее продолжаем установку в обычном режиме, программный RAID-массив создан, а к загрузчику мы вернемся после завершения этого процесса.

Настройка загрузчика EFI и его копирование на второй раздел

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

В полученном выводе прежде всего обратим внимание на идентификаторы EFI-разделов.

Они разные, в то время как UUID RAID-разделов совпадают. Чтобы понять, что это означает и какие может иметь последствия откроем /etc/fstab:

Как видим, разделы монтируются по идентификаторам и в случае выхода из строя первого диска вы не сможете загрузиться со второго, так как система не сможет смонтировать EFI-раздел. В некоторых источниках советуют изменить строку монтирования, используя вместо UUID явное указание устройства, например, /dev/sda1. Да, если мы отключим первый диск, то второй превратится в sda и система загрузится, но если диск выйдет из строя, физически определяясь в системе или на его месте будет новый диск без разметки, то такой фокус не сработает.

Читайте также:  Установка linux с сохранением данных

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

Для работы с разделами FAT32 нам потребуется установить дополнительные утилиты:

Где 2396BE56 — идентификатор первого EFI-раздела (/dev/sda1), его следует указывать в одну строку без пробелов и тире, а /dev/sdb1 — второй EFI раздел.

Теперь получим список текущих загрузочных записей EFI:

Здесь нас интересует запись под номером 5 — debian, которая отвечает за загрузку системы и указывает на первый жесткий диск. Запомните или запишите путь к EFI-образу для загрузки системы: \EFI\debian\shimx64.efi.

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

Немного поясним назначение ключей команды:

  • -c (—create) создать новую запись
  • -d (—disk) диск, на котором находится системный раздел EFI
  • -p (—part) номер раздела EFI
  • -L (—label) метка(наименование) для загрузочной записи
  • -l (—loader) путь образа EFI для загрузки

Так как наш EFI-раздел располагается в /dev/sdb1, то в опциях -d и -p указываем /dev/sdb и 1 соответственно, а в качестве пути указываем данные из первой загрузочной записи, которые мы получили на предыдущем шаге. Обратите внимание, что при указании пути к образу EFI используется обратный слеш.

Еще раз убедимся, что запись выполнена правильно:

Обе строки должны отличаться только меткой и GUID раздела (уникальный GPT-идентификатор, который позволяет микропрограмме UEFI найти нужный раздел).

Если обнаружена ошибка, то запись следует удалить и создать заново, для удаления используйте команду:

Ключ -b (—bootnum) указывает на номер записи, а -B ( —delete-bootnum) предписывает удалить ее.

Последним шагом скопируем содержимое загрузочного раздела с первого диска на второй, для этого смонтируем второй EFI-раздел:

И скопируем на него содержимое первого EFI-раздела:

После чего отмонтируем раздел:

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

источник

Особенности установки на платы с UEFI

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

Ничего страшного, так бывает 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 с LiveCD в режиме UEFI. Открывайте «Редактор разделов GParted» 8) , а пока поговорим об очень важных особенностях, на которые нужно обратить внимание.

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

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

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

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

Какую информацию можно получить при внимательном изучении этого окна? Во-первых, посмотрите на столбец «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 («Основной раздел»).

Читайте также:  Установка водосливной арматуры в унитаз

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

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

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

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

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

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

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

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

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

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

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

Установка Ubuntu

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

источник

Добавить комментарий