Как проверить, используется ли определенный загрузчик в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы узнаете, как проверить, какой загрузчик используется в системе Linux, с особым вниманием к GRUB. Вы изучите ключевые конфигурационные файлы, расположенные в каталоге /boot/grub, чтобы понять компоненты вашей установки GRUB.

Затем вы рассмотрите файл /etc/default/grub, чтобы проверить основные настройки конфигурации, которые контролируют поведение GRUB. Наконец, вы просмотрите журналы загрузчика с помощью команды dmesg, чтобы подтвердить, какой загрузчик был загружен при запуске системы.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") subgraph Lab Skills linux/ls -.-> lab-558753{{"Как проверить, используется ли определенный загрузчик в Linux"}} linux/cat -.-> lab-558753{{"Как проверить, используется ли определенный загрузчик в Linux"}} linux/grep -.-> lab-558753{{"Как проверить, используется ли определенный загрузчик в Linux"}} end

Проверка GRUB с помощью команды ls /boot/grub

На этом этапе мы рассмотрим конфигурационные файлы загрузчика GRUB. GRUB (GRand Unified Bootloader) является стандартным загрузчиком для большинства дистрибутивов Linux, включая Ubuntu. Это первое программное обеспечение, которое запускается при включении компьютера и отвечает за загрузку ядра операционной системы в память.

Основные конфигурационные файлы GRUB обычно находятся в каталоге /boot/grub. Давайте выведем список содержимого этого каталога, чтобы посмотреть, что в нем находится.

Если терминал еще не открыт, откройте его. Помните, что вы можете найти значок Xfce Terminal слева на рабочем столе.

Введите следующую команду и нажмите Enter:

ls /boot/grub

Команда ls используется для вывода списка файлов и каталогов. Когда вы указываете путь, например /boot/grub, она выводит список содержимого этого конкретного каталога.

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

fonts  grub.cfg  grubenv  i386-pc  locale  unicode.pf2  x86_64-efi

Этот вывод показывает различные компоненты вашей установки GRUB. Самый важный файл здесь - grub.cfg, который содержит фактическую конфигурацию меню загрузки. Мы рассмотрим этот файл на следующем этапе.

Понимание содержимого каталога /boot/grub является первым шагом в изучении процесса загрузки вашей Linux-системы.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка конфигурации GRUB с помощью команды cat /etc/default/grub

На предыдущем этапе мы вывели список содержимого каталога /boot/grub и увидели файл grub.cfg. Хотя grub.cfg является активным конфигурационным файлом, он обычно генерируется автоматически на основе настроек, определенных в файле /etc/default/grub, и скриптов в каталоге /etc/grub.d/.

Файл /etc/default/grub содержит основные параметры конфигурации, которые контролируют поведение GRUB, такие как операционная система по умолчанию для загрузки, время ожидания перед загрузкой и параметры ядра.

Давайте посмотрим на содержимое файла /etc/default/grub с помощью команды cat. Команда cat используется для отображения содержимого файлов.

Введите следующую команду в терминале и нажмите Enter:

cat /etc/default/grub

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

## If you change this file, run 'update-grub' afterwards to update
## /boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

## Uncomment to enable booting from a full graphics screen using grub-gfxpayload
## and grub-theme-ubuntu-mate ...
#GRUB_GFXPAYLOAD_LINUX=keep

## Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

## The resolution used on graphical terminal
## Note that you can only use resolutions specified in your gfxpayload.
## See the Graphics chapter in the Grub manual for more details.
#GRUB_GFXMODE=640x480

## Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to the Linux kernel
#GRUB_DISABLE_LINUX_UUID=true

## Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

## Uncomment to get a beep at boot start
#GRUB_INIT_TUNE="480 440 1"

Этот файл содержит различные настройки, каждая из которых объясняется комментариями, начинающимися с #. Например:

  • GRUB_DEFAULT: Определяет пункт меню по умолчанию для загрузки. 0 обычно означает первый пункт.
  • GRUB_TIMEOUT: Устанавливает время в секундах, по истечении которого будет автоматически загружен пункт по умолчанию.
  • GRUB_CMDLINE_LINUX_DEFAULT: Содержит параметры ядра, передаваемые в пункт загрузки по умолчанию.

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

Нажмите Продолжить, чтобы перейти к следующему шагу.

Просмотр журналов загрузчика в dmesg

На предыдущих этапах мы рассмотрели конфигурационные файлы GRUB. Теперь давайте изучим сообщения, сгенерированные ядром во время процесса загрузки. Эти сообщения хранятся в буфере и могут быть просмотрены с помощью команды dmesg.

dmesg (буфер диагностических сообщений) - это команда, которая выводит содержимое буфера сообщений ядра. Он содержит информацию о аппаратных устройствах, драйверах устройств и других сообщениях, связанных с ядром, которые генерируются при запуске системы. Это ценный инструмент для диагностики проблем при загрузке системы.

Введите следующую команду в терминале и нажмите Enter:

dmesg

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

Чтобы увидеть сообщения, связанные конкретно с загрузчиком или ранней стадией загрузки, можно искать ключевые слова, такие как "GRUB", "boot" или "kernel command line".

Давайте попробуем отфильтровать вывод с помощью grep, чтобы найти строки, содержащие "Command line":

dmesg | grep "Command line"

Символ | называется пайпом (pipe). Он берет вывод команды слева (dmesg) и передает его в качестве входных данных команде справа (grep). grep - это мощный инструмент для поиска текстовых шаблонов. В данном случае мы ищем строки, содержащие фразу "Command line".

Вы должны увидеть вывод, похожий на следующий, показывающий параметры командной строки ядра, переданные загрузчиком:

[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-... root=UUID=... ro quiet splash

Эта строка показывает образ ядра, который загружается (/boot/vmlinuz-...), и параметры ядра (root=UUID=... ro quiet splash). Эти параметры обычно задаются в файле /etc/default/grub, который мы рассмотрели на предыдущем этапе.

Исследование dmesg является важным для диагностики проблем, возникающих во время процесса загрузки, так как оно предоставляет подробную информацию о том, что делает ядро с самого начала.

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

Резюме

В этом практическом уроке мы научились проверять, используется ли GRUB в качестве загрузчика в системе Linux. Мы начали с вывода списка содержимого каталога /boot/grub с помощью команды ls, чтобы определить наличие конфигурационных файлов GRUB, в частности grub.cfg. Этот шаг подтвердил, что GRUB установлен на системе.

Затем мы рассмотрели файл /etc/default/grub с помощью команды cat. Этот файл содержит основные настройки конфигурации GRUB, такие как параметры загрузки по умолчанию и значения таймаута. Просмотрев этот файл, мы дополнительно подтвердили, что GRUB настроен как загрузчик и получили представление о его поведении.