26 апреля, 2024

Основы Linux. Часть 21 (загрузчик GRUB)

Содержание:

С возвращением, мои хакеры!

Многие из вас установили Kali Linux на виртуальную машину (VM) с помощью Vmware или VirtualBox, в то время как другие установили Kali (или BackTrack) в качестве второй системы. Недостатком установки этих хакерских систем в виртуальную машину является то, что для этого требуется внешний Wi-Fi адаптер (ваш Wi-Fi адаптер подключается через виртуальную машину в качестве проводного устройства eth0), но такой вариант подключения отлично подходит для затачивания ваших навыков хакинга и проведения тестов.

Использование Kali в качестве второй системы не требует использования другого беспроводного адаптера и позволяет использовать ресурсы вашей физической системы в полном объеме, не проходя через гипервизор. Таким образом, когда вам нужна Windows, вы загружаетесь в Windows, а когда нужна Kali, вы загружаетесь в Kali.

Загрузчик операционных систем

Чтобы иметь возможность загружать по своему выбору несколько операционных систем, у вас должен быть загрузчик, и в этом проблема. Загрузчик позволяет нам выбрать операционную систему, которую мы хотим загрузить. Начнем, как всегда, с основ и в первую очередь нам нужно понять, что принято называть «загрузчиком».

Исторически Linux использовал два загрузчика: LILO (Linux Loader) и GRUB. Вы можете найти LILO в некоторых старых системах, но в основном он был заменен на GRUB. GRUB имеет две версии: оригинальный GRUB и новый улучшенный GRUB2. Система Kali поставляется по умолчанию с GRUB2, поэтому мы сосредоточимся на этой более новой версии.

Чтобы помочь вам лучше понять, как работает GRUB, а также как настраивать и устранять неполадки GRUB, мы посвятим целых две статьи этой теме, поэтому следите за обновлениями — не пропустите часть 22 нашей серии по основам Linux.

Читать также:  Основы Linux. Часть 24 (Философия Linux)

Небольшое введение в GRUB

GRUB является аббревиатурой для GRAND Unified Bootloader или «Главный унифицированный загрузчик». Он в значительной степени уже заменил устаревший загрузчик LILO, имеющийся на многих старых версиях Linux. GRUB работает, перехватывая управление процессом загрузки, когда BIOS передает управление главной загрузочной записи (MBR), находящейся в первом секторе основного жесткого диска. GRUB подменяет MBR своим собственным кодом, который и контролирует то, какой раздел должен загружается.

Шаг 1. Обзор GRUB

Давайте посмотрим на GRUB2, поскольку именно он и установлен на Kali. GRUB2, в отличие от оригинального GRUB, содержит все свои файлы в трех основных местоположениях. Вот эти места:

  • /boot/grub/grub.cfg — это основной файл конфигурации (заменяет menu.lst)
  • /etc/grub.d — эта директория содержит скрипты, которые генерируют grub.cfg
  • /etc/default/grub — этот файл содержит настройки меню GRUB

Давайте начнем с навигации и поиска в директории GRUB.

kali> cd /boot/grub
 kali> ls -l

Как видно на скриншоте выше, в этом каталоге много файлов, но нам пока нужен только grub.cfg. Это конфигурационный файл нового GRUB2, который поставляется вместе с Kali. Он заменяет старый файл menu.lst, который вы можете найти в оригинальном GRUB. Откроем его с помощью команды more и посмотрим, что у него внутри.

Grub.cfg — это в основном скрипт для запуска и настройки GRUB2. Он генерируется скриптами из директории /etc/grub.d, и вы НЕ должны пытаться редактировать его напрямую (обратите внимание на предупреждение во второй строке файла grub.cfg).

Шаг 2. Директория /etc/grub.d

Посмотрим на содержимое директории /etc/grub.d.

kali> cd /etc/grub.d
 kali> ls -l

На скриншоте выше видно, что в этом каталоге есть несколько скриптов, которые запускаются для генерации файла grub.cfg. Посмотрим на ключевые файлы:

  • 00_header — этот скрипт загружает настройки из /etc/default/grub
  • 05_debian_theme — этот скрипт определяет цвета, фон и т. д.
  • 10_linux — этот скрипт загружает записи меню
  • 20_memtest86 — этот скрипт загружает тесты памяти
  • 30_os-prober — этот скрипт сканирует жесткие диски для других операционных систем
  • 40_custom — шаблон для ручного добавления других пунктов меню
Читать также:  Основы Linux .Часть 14 ( MySQL )

Шаг 3. Обзор /etc/default/grub

Теперь перейдем в директорию /etc/default и посмотрим, что в ней находится.

kali> cd /etc/default
 kali> ls -l

В этой директории лежит много файлов и скриптов, которые настраивают различные демоны или службы в Linux. Единственное, что нас здесь интересует — это файл grub, который выделен на скриншоте выше. Откроем его с помощью команды more.

kali > more /etc/default/grub

Когда мы это сделаем, то увидим следующий результат.

Этот файл содержит много параметров для настройки GRUB, таких как TIMEOUT, например, и другие параметры. Изменив что-либо в этом файле, вы должны будете запустить в консоли команду «update-grub», чтобы эти изменения вступили в силу, а затем будет сгенерирован новый конфигурационный файл grub.cfg.

Шаг 4. Как работает GRUB2

Прежде чем мы двинемся дальше, мы хотим немного рассказать о том, как работает GRUB2. Он несколько отличается от работы оригинального GRUB, и вам нужно это понимать, прежде чем пытаться что-то изменять или редактировать в GRUB2.

Различия в настройке GRUB и GRUB2:

Файл /etc/default/grub содержит параметры настройки.

Директория /etc/grub.d/ содержит скрипты для того, что отображается в меню GRUB при загрузке системы, а также скрипты для загрузки различных операционных систем. Когда выполняется команда update-grub, она считывает содержимое файла grub и скрипты в директории grub.d и генерирует новый конфигурационный файл grub.cfg.

Чтобы изменить файл grub.cfg, нужно отредактировать файл grub или скрипты, находящиеся в директории grub.d (очевидно, что проще и лучше редактировать только файл grub).

Продолжение следует, оставайтесь с нами…

В следующей статье в серии по основам Linux мы рассмотрим, как редактировать загрузчик GRUB, так что обязательно возвращайтесь, чтобы не пропустить самое главное!

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

Предыдущие статьи ( 1, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20).

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