Настройка bios для linux

Обновлено: 07.07.2024

Этот раздел расскажет про аппаратное обеспечение, для которого требуется настройка перед установкой Debian. Обычно, для этого производится проверка и возможно, изменение настроек микропрограммы вашей системы. « Микропрограмма (firmware) » — это программное обеспечение используемое аппаратным обеспечением; она почти всегда вызывается во время загрузки машины (после подачи питания). Здесь также описаны известные проблемы аппаратного обеспечения, которые влияют на надёжность Debian GNU/Linux.

3.6.1. Вызов меню настройки BIOS

BIOS предоставляет основные функции для загрузки машины, предоставляя операционной системе доступ к оборудованию. Обычно, для настройки BIOS в машину встраивается меню. Перед установкой вы должны убедиться, что ваш BIOS корректно настроен; невыполнение этого может вызвать случайные сбои или невозможность установки Debian.

Клавиша Delete во время POST (power on self test, самотестирование при включении питания)

Клавиши Ctrl + Alt + Esc или Delete во время POST

Клавиша Esc во время POST

Ctrl + Alt + Insert после Ctrl + Alt + Delete

Ctrl + Alt + Esc или Ctrl + Alt + S или F1

3.6.2. Выбор загрузочного устройства

Многие меню настройки BIOS позволяют выбрать устройство, с которого будет загружаться система. Настройте этот параметр так, чтобы сначала операционная система пыталась загрузиться с A: (первый дисковод гибких дисков), затем, необязательно, с привода CD-ROM (вероятно, называется D: или E: ) и затем с C: (первый жёсткий диск). Такая настройка позволит вам загрузиться, или с дискеты или с CD-ROM, которые являются двумя наиболее распространёнными загрузочными устройствами, используемыми для установки Debian.

Если у вас новый SCSI-контроллер и к нему подключён привод CD-ROM, то обычно, возможна загрузка с этого CD-ROM. Всё, что нужно сделать, это разрешить загрузку с CD-ROM в BIOS SCSI-контроллера.

Другой популярный параметр — загрузка с накопителя USB (также называемого как карта памяти USB или ключ USB). Некоторые BIOS могут загружать систему непосредственно с накопителя USB, а некоторые нет. Чтобы загрузиться с USB устройства вам может потребоваться настроить BIOS на загрузку с « Removable drive » или даже с « USB-ZIP ».

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

3.6.2.1. Изменение порядка загрузки на компьютерах с IDE

Как только компьютер начнёт загружаться, нажмите клавишу для входа в BIOS. Часто это клавиша Delete . Однако, посмотрите в документации на компьютер, какие клавиши предназначены для этого.

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

Распространённые поля на машинах с IDE: C, A, cdrom или A, C, cdrom.

C — это жёсткий диск, а A — дисковод гибких дисков.

Измените порядок загрузки так, чтобы первой стояла загрузка с CD-ROM или дискет. Обычно, для этого используются клавиши Page Up или Page Down , которые по циклу перебирают возможные значения.

Сохраните изменения. Как это сделать написано в подсказке на экране.

3.6.2.2. Изменение порядка загрузки на компьютерах со SCSI

Как только компьютер начнёт загружаться, нажмите клавиши для входа в меню настройки SCSI.

Вы можете войти в меню настройки SCSI после проверки памяти, а о том как это сделать, появляется подсказка на экране.

Нужная комбинация клавиш зависит от контроллера. Часто, это Ctrl + F2 . Однако, нужную комбинацию посмотрите в документации на аппаратуру.

Найдите пункт изменения порядка загрузки.

Настройте так, что SCSI ID привода компакт дисков был первым в списке.

Сохраните изменения. Как это сделать написано в подсказке на экране. Обычно, вы должны нажать F10 .

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

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

Установка Linux на Legasy BIOS

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

Чтобы включить режим Legasy BIOS надо войти в настройки BIOS/UEFI с помощью кнопки F2, Del или Shift+F2 и найти там соответствующий пункт. Например, у меня этот пункт находится на вкладке Boot. Здесь нужно выбрать режим загрузки UEFI или Legasy.


После сохранения настроек вы можете устанавливать свою операционную систему как обычно. Если же вас такой вариант не устраивает, дальше мы рассмотрим как установить Linux именно на UEFI.

Установка Linux на платы с UEFI

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

Шаг 1. Запись Linux на флешку UEFI в Linux

Для записи образа на флешку в Linux лучше использовать утилиту Etcher. Программа запишет носитель, который можно загружать как в UEFI, так и в обычной системе. После запуска программы надо выбрать образ системы:

Затем карту памяти и дождаться завершения записи:

Также можно записать образ на флешку вручную. Это проще чем для обычного BIOS, хотя и потребует больше действий. Сначала отформатируйте ваш носитель в FAT32. Это можно сделать в стандартной утилите управления дисками Gnome:

Затем распакуйте содержимое установочного образа в корень флешки:

sudo mount /путь/к/образу.iso /mnt
sudo mount /dev/sdb1 /media/flash/
sudo cp -r /mnt/* /media/flash

Здесь /dev/sdb1 - имя раздела вашей флешки. Вы можете выполнить все эти действия в файловой менеджере. Не обязательно использовать команды. Далее нужно установить на раздел флешки, куда вы распаковали свои файлы два флага - boot и lba. Это можно сделать с помощью Gparted. Просто запустите программу, выберите в списке дисков свою флешку:

Нажмите правой кнопкой по разделу, выберите Управление флагами и установите галочки на против флагов boot и lba.

Каким бы способом вы не пользовались, ваша флешка готова и вы можете с нее загружаться. Большинство образов Linux уже содержат загрузчик EFI и прошивка компьютера его найдет при следующей перезагрузке.

Шаг 1 (альтернатива). Запись Linux на флешку UEFI в Windows

Если вы решили записать Linux в Windows, то лучше использовать утилиту Rufus. В ней необходимо выставить такие параметры:

  • Схема раздела и тип системного интерфейса: GPT для компьютеров с UEFI;
  • Файловая система: FAT32.

Все остальные параметры - по умолчанию. После завершения записи ваша флешка готова к использованию.

Шаг 2. Выбор порядка загрузки

Для того чтобы ваша система смогла загрузиться с только что записанной флешки нужно отключить UEFI Secure Boot. Этот режим позволяет загружаться только подписанным операционным системам, а подписанными являются только ОС от Microsoft. Поэтому для Linux этот режим надо отключать. У меня эта настройка тоже есть на вкладке Boot:


Кроме того, надо установить на первое место флешку:


После этого можно перезагружать компьютер и приступать к установке. Если у вас появилось вот такое окно, значит все хорошо. Здесь надо выбрать "Try Ubuntu without installing", это обязательное условие:

Я не буду описывать все шаги установки, которые надо выполнить, они ничем не отличаются от установки обычной ОС, отличие только в установке загрузчика и разметке диска. На нем и остановимся далее.

Шаг 3. Разметка диска для UEFI

У UEFI в этом плане есть несколько отличий от BIOS. Во первых, это использование таблицы разделов диска GPT. Это новая технология, которая имеет массу преимуществ над MBR, среди которых очень большое количество первичных разделов (в MBR только четыре), восстановление при повреждениях, и многое другое. Подробнее о том чем GPT отличается от MBR читайте в отдельной статье. Второе отличие в том, что файлы загрузчика операционной системы больше не хранятся в первых 512 байтах жесткого диска. Все они хранятся на отдельном разделе, который называется ESP.

Перед тем, как нажать "Install Ubuntu" желательно подготовить диск с помощью Gparted. Откройте утилиту из главного меню образа. Затем выберите Device -> Create Partition Table:


В списке выберите таблицу разделов GPT:


Дальше переходим к созданию разделов.

Шаг 4. Создание раздела ESP

В Gparted нам необходимо создать только раздел ESP для UEFI. Для этого выберите "Незамеченно", а затем нажмите по нему правой кнопкой и выберите "New":


В качестве файловой системы для раздела надо выбрать FAT32, размер - 100 мегабайт. Далее нажмите кнопку "Apply" для применения изменений.

Затем нажмите "Manage Flags" и установите галочки напротив флагов "boot" и "efi".


Далее переходим к установщику Ubuntu.

Шаг 5. Вариант разметки дисков

Когда система предложит выбрать способ разметки можно позволить системе все разметить автоматически. Но это только в том случае, если вы у вас уже не установлена какая-либо операционная система. Иначе выбираем "Свой вариант":


Шаг 6. Назначение разделов

Если вы выбрали другой вариант разметки, то перед вами откроется меню со списком всех разделов. Найдите внизу окна "Устройство для установки загрузчика" и выберите в списке раздел для EFI.


Затем кликните по разделу для EFI в списке и выберите "Системный раздел EFI":


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

Шаг 7. Завершение установки

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


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

Управление загрузчиком UEFI с помощью eifbootmgr

Когда система загрузится вы можете отобразить настройки UEFI по умолчанию выполнив команду:


Рассмотрим подробнее что означает каждый из параметров:

  • BootCurrent - загрузчик, который был использован для запуска этой операционной системы;
  • BootOrder - порядок загрузчиков, в котором менеджер загрузки будет их перебирать во время старта системы. Если первый загрузчик не сработал, то будет использован второй и так далее;
  • BootNext - загрузчик, который будет запущен при следующей загрузке;
  • Timeout - таймаут на протяжении которого будет показываться меню выбора загрузчика, перед тем, как он будет выбран автоматически;
  • Пункты 0000 - 0004 - загрузчики которые можно использовать.

Вы можете изменить порядок загрузки с помощью опции -o, например, сделаем так чтобы первым загружалась ОС из оптического диска:

sudo efibootmgr -o 0,1,2,3

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

sudo efibootmgr -o 3,0,1,2


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

sudo efibootmgr -t 20


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

Выводы

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

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


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

Итак, вы указали в настройках 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

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

Если вам интересно узнать как загружается Linux, то эта статья для вас. Рассмотрим алгоритм загрузки Linux на компьютерах с BIOS и UEFI.

Алгоритм загрузки linux (BIOS)

BIOS расшифровывается как Basic Input/Output System, что в переводе – Базовая Система Ввода/Вывода. Это специальная микросхема, которая находится на материнской плате компьютера.

Чип BIOS

Когда компьютер только включается, то выполняется код из микросхемы BIOS. Вначале этот код выполняет тестирование системы POST (power-on self test), этим тестированием проверяется аппаратная часть системы. А затем из всех дисков определяется загрузочный.

BIOS умеет работать только с дисками размеченными MBR способом. На первом секторе такого диска находится так называемый MBR (master boot record). Сектор диска имеет размер 512 байт. В эти 512 байт помещается маленький загрузчик и таблица разделов. Кстати, если диск не загрузочный, то вместо загрузчика там может находится код, который сообщает, что это не загрузочный диск (No bootable device).

Так вот, BIOS передает управление маленькому загрузчику из MBR на загрузочном диске.

BIOS - MBR

Загрузчик MBR и GRUB 2

Код загрузчика из MBR очень маленький и он способен лишь найти и запустить следующий загрузчик.

Следующий загрузчик больше и умнее. Бывают разные загрузчики для Linux, но самым популярным является GRUB 2. Он позволяет пользователю выбрать операционную систему для загрузки. А также умеет загружать операционные системы с логических разделов. GRUB 2 расположен на разделе жесткого диска в каталоге /boot и обычно для этого каталога выделяют отдельный раздел – boot.

MBR - /boot

Давайте посмотрим что находится в этом каталоге на Debian 10:

Ubuntu 20.04 в этом каталоге содержит примерно тоже самое, но ядро новее:

Разберем некоторые файлы в этом каталоге. Здесь находится:

  • подкаталог с загрузчиком – grub;
  • ядра разных версий – файлы vmlinuz;
  • архивы с временной файловой системой и утилитами необходимыми для загрузки ядра – файлы initrd.img;
  • остальные файлы я рассматривать пока не буду.

После того, как GRUB 2 получил управление, он загружает ядро Linux (файл vmlinuz). При этом GRUB 2 загружает в память файловую систему из файла initrd.img. А затем запускает ядро, и при запуске, передаёт ему некие параметры, которые мы рассмотрим в следующей статье.

Вы можете спросить, зачем вообще нужен образ корневой файловой системы с утилитами initrd.img? Он необходим, так как, когда GRUB 2 начинает загружать систему корневая файловая система Linux еще не смонтирована. Поэтому GRUB 2 использует initrd файл для запуска ядра.

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

Вы можете использовать команду lsinitramfs чтобы перечислить содержимое файла initrd.img.

Вот пример для Debian 10:

А вот пример для Ubuntu 20.04:

Ядро Linux и процесс инициализации

Ядро при запуске использует временную файловую систему из файла initrd.img для того чтобы загрузиться полностью.

А дальше ядро запускает процесс инициализации операционной системы. Процесс инициализации является первым процессом в системе, так как ядро запускалось не как процесс. Каким именно будет процесс инициализации зависит от используемой системы инициализации. Существуют разные системы инициализации, но в Debian 10 и Ubuntu 20.04 используется система под названием SystemD.

То есть, первым процессом при запуске этих двух систем является systemd. Чтобы это проверить выполним следующие две команды, которые на обоих системах выполняются одинаково:

Первой командой мы смотрим название процесса под номером 1 (systemd). А второй командой смотрим на что ссылается файл, который традиционно считается файлом системы инициализации (/lib/systemd/systemd).

И наконец система инициализации запускает все остальные процессы в системе.

Итог по загрузке с BIOS

Алгоритм загрузки Linux используя BIOS

Алгоритм загрузки linux (UEFI)

Сейчас на смену BIOS пришёл UEFI (Unified Extensible Firmware Interface). UEFI содержит множество преимуществ перед BIOS, одна из которых это поддержка GPT.

Раньше диски разбивались на разделы с помощью MBR, при этом диск не мог быть больше 2 TB, а разделов не могло быть больше четырёх. При этом таблица разделов и первичный загрузчик помещались на первый сектор диска в MBR. А GPT позволяет использовать очень большие диски и помещает загрузчик на специальный раздел, а также позволяет создавать очень много разделов.

Диск разбитый на разделы с помощью таблицы разделов GPT в первом секторе продолжает хранить MBR запись. Это делается для того, чтобы старые системы с BIOS могли использовать GPT диски.

UEFI не использует загрузчик из MBR, вместо этого используется загрузчик со специального раздела на диске, который отформатирован в FAT32 и называется ESP или EFI. Это специальный загрузчик от UEFI. Обычно это файл /efi/boot/bootx64.efi.

UEFI - /efi/bootx64.efi

Secure Boot

UEFI имеет специальный режим, который называется Secure Boot. Если этот режим включен, то загрузчик без специальной подписи не будет работать. Windows и некоторые системы Linux имеют такие подписи, а для других систем приходится этот режим отключать.

Или можно не отключать Secure Boot, а просто очистить ключи производителя и добавить туда ключи от необходимого загрузчика. Например в Ubuntu – GRUB 2 подписан подписью от Canonical, именно эту подпись и следует добавить в Secure Boot.

Дальнейшая загрузка

А дальше все происходит также как и в системах с BIOS. Загрузчик запускает GRUB 2, хотя может сразу запустить и ядро Linux, но тогда мы теряем гибкость GRUB 2.

GRUB 2 в свою очередь запускает ядро Linux. Дальше ядро запускает систему инициализации. А уже система инициализации запускает все остальные процессы в системе.

Итог по загрузке с UEFI

Алгоритм загрузки Linux используя UEFI

Немного про GRUB 2

GRUB 2 в настоящее время является основным загрузчиком для большинства систем Linux. Он позволяет запустить не только ядро Linux, но и Windows систему. Он имеет собственную командную строку с помощью которой можно, например устранить некоторые ошибки при загрузки.

Существует две версии загрузчика GRUB 2: для BIOS и для UEFI. Но для UEFI он не имеет цифровой подписи для режима Secure Boot.

Ubuntu, кстати, поддерживает Secure Boot. Для этого используется загрузчик Shim подписанный подписью от Microsoft. И этот загрузчик запускает GRUB 2, который подписан цифровой подписью от Canonical.

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

Меню Grub 2

Когда отображается меню, вы можете нажать:

  • «Enter» — чтобы немедленно загрузить выбранную строку меню;
  • любую другую клавишу — чтобы остановить тайм-аут;
  • «e» — чтобы отредактировать запись;
  • «c» — чтобы войти в командную строку GRUB2.

Если ваш тайм-аут установлен на 0, то GRUB 2 немедленно загружает систему не показывая подобное меню.

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