ћерион Ќетворкс

7 минут чтени€

ƒл€ того, чтобы начать разговор про загрузчиков, дл€ начала необходимо понимать, как разбиваютс€ жесткие диски и систему их разбиени€.

ќбучайс€ в Merion Academy

ѕройди курс по
сетевым технологи€м

Ќачать
как разбиваютс€ жесткие диски и систему их разбиени€

MBR Master Boot Record это первые 512 Ѕайт диска, это не раздел, не партици€ это участок места в начале жесткого диска, зарезервированный дл€ загрузчика ќперационной системы и таблицы разделов.

 огда компьютер включаетс€ BIOS производит тестовые процедуры. ѕосле чего, передает код управлени€ начальному загрузчику, который как раз расположен в первых байтах MBR. ѕричем, какому жесткому диску передавать управление мы определ€ем самосто€тельно в соответствующих настройках BIOS. MBR это очень важна€ часть нашего жесткого диска, потер€ его чревата потерей данных с нашего жесткого диска или невозможностью загрузитс€. ѕоэтому ранее возникала потребность в резервном копировании данной части жесткого диска. Ќо это было достаточно давно.

¬ насто€щее врем€ большинство машин не использует BIOS, а использует UEFI это современна€ замена BIOS, котора€ более функциональнее и имеет больше плюсов. Ќужно понимать, что UEFI это более защищенна€ загрузка и более скоростна€, потому что позвол€ет инициализировать параллельно различные интерфейсы и различную последовательность команд. “ак вот если у нас не BIOS, а UEFI, то HDD будет разбит не по принципу MBR, а по принципу GPT - GUID Partition table. Ёто другой формат размещени€ таблицы разделов. Ёто UEFI, а UEFI использует GPT там, где BIOS использует MBR. GPT дл€ сохранени€ преемственности и работы старых операционных систем оставила в самом начали диска блок дл€ MBR. –азница изначально между MBR и GPT, в том, что MBR использует адресацию типа цилиндр, головка, сектор, а GPT использует логические блоки, LBA0, LBA1, LBA2. ј также дл€ GPT необходимо понимать, что есть логическое дублирование оглавление таблицы разделов записано, как в начале, так и в конце диска. » в принципе дл€ организации резервного копировани€ Linux в принципе ничего не предлагает. Ќо в случае если у нас MBR это необходимо делать.

ƒл€ начала надо нам пон€ть, что и куда у нас смонтировано какой раздел у нас €вл€етс€ загрузочным и его скопировать. ¬водим команду fdisk l и видим следующее:

fdisk l

”стройство /dev/sda1 €вл€етс€ загрузочным и, следовательно, на нем находитс€ MBR.  оманда, котора€ осуществл€ет резервное копирование она проста€ - это dd. Ёто утилита, котора€ позвол€ет копировать и конвертировать файлы. √лавное отличие данной утилиты в том, что она позвол€ет это делать по секторно, т.е. она учитывает геометрию диска. »спользование: dd if=/dev/sda of=/root/backup.mbr bs=512 count=1. if что мы копируем, of - куда мы это копируем, bs что мы копируем 1 блок размера 512, count - количество блоков.

где на жестком диске находитс€ MBR

“олько, что мы скопировали первый блок жесткого диска, это то самое место, где на жестком диске находитс€ MBR.


«агрузчики

ѕервый загрузчик Lilo Linux Loader

ѕервый загрузчик Lilo  Linux Loader

Ёто был самый попул€рный загрузчик дл€ Linux и дл€ Unix систем в целом, он не зависел от файловой системы, мог загружать ќ— с жесткого диска или с дискеты. »з этого выходила его особенность, загрузчик Lilo хранил в своем теле положение €дер и пункты меню и требовал обновлени€ себ€ с помощью специальной утилиты, можно было поместить до 16 пунктов меню при загрузке. ƒанного загрузчика уже нету во многих дистрибутивах ќ— Linux.

¬ насто€щее врем€ повсеместно используетс€ загрузчик GRUB2, но мы можем поставить загрузчик Lilo, чтобы с ним разобратьс€.

”становка довольно-таки банальна€ apt-get install lilo.

apt-get install lilo

¬ процессе установки выскакивает предупреждение, что это перва€ установка lilo, после установки необходимо будет исполнить команду, а затем запустить непосредственно загрузчик, который применит непосредственно все изменени€. Ќажимаем ќ . ƒалее запускаем liloconfig. Ќичего не произошло, просто утилита создала файл и этот файл €вл€етс€ файлом конфигурации. — помощью команды cat /etc/lilo.conf мы можем посмотреть файл конфигурации загрузчика.

¬ заголовке файла написано сразу, что после внесени€ изменений необходимо выполнить команду lilo, чтобы он сразу применил их. ƒалее идут основные параметры конфигурационного файла. ѕервый параметр lba32. ¬от он как раз и мен€ет ту самую традиционную конфигурацию цилинд-головка-сектор, на logical block адреса, что позвол€ет работать с большими дисками.

logical block адреса

¬ разделе boot мы должны указать на каком диске у нас находитс€ MBR. ≈сли внимательно посмотреть, то можно увидеть подсказку, где посмотреть /dev/disks/by-id/ata* uuid дисков. ѕосле, чего можно скопировать им€ диска и вставить его и тогда его сможет загружать. Lilo узнает, где MBR и будет оттуда загружать систему.

  • Verbose = 1 Verbose level - это параметр, который показывает сколько выводить информации при загрузке.
  • Install = menu - ƒанный параметр отвечает, как будет выгл€деть меню загрузки. Lilo предлагает 3 варианта. » дл€ каждого варианта, есть внизу дополнительные закомментированные параметры.
  • Prompt это параметр отвечает за ожидание пользовател€, его реакции. ѕо умолчанию 10сек. «начение параметра в децасекундах.

ƒалее мы можем посмотреть, где наход€тс€ €дра нашей операционной системы.  огда мы запустили liloconfig загрузчик нашел наши €дра операционной системы.  ак видно на скриншоте определил версию €дра, определил где будет корнева€ файлова€ система. —монтировал в режиме read-only. ¬ данных параметрах мы может отредактировать строчку lable, чтобы переименовать отображение при загрузке. ≈сли есть желание можно отредактировать данный файл и добавить еще €дро, если установлена втора€ OS.

где наход€тс€ €дра нашей операционной системы

«агрузчик GRUB

—тарый загрузчик GRUB эта та верси€ загрузчика, который использовалс€ с Lilo. “огда Lilo был самый распространенный. “еперь данный загрузчик называетс€ Grub legacy. Ѕольше никак не развиваетс€, дл€ него выход€т только патчи и обновлени€ и его даже невозможно установить на новые операционные системы. “.к. команды и инструментарий используетс€ одинаковый, как дл€ старого GRUB, так и дл€ нового.

ƒалее мы будем рассматривать современный вариант загрузчика GRUB 2.

современный вариант загрузчика GRUB 2

¬от так он при загрузке примерно выгл€дит. «агрузчик GRUB 2 был полностью переделал и имеет мало чего общего с предыдущим загрузчиком. ќн может загружать любую ќ— и передавать загрузку, так же другому загрузчику, альтернативной ќ—. Ќапример, MS Windows это NTDLR. явл€етс€ самым попул€рным загрузчиком на сегодн€ и стоит по умолчанию в подавл€ющем количестве операционных систем типа Linux. ≈сли, что-то случилось, например кто-то переставил на загрузчик lilo, мы можем вернуть загрузчик Grub обратно командой grub-install /dev/sda. ћожно узнать версию загрузчика следующим способом grub-install version.

ќсновной файл конфигурации можно посмотреть cat /boot/grub/grub.cfg.

‘айл настройки и конфигурации, достаточно сильно отличаетс€ от файла конфигурации lilo или первой версии GRUB. ƒанный файл не редактируетс€, т.к он создаетс€ скриптами с использованием нескольких настроечных файлов, которые мы можем найти в папке /etc/grub.d с использованием настроек файла /etc/default/grub.

ѕримерно так выгл€дит файл настроек дл€ загрузки.

файл настроек дл€ загрузки

» здесь в более или менее в пон€тном нам виде наход€тс€ настройки. » данные настройки определ€ют поведение. Ќапример, grub_default = 0 устанавливает €дро дл€ запуска по умолчанию, параметр grub_hidden_timeout = 0 обозначает использоватьс€ пустой экран. grub_hidden_timeout_quiet = true - это утверждает, что будет использоватьс€ пустой экран.“.е загрузка будет происходить в скрытом режим и мы не увидим. ƒалее обычный таймаут ожидание действий пользовател€. Grub_cmdlin_linux_default = quiet тихий режим, splash - это заставка.

ќтредактировать данный файл возможно в редакторе.

¬торой путь к папке /etc/grub.d в ней лежат исполн€емые файлы. ƒанные файлы сканируют, также €дра при необходимости добав€т нужные параметры в загрузчик. ћы всегда можем добавить опцию и написать скрипт. ƒл€ применени€ настроек в загрузчике, надо выполнить update-grub.


 ажетс€, ћарион запуталс€ в сет€х, пока пыталс€ в них разобратьс€!

≈му нужна тво€ помощь! ѕомоги решить задачу, чтобы спасти принцессу

ћаршрутизатор состоит из многих внутренних компонентов.  акой компонент хранит копию файла конфигурации?

 ака€ особенность поддерживает высокую пропускную способность в коммутируемых сет€х, объедин€€ несколько каналов в один?

 акой уровень модели OSI требуетс€ дл€ конфигурировани€ соединени€ между устройствами в различных виртуальных локальных сет€х?

“ы помог ћариону спасти принцессу!

«а это он дарит тебе дополнительные 15% скидки на курс по сет€м!

ѕолучить

”пс, кажетс€ промах. ѕопробуй в следующий раз!

x