Ядро системы МОС это и есть Linux — название полученное слиянием имени исходного автора ядра Линуса Торвальдса (сейчас авторов много) с названием идеологического вдохновителя — операционной системы Unix.Именно ядро объединяет все системы Linux.
Ядро написано главным образом на языке C и собирается для системы МОС из исходных текстов. В процессе сборки выбирается (буквально — галочками) включение в систему поддержки тех или иных устройств и функций. Для систем общего назначения обычно выбирается все, что в них может встретится, но текст ядра рассчитан и на специализированные устройства, их поддержку естественно исключают. При сборке добавляются свои исправления (патчи), выбирается что будет присутствовать в системе сразу, а что догружаться в процессе работы в виде модулей. (командами insmod, просмотр lsmod). Таким образом, при всей схожести, ядра одной линукс-системы не вполне похожи на ядра другой.
Ядро состоит из основного файла, загружаемого при старте OC, и модeлей (*.ko) ,служащих для включения поддержки некоторых функций — оборудования, файловых систем ИТП. Важно Ядро монолитно, модули от одного ядра не подходят к другому. Именно поэтому понятие «драйвер» фактически бессмысленно. Есть лишь средства «приделать» в виде модуля к используемому ядру драйвер, поставляемый в виде исходного кода, да и то только если им поддерживается необходимая версия ядра. В процессе «приделывание» в модуль добавляется информация, инбивидуальная для данной версии ядра.
Процесс загрузки Linux. Systemd, Kernel, GRUB2, Bios
Ядро периодически обновляется, м при этом функции дополняются, а также исправляются ошибки. Каждое новое ядро обозначается номером версии вида x.yy На момент написания уже доступна версия 6.00. Для обновления автоматического ядра используем команду update-kernel (от root).
Название файла ядра обычно vmlinuz (записывается обычно в сжатом виде — потому z).
Загрузчик (grub)
Функция загрузчика — загрузить ядро. При этом присутствует возможность запустить меню (если нажать что-то пока присутствует на экране буква М и идет отсчет времени) и выбрать ядро (если в системе установлено несколько версий) или параметры запуска ядра (например режим отладки). Также из меню можно загрузить Windows из отдельного раздела. Пункты меню настраиваются при настройке grub.
Не следует это делать в файле /boot/grub/grub.conf. Этот файл будет пересоздан автоматически при обновлении ядра. Настройка производится в /etc/grub.d/ и обновляется по команде update-grub
Настройки загрузки можно менять из самого Grub в процессе загрузки, вплоть до полностью ручной загрузки. Следуйте подсказкам в меню.
Grub состоит из двух частей — stage 1 и stage 2. Первая часть записана в начале диска (она примитивная), Вторая — в файловой системе. Если вы видите приглашение Grub stage1, значит он не находит файловой системы МОС и все совсем плохо.
Загрузчик передает ядру строку параметров, которые определяют как именно запустится система — включит или нет графику, acpi, какие загрузит или не загрузит модули ИТД ИТП. Через ядро параметры попадают в систему и анализируются и применяются по мере загрузки. Полный список стоит искать в разделе параметры ядра.
Нет меню выбора Ubuntu при загрузке. Сразу загружается Windows
Файловая система стадии загрузки (initrd)
При произведении автоматической настройки системы на использование нового ядра, часть модулей и некоторые скрипты и программы, которые необходимы ядру для инициализации от моментв загрузки, до момента подключения файловой системы, копируются сокращенный образ файловой системы, называемый initrd. Именно эта часть системы наиболее зависит от конкретного железа. Собственно простой сисадмин с ней не контактирует, но стоит знать о наличии.
Системный менеджер (systemd)
Системный менеджер служит для запуска множество процессов, исполняемых внутри системы в соответствии с конфигурацией. Он отвечает за порядок запуска, за перезапуск в случае падения, за запись логов, за исполнение роли некоторых простых и не очень сервисов — синхронизации времени, кэширования DNS, и много-много всего. В зависимости от конкретного Linux, используются все функции systemd, либо только часть, либо не используются вообще (заменяется скриптами). В МОС systemd используется максимально.
наиболее употребемые команды systemctl [имя сервиса].servuice ( управление сервисами — запуск, перезапуск, разрешение или запрет запуска при загрузке ) journalctl [-xe] (чтение логов). Попутно заметим что для чтения логов ядра также есть команда dmesg (от root)
Интерпретатор командной строки и скриптов (bash)
Аналог cmd и PowerShell в Windows. Может быть заменен в настройках пользователя на другой (в природе существуют sh,zsh, и другие). Служит для исполнения вводимых команд или интерпретации скриптов. Для того, чтобы явно указать на чем написан скрипт, в первой строке скрипта пишут
#!/bin/bash
что прямо указывает какой программой будет обрабатываться скрипт. Скрипты могут быть написаны и на любом другом языке, если изменить это строку.
Файловая система (ext4)
В Linux могут использоваться различные файловые системы. В МОС выбрана журналируемая файловая система ext4. Она создана специально для линукса.
Особенностью linux,доставшейся в наследие от Unix является принцип единой файловой системы и принцип «все есть файл».
Это означает, что все подключенные дисковые устройства входят в единое дерево файловой системы в качестве «веток». В виде «веток» также отображаются
- Устройства ввода-вывода (диски, консоли, порты, вэб-камеры, клавиатуры) в каталоге /dev
- Исполняемые процессы в каталокге /proc
- Системные переменные в каталоге /sys
- Подключенные невстроенные дисковые в каталоге /mnt (могут быть и в других каталогах)
Пространство для размещения свапа а МОС занимает отдельный раздел на диске (а не файл, как в Windows). Впрочем в других дистридутивах дывает и иначе.
Файловый менеджер (mc)
Аналог Far Manager в Windows (ну или NortonComander :)). Двухпанельный файлменеджер. Имеет хороший редактор с функцией подсветки синтаксиса и копирования прямоугольных блоков. Редактор имеет свое название mcedit. Чтобы установить его редактором по умолчанию в системе нужно заменить в файле /etc/bashrc.d/editor.sh редактор vim на mcedit.
По F2 из mc вызывается удобное пользовательское меню для архивации катклогов. По команде «Shell соединение» в меню панели позволяет через ssh подключение просматривать и редактировать файловую систему компьютера, подключенного по сети.
Система документации команд командной строки (man)
На большую часть команд командной строки можно получить описание набрав в командной строке
Сервер печати (cups)
В наследство от Apple, МОС достался сервер печати. Управление им осуществляется довольно нестандартно — через web интрефейс, доступный по ссылке http://localhost:631
Дисплейный менеджер (sddm)
Графическая окружение является независимой подсистемой MOS-Linux. Для ее запуска используется дисплейный менеджер. Именно дисплейный менеджер запускается системным менеджером после загрузки системы и служит для ввода логина и пароля (в том числе и для беcпарольного входа, если эта функция активирована). В дисплейном менеджере можно выбрать некоторые параметры.
В частности вид графического сервера (xorg или более современный wayland) но я не рекомендую это делать в MOS на данном этапе — wayland работает плохо. В системе могут быть установлены разные дисплейные менеджеры (lightdm, gdm), но по умолчанию выбран sddm. В его настройках в /etc/X11/sddm/sddm.conf можно задать пользователя, от имени которого будет осуществляться вход сразу после загрузки без пароля.
Если графическая подсистема не стартует, рекомендуем переустановить (apt-get reintall sddm) или перезапустить (systemctl sddm.service restart) дисплейный менеджер.
Графический сервер (xorg)
Фактически это и есть графическая подсистема МОС. Она в свою очередь запускает среду рабочего стола Plasma-desktop, а та в свою очередь графический приложения. Каждое графическое приложение имеет консоль. Если графическое приложения запускать из консоли, расположенной внутри графической среды, оно запустится но в консоль возможно будет выдавать сообщения об ошибках. Это бывает полезно для понимания проблем
Среда рабочего стола (plasma-desktop)
Настройки системы для пользователя (каталок .config)
Настройки для конкретного пользователя хранятся в основном в папке пользователя, в каталоге .config , приимущественно в текстовом виде. При проблемах с системой, эти каталоги можно восстановить из архива, скопировать с соседнего компьютера или в крайнем случае частично удалить, сбросив настройки. Можно также запретить изменения настроек, дав файлам в каталоге разрешение только для чтения.
не-Эмулятор Windows (wine)
Для запуска программ Windows можтщ установить эмулятор Wine. Он бывает 32 или 64 битным на 64-битном Linux. Обычно рекомендуется 32-битный. Эмулятор при первом запуске создает в домашней папке каталог .wine (если небыло указано иначе) в котором размещается файловая система всех дисков, подключенных к псевдо-windows.
Можно создать таких систем несколько — например свою для каждой запускаемой из wine программы. Windows сложная система, имеет много лицензионных ограничений, поэтому эмуляция работает лишь частично. Часть программ запускается, но работает не полностью, часть не запускается. программа winetriks содержит сборник рецептов в виде скриптов для установки отдельных популярных программ. Важно: программы на wine устанавливаются от имени пользователя (права root не нужны) в каталог пользователя(доступны одному пользователю). Единожды установленный, каталог .wine может быть скопирован на другой компьютер в тот же каталог, чтобы не повторять действия по установке.
Источник: it-help-school.ru
Процесс загрузки Linux
Задумывались ли вы о том, как происходит загрузка операционной системы? Как компьютер узнаёт о том, где находится операционная система? Давайте рассмотрим процесс запуска Linux от включения компьютера и до входа в систему.
Практически каждый этап загрузки может идти несколькими путями. Например, вы узнаете о том, чем отличается BIOS от UEFI, что делает GRUB и чем его можно заменить, почему одного лишь ядра Linux недостаточно для функционирования операционной системы.
Процесс загрузки Linux
Процесс загрузки операционной системы можно разбить на 5 этапов, причём первые три зависят от материнской платы. Ниже вы можете видеть схематичное изображение этапов загрузки Linux.
Как видите, до того, как загрузится ядро, процесс имеет существенные отличия. И всё же любая загрузка системы начинается с включения компьютера.
Первый этап: включение компьютера
Запуск компьютера с BIOS и UEFI отличается. Первый BIOS появился в середине 70-х годов, а MBR стали использовать с 1983 года. Стоит ли говорить о том, что для современного компьютера предпочтительнее использовать UEFI и GPT. А теперь перейдём непосредственно к рассмотрению первого этапа загрузки.
BIOS + MBR
BIOS – это базовая система ввода-вывода. Она представляет из себя набор программ для взаимодействия с устройствами компьютера. BIOS хранится на микросхеме EEPROM материнской платы. При каждом запуске компьютера плата автоматически отправляет код процессору на исполнение. Далее BIOS проводит проверку оборудования (тест POST) и обращается к жёсткому диску или твердотельному накопителю.
От него ему нужны первые 512 байт, именно там находится главная загрузочная запись (MBR). Ниже вы можете видеть структуру MBR.
Если подпись MBR равна 55AAh, то система начинает выполнять код первичного загрузчика. В случае с Linux, MBR передаёт управление основному загрузчику GRUB. Он располагается сразу после MBR. До начала первого раздела на накопителе есть не менее 32 килобайт свободного места (современные системы оставляют 1 Мбайт), этого достаточно для того, чтобы разместить GRUB.
Таблица разделов в MBR имеет крайне скромный размер, есть место всего на 4 позиции. В связи с этим нельзя разметить накопители объёмом более 2 терабайт. К тому же она использует устаревшую адресацию, с цилиндрами, головками и секторами жёсткого диска.
На компьютерах с UEFI поддержка MBR никуда не делась, но для этого вам придётся активировать BIOS или CSM mode, в зависимости от производителя материнской платы. Это нужно для совместимости со старыми операционными системами.
UEFI + GPT
Интерфейс расширяемой прошивки EFI (позднее унифицированный UEFI) – это разработка Intel. Он был создан потому, что BIOS имеет ряд недостатков. К ним можно причислить работу в 16-битном режиме, последовательную проверку устройств и загрузку только через MBR.
Физически поменялось не многое, разве что FLASH-накопитель для хранения прошивки стал больше. Зато программная часть претерпела значительные изменения. UEFI работает в 32- и 64-битном режиме, поддерживает таблицу разделов GPT, может иметь красивый графический интерфейс, оболочку EFI Shell и управление с помощью мыши. К тому же опрос оборудования происходит гораздо быстрее.
Оглавление таблицы GPT располагается в первом логическом блоке (LBA 1). В GPT перешли к использованию логических блоков, к тому же их понимают современные жёсткие диски и SSD. Нулевой блок по-прежнему отдаётся под MBR, но в этот раз он выполняет защитную функцию, чтобы старые операционные системы не переписали GPT.
Каждой записи таблицы даётся 128 байт, что позволяет разметить накопители практически неограниченного объёма. Да и самих записей может быть больше 100.
В конце таблицы находится контрольная сумма. Если будет обнаружено несоответствие, то система попробует обратиться к резервной копии таблицы, расположенной в последних блоках накопителя.
После проверки устройств, UEFI может самостоятельно обратиться к таблице разделов GPT. В ней её интересует EFI раздел. Обычно под него выделяется 520-540 Мбайт. Такой размер связан с тем, что ранние версии EFI могли выдавать ошибку при работе с меньшим объёмом. Но Windows уже отходит от этой традиции и ограничивается 100 Мбайтами.
В разделе EFI обязательно должна быть папка EFI/BOOT, в ней находится загрузчик по умолчанию. Но никто не мешает добавить свой загрузчик, например, для Ubuntu и Windows.
К минусам UEFI можно отнести Secure Boot. Загрузчик без подписи просто не сможет быть использован. Эти меры направлены в первую очередь на компьютеры с Windows, чтобы не допустить использование старых систем на новых омпьютерах. Для Linux в этом случае приходится искать подписанный загрузчик или отключать Secure Boot, если имеется такая возможность.
PXE
Ещё одним способом загрузки является PXE – загрузка через сетевой интерфейс. Первичный загрузчик находится в ПЗУ сетевой карты. С его помощью карта через протокол TFTP получает основной загрузчик.
Этот способ загрузки будет работать как с BIOS, так и с UEFI. Он полезен для работы с тонкими клиентами и для установки операционной системы по сети.
Второй этап: загрузчик
Загрузчик подготавливает систему к загрузке ядра операционной системы. Например, для Linux он может передавать параметры запуска ядра. В зависимости от того, что используется, BIOS или UEFI, выбор загрузчика отличается.
Как можете видеть, в Ubuntu есть как .efi загрузчик, так и GRUB.
GRUB
GRUB – это основной загрузчик для большинства дистрибутивов Linux. Он примечателен тем, что позволяет не только запустить ядро Linux или другой операционной системы, но ещё и сам по себе способен выполнять некоторые операции. Он имеет собственную командную строку и в теории позволяет устранить собственные ошибки. GRUB существует в версиях как для BIOS, так и UEFI. Но последний не имеет цифровой подписи для Secure Boot.
Syslinux Project
Дальше выполняется загрузка ядра Linux. Ядро лежит в папке boot под названием vmlinuz. «vm» в начале говорит о том, что ядро будет размещено в виртуальной памяти. А «z» на конце означает то, что ядро запаковано в архив и требует распаковку. Это возможно благодаря тому, что в начале архива находится исполняемый код.
В процессе запуска ядра настраивается оборудование, запускается менеджер памяти, планировщик задач и многое другое, необходимое для функционирования операционной системы.
Ядро Linux монолитное, драйверы устройств хранятся прямо в нём. Однако, это утверждение верно лишь отчасти. Большая часть периферийных устройств не имеет драйверов в ядре Linux. Вместо этого в оперативной памяти распаковывается ещё один файл во временной файловой системе – initrd.img.
После запуска всех необходимых служб временный раздел удаляется. Но это происходит не всегда. Например, он остаётся после запуска в режиме liveCD и при использовании тонкого клиента.
Четвертый этап: запуск пользовательских служб
Ядро загрузилось и работает. Но этого недостаточно для работы с операционной системой. Вы по-прежнему не можете взаимодействовать с ней на прикладном уровне. Для того, чтобы можно было что-то сделать в Linux, управление получает подсистема инициализации и управления службами. Обычно этот процесс имеет идентификационный номер PID-1.
Systemd
Systemd – это самая популярная система инициализации. Она хорошо распараллеливает задачи и практически вытеснила другие решения. Запускаются десятки служб. Например, такие, которые управляют звуковыми устройствами, мультимедийными клавишами, запускают графическую оболочку. Большая часть файлов подсистемы представлена конфигурационными файлами, ссылающимися на конкретные утилиты и сервисы, но есть и собственные службы.
Стоит пару слов уделить D-Bus. Эта служба позволяет процессам взаимодействовать друг с другом. Например, через неё служба управления звуковыми устройствами узнаёт о том, что была нажата клавиша увеличения громкости, распознанная другой службой. Такой подход позволяет создавать простые, но эффективные службы.
А ещё в комплект утилит Systemd входит супервизор. Он следит за тем, чтобы все критически важные службы работали. Если он заметит, что какой-то службы не хватает, то сразу же запустит её снова. Его также применяют для поддержания работы серверов.
Sysvinit, OpenRC и другие
Sysvinit считается устаревшей системой. Она следует принципам, заложенным ещё в 80-х годах для операционной системы Unix System V. Запуск служб происходит последовательно, а настройка производится с помощью скриптов, что несколько проще, чем у systemd.
Для дистрибутива Gentoo разрабатывается система инициализации OpenRC. Её можно назвать осовремененной sysvinit. Но важно понимать, что рядовому пользователю система инициализации безразлична, она интересует лишь тех, кто добавляет свои службы и утилиты в дистрибутив Linux.
О других системах, вроде Runit, Daemontools или S6, справедливо предыдущее утверждение, к тому же их доля совсем невелика. Хотя они тоже имеют свои особенности. После этого процесс загрузки Linux практически завершен.
Пятый этап: экранный менеджер и окружение рабочего стола
Нельзя списывать со счетов и дисплейный менеджер. Это по сути первая программа с графическим интерфейсом. Она отвечает за вход в систему. Хотя и до её запуска проводились некоторые работы, был запущен сервер X11 для обращения к видеокарте и обработки команд управления c мыши и клавиатуры.
После ввода пароля запускается оконный менеджер с библиотеками отображения (обычно GTK3 или Qt) и непосредственно само окружение рабочего стола. Эти службы отвечают за то, чтобы вы могли перемещать окна, перетаскивать файлы, иметь несколько рабочих столов и тому подобное. Всё, загрузка Linux выполнена и операционная система полностью готова к использованию!
Выводы
В этой статье мы рассмотрели процесс загрузки Linux поверхностно, но этого достаточно, чтобы иметь общее представление об этом сложном многоступенчатом процессе. Несмотря на то, что каждый элемент выполняет свою функцию, после подготовки он передаёт управление следующему. Это позволяет автоматизировать загрузку и в целом упростить её.
Что же касается выбора между BIOS и UEFI, то последний однозначно выигрывает. Как минимум потому, что он практически не тратит время на проверку оборудования, а также позволяет практически сразу передать управление ядру Linux.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Источник: losst.pro
Sysadminium
Если вам интересно узнать как загружается Linux, то эта статья для вас. Рассмотрим алгоритм загрузки Linux на компьютерах с BIOS и UEFI.
Оглавление скрыть
Алгоритм загрузки linux (BIOS)
BIOS
BIOS расшифровывается как Basic Input/Output System, что в переводе — Базовая Система Ввода/Вывода. Это специальная микросхема, которая находится на материнской плате компьютера.
Когда компьютер только включается, то выполняется код из микросхемы BIOS. Вначале этот код выполняет тестирование системы POST (power-on self test), этим тестированием проверяется аппаратная часть системы. А затем из всех дисков определяется загрузочный.
BIOS умеет работать только с дисками размеченными MBR способом. На первом секторе такого диска находится так называемый MBR (master boot record). Сектор диска имеет размер 512 байт. В эти 512 байт помещается маленький загрузчик и таблица разделов. Кстати, если диск не загрузочный, то вместо загрузчика там может находится код, который сообщает, что это не загрузочный диск (No bootable device).
Так вот, BIOS передает управление маленькому загрузчику из MBR на загрузочном диске.
Загрузчик MBR и GRUB 2
Код загрузчика из MBR очень маленький и он способен лишь найти и запустить следующий загрузчик.
Следующий загрузчик больше и умнее. Бывают разные загрузчики для Linux, но самым популярным является GRUB 2. Он позволяет пользователю выбрать операционную систему для загрузки. А также умеет загружать операционные системы с логических разделов. GRUB 2 расположен на разделе жесткого диска в каталоге /boot и довольно часто этот каталог выносят на отдельный раздел.
Давайте посмотрим что находится в этом каталоге на Debian:
Ubuntu в этом каталоге содержит примерно тоже самое, но ядро новее:
Разберем некоторые файлы в этом каталоге. Здесь находится:
- подкаталог с загрузчиком — grub;
- ядра разных версий — файлы vmlinuz;
- архивы с временной файловой системой и утилитами необходимыми для загрузки ядра — файлы initrd.img;
- остальные файлы я рассматривать пока не буду.
После того, как GRUB 2 получил управление, он загружает ядро Linux (файл vmlinuz). При этом GRUB 2 загружает в память файловую систему из файла initrd.img. А затем запускает ядро, и при запуске, передаёт ему некие параметры, которые мы рассмотрим в следующей статье.
Вы можете спросить, зачем вообще нужен образ корневой файловой системы с утилитами initrd.img? Он необходим, потому что, когда GRUB 2 начинает загружать систему корневая файловая система еще не смонтирована. Поэтому GRUB 2 использует initrd как временную корневую файловую систему, которая загружается из файла в оперативную память.
Initrd — представляет собой файл, содержащий загружаемые модули ядра и минимальный набор утилит для загрузки этих модулей. Он сжимается и загружается в оперативную память с помощью загрузчика. Ядро получает доступ к нему, как если бы была установлена файловая система.
Вы можете использовать команду lsinitramfs чтобы перечислить содержимое файла initrd.img.
Вот пример для Debian:
А вот пример для Ubuntu:
Ядро Linux и процесс инициализации
Ядро при запуске использует временную файловую систему из файла initrd.img для того чтобы загрузиться полностью.
А дальше ядро запускает процесс инициализации операционной системы. Процесс инициализации является первым процессом в системе, так как ядро запускалось не как процесс. Каким именно будет процесс инициализации зависит от используемой системы инициализации. Существуют разные системы инициализации, но в Debian 11 и Ubuntu 22.04 используется система инициализации под названием SystemD.
То есть, первым процессом при запуске этих двух систем является systemd. Чтобы это проверить выполним следующие две команды, которые на обоих системах выполняются одинаково:
Первой командой мы смотрим, какой процесс в системе работает под номером 1 — это systemd. Второй командой смотрим на что ссылается файл, который традиционно считается файлом системы инициализации — а ссылается он на /lib/systemd/systemd.
И наконец, система инициализации запускает все остальные процессы в системе.
Итог по загрузке с 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.
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
Немного про GRUB 2
GRUB 2 в настоящее время является основным загрузчиком для большинства систем Linux. Он позволяет запустить не только ядро Linux, но и Windows систему. Он имеет собственную командную строку с помощью которой можно, например устранить некоторые ошибки при загрузки.
Существует две версии загрузчика GRUB 2: для BIOS и для UEFI. Но для UEFI он не имеет цифровой подписи для режима Secure Boot.
Ubuntu, кстати, поддерживает Secure Boot. Для этого используется загрузчик Shim подписанный подписью от Microsoft. И этот загрузчик запускает GRUB 2, который подписан цифровой подписью от Canonical.
Взаимодействуя с GRUB 2 при старте системы вы можете выбрать, какую из возможных конфигураций загрузить или изменить:
Когда отображается меню, вы можете нажать:
- «Enter» — чтобы немедленно загрузить выбранную строку меню;
- любую другую клавишу — чтобы остановить тайм-аут;
- «e» — чтобы отредактировать запись;
- «c» — чтобы войти в командную строку GRUB2.
Если ваш тайм-аут установлен на 0, то GRUB 2 немедленно загружает систему не показывая подобное меню.
На следующем уроке подробнее разберём загрузчик GRUB 2.
Источник: sysadminium.ru