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

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

Современная концепция взаимодействия аппаратного и программного обеспечения предусматривает нахождение в памяти машины любой программы, исполняемой в текущий момент времени. Поскольку операционная система является комплексом программ, то её важнейшие модули (ядро) также должны находиться в памяти машины. Между тем в момент старта машины ядро может находиться как в ПЗУ, так и на дисковом устройстве и даже на магнитной ленте, или вообще отсутствовать и загружаться по сети.

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

ведётся начальный диалог с пользователем, например в целях выбора загружаемой операционной системы, если их установлено на компьютер несколько;

подготавливает аппаратуру компьютера к старту ядра операционной системы;

загрузка в оперативную память ядра операционной системы;

формирование параметров, передаваемых ядру операционной системы;

передача управления ядру операционной системы.

Например, на компьютерах архитектуры IBM PC загрузка происходит следующим образом:

BIOS копирует Master Boot Record из 512 байт первого сектора жёсткого диска в оперативную память и передаёт управление скопированному коду (внесистемному загрузчику);

внесистемный загрузчик читает и анализирует таблицу разделов жёсткого диска;

внесистемный загрузчик определяет активный раздел жёсткого диска и передаёт управление системному загрузчику активного раздела;

системный загрузчик загружает ядро операционной системы в оперативную память.

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

Существует множество загрузчиков операционных систем. Наиболее известны следующие загрузчики:

NTLDR – загрузчик ядра Windows NT;

Windows Boot Manager (bootmgr.exe, winload.exe) – загрузчик ядра Windows Vista;

OS/2 BootManager — загрузчик ядра OS/2;

SILO – загрузчик Linux и Solaris для машин с архитектурой SPARC;

Plop Boot Manager – универсальный загрузчик, запускается с помощью собственных загрузчиков Windows и Linux, а также со съемных носителей;

SyMon – универсальный загрузчик, независим от типа операционной системы;

Acronis OS Selector — коммерческая графическая утилита прилагаемая к Acronis Disk Director, поддерживает Windows и Linux, появляется перед каждой загрузкой системы, умеет копировать системы.

Штатным загрузчиком операционной систем Windows NT/2000/XP является загрузчик NTLDR, существующий в виде файла ntldr. Он может запускаться как с жёсткого диска, так и с переносных носителей CD-ROM и FLASH-на­копителя. В процессе загрузки он последовательно запускает следующие файлы:

ntdetect.com – сбор информации о составе оборудования;

ntoskrnl.exe – ядро операционной системы 1 .

Для работы ntldr необходимо наличие в корневом каталоге диска, содержащего ntldr файла boot.ini, содержащего сведения, необходимые для организации загрузки. Пример текста файла boot.ini приведён на рис. 8.1.

multi(0)disk(0)rdisk(0)partition(2)WINNT=»Windows Server 2000″ /fastdetect

multi(0)disk(0)rdisk(1)partition(2)WIN2KP=»Windows XP Prof RU» /fastdetect

multi(0)disk(0)rdisk(0)partition(4)WIN2KP=»Windows 2000 Prof RU» /fastdetect

multi(0)disk(0)rdisk(2)partition(2)WIN2KP=»Windows XP Prof RU» /fastdetect

C:=»Microsoft Windows 98″

C:CMDCONSBOOTSECT.DAT=»Recovery Console MS Windows 2000″/cmdcons

Рис. 8.1. Пример текста файла boot.ini

Данный файл позволяет организовать меню выбора одной из четырёх операционных систем, перечисленных в секции operating systems. В секции boot loader указано время ожидания выбора операционной системы и операционная система, загружаемая по умолчанию.

В секции operating systems перечислены установленные операционные системы. В строке C:=»Microsoft Windows 98″ указано имя операционной системы, не являющейся членом семейства Windows NT, загрузчик которой находится в файле bootsect.dos, находящийся в корневом каталоге диска С:. В последней строке указан путь к файлу bootsect.dat, содержащему информацию для консоли восстановления и имя файла программы консоли восстановления системы.

Слово multi в описании меню указывает необходимость использования драйверов из BIOS компьютера. Слово disk(0) указывает на жёсткий магнитный диск с интерфейсом IDE 2 , слово rdisk(число) указывает номер накопителя, а слово partition определяет номер раздела, в который установлена операционная система.

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

Загрузчик (Операционные Системы)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 20:31, 5 июня 2019.

Загрузчик операционной системы – это специальная программа, которая расположена в первых секторах жесткого диска (далее просто загрузчик), например в MBR (главная загрузочная запись) жесткого диска. После теста системы, в момент загрузки, BIOS (базовая система ввода-вывода) передает управление MBR, если система настроена для загрузки из неё. Затем программа, расположенная в MBR начинает выполняться. Эта программа называется загрузчиком, её задача — передать управление ядру операционной системы, которое продолжит загрузку.

Содержание

История

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

Первые примеры

Первые компьютеры, которые появились в 1940-х и 1950-х годах были единственными в своем роде инженерными усилиями, на программирование которых могли уйти недели, а загрузка программ была одной из многих проблем, которые нужно было решить. В раннем компьютере ENIAC не было «программы», хранящейся в памяти, но он был настроен для каждой проблемы с помощью конфигурации соединительных кабелей.

Первые коммерческие компьютеры

Первые программируемые компьютеры для коммерческой продажи, такие как UNIVAC I и IBM 701, включали функции, упрощающие их работу. Они включали, в основном инструкции, которые выполняли полную операцию ввода или вывода. Та же самая аппаратная логика может использоваться для загрузки содержимого перфокарты (наиболее типичной) или другого носителя ввода, такого как магнитный барабан или магнитная лента , который содержал программу начальной загрузки, нажатием одной кнопки. Эту концепцию загрузки называли различными именами компьютеров IBM 1950-х и начала 1960-х годов, но IBM использовала термин «Начальная загрузка программы» с IBM 7030 Stretch. Другие компьютеры IBM той эпохи имели схожие характеристики. Конкуренты IBM также предложили загрузку одной кнопки.

IBM System / 360 и преемники

В IBM System / 360 и его преемниках, включая текущие машины / Architecture , процесс загрузки известен как Начальная загрузка программы (IPL). IBM придумал этот термин для 7030 (Stretch) , восстановил его для проектирования System / 360 и продолжает использовать его в этих средах и сегодня. Функция IPL в System / 360, в преемниках и ее совместимых устройствах, таких как Amdahl, считывает 24 байта из указанного оператором устройства в основное хранилище, начиная с реального адреса ноль. Вторая и третья группы из восьми байтов обрабатываются как канальные командные слова (CCW) для продолжения загрузки запускаемой программы (первое CCW всегда моделируется процессором и состоит из команды Read IPL, 02h , с цепочкой команд и подавлением неверной длины указание исполняется). [Источник 1]

Описание

Несмотря на то, что с работой загрузчика операционной системы так или иначе сталкивается любой из её пользователей, далеко не все подозревают даже о его существовании, не говоря уже о более глубоких познаниях в этой области. Причем речь не только о тех, кто использует Windows. Как показывает опыт, некоторый процент не осведомленных о существовании загрузчика ОС пользователей есть и в среде Linux. Загрузчик операционной системы- это очень короткая программа, находящаяся в первом секторе каждой дискеты и жесткого диска (винчестера) с операционной системой MS DOS. Функция этой программы заключается в считывании с загрузочного диска в оперативную память системных файлов DOS. Основная задача загрузчика — подготовить компьютер для загрузки ядра операционной системы (если, конечно, в такой предварительной подготовке есть какая-то необходимость), ну и, собственно, загрузить само ядро. В случае, если есть несколько ядер, доступных для загрузки, загрузчик нередко выполняет ещё и функцию средства диалога с пользователем, позволяя тому выбрать одно из доступных ядер. Наиболее важный момент всей этой процедуры — это, конечно же, непосредственная загрузка в оперативную память ядра операционной системы. После того, как отработал код загрузчика BIOS, управление передается коду из загрузочного сектора (boot sector) активного раздела жесткого диска, хотя в ряде случаев загрузка операционной системы может производиться исключительно средствами кода, записанного в BIOS. Вместе с тем, само ядро загружаемой системы не обязательно берется загрузчиком с жесткого диска — существуют и другие способы, например, получение кода ядра по сети или через внешние порты компьютера (что особенно характерно для стадии отладки разрабатываемого ядра). Часто используется многоуровневая загрузка, когда процесс работы загрузчика плавно перетекает в процесс работы самого ядра операционной системы путем последовательного вызова нескольких загружающих друг друга программ. В наше время, в силу существования множества разных операционных систем, имеется и большое количество их загрузчиков. Самый распространенный — это, пожалуй, NTLDR, загрузчик систем семейства Windows NT до Windows XP включительно. В новых версиях Windows применяется загрузчик Windows Boot Manager, пришедший на смену NTLDR. Наиболее распространенными загрузчиками в мире Linux являются LILO (LInux LOader) и GRUB (Grand Unified Bootloader). Загрузчик Mac OS X называется BootX, загрузчик Linux и Solaris для машин с архитектурой SPARC имеет название SILO (SPARC Improved bootLOader). Существует также ряд достаточно известных в узких кругах загрузчиков для встраиваемых операционных систем — Das U-Boot, uMon, RedBoot, SyMon.

Функции

Загрузчик операционной системы выполняет следующие функции:

  1. Выделение места для программ в памяти (распределение).Для размещения программы в оперативной памяти должно быть найдено и выделено свободное место в памяти. Для выполнения этой функции Загрузчик обычно обращается к операционной системы, которая выполняет его запрос на выделение памяти в рамках общего механизма управления памятью.
  2. Фактическое размещение команд и данных в памяти (загрузка).Функция загрузки сводится к считыванию образа программы с диска (или другого внешнего носителя) в оперативную память.
  3. Разрешение символических ссылок между объектами (связывание). Функция связывания состоит в компоновки программы из многих объектных модулей. Поскольку каждый из объектных модулей в составе программы был получен в результате отдельного процесса трансляции, который работает только с одним конкретным модулем, обращения к процедурам и данным, расположенным в других модулях, в объектных модулях не содержат актуальных адресов. Загрузчик же «видит» все объектные модули, входящие в состав программы, и он может вставить в обращения к внешним точкам правильные адреса. Загрузчики, которые выполняют функцию связывания вместе с другими функциями, называются Связывающими Загрузчиками. Выполнение функции связывания может быть переложено на отдельную программу, называемую Редактором связей или Компоновщиком. Редактор связей выполняет только функцию связывания — сборки программы из многих объектных модулей и формирование адресов в обращениях к внешним точкам..
  4. Настройка всех величин в модуле, зависящих от физических адресов в соответствии с выделенной памятью (перемещение).Функция перемещения необходима потому, что программа на любом языке разрабатывается в некотором виртуальном адресном пространстве, в котором адресация ведется относительно начала программной секции. При написании программы и при ее трансляции, как правило, неизвестно, по какому адресу памяти будет размещена программа (где система найдет свободный участок памяти для ее размещения). Поэтому в большинстве случаев в командах используется именно адреса меток и данных. Однако, в некоторых случаях в программе возникает необходимость использовать реальные адреса, которые определяться только после загрузки. Все величины в программе, которые должны быть привязаны к реальным адресам, должны быть настроены с учетом адреса, по которому программа загружена.
  5. Передача управления на входную точку программы (инициализация). [Источник 2]

Виды загрузчиков

Загрузчик Syslinux

Обратите внимание, что загрузчик Syslinux сам по себе не может быть установлен в MBR, однако в пакете syslinux имеются два файла, из которых можно установить загрузочный код Syslinux в 440-байтную область загрузочного кода MBR: mbr.bin или gptmbr.bin. Конечно, это имеет смысл только для Linux. Кстати, syslinux может быть использовать с UEFI – для него загрузчик называется syslinux.efi, однако он еще достаточно сырой. Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32. Установка Syslinux под Windows на другой диск выполняется достаточно просто: используется файл [bios/]«win32/syslinux.exe» для 32-х битных систем и [bios/]«win64/syslinux64.exe» для 64-х битных систем. syslinux.exe —install a: — установка на флоппи-диск syslinux.exe —mbr —active —directory /boot/syslinux/ —install z: — установка на диск z:, например флешку, где — в качестве разделителей должны быть использованы именно /, а не

— в каталоге будет размещён файл-загрузчик «ldlinux.sys»

— и раздел z: помечен как активный

— для организации меню должен быть создан файл (см. рисунок 1).

Загрузчики Windows

Конечно, основное внимание будет уделено загрузчикам для Windows. Загрузчик NTLDR использовался до появления операционной системы Windows Vista. В процессе начальной загрузки, программный код загрузочного сектора раздела (PBR — Partition Boot Sector) обеспечивал поиск, считывание в память и передачу управления файлу ntldr, который размещался в корневом разделе загрузочного диска. Конфигурирование загрузчика ntldr выполнялось с помощью простого текстового файла boot.ini, содержимое которого задавало список загружаемых операционных систем, их параметры загрузки, размещение системных файлов и т.п. В операционных системах Windows Vista /Server 2008 и более поздних, загрузчик ntldr не используется, и заменен диспетчером загрузки BOOTMGR. Соответственно, изменился и программный код загрузочного сектора раздела, обеспечивающий передачу управления файлу bootmgr. Новый диспетчер загрузки использует собственные данные конфигурации загрузки (Boot Configuration Data — BCD) и может выполнять, при определенных настройках, загрузку любых операционных систем семейства Windows. Загрузчик ntldr не поддерживает возможность загрузки Windows Vista и старше. Также, хочу отметить, что все современные Windows PE любых версий также используют загрузчик bootmgr. Цепочка стадий загрузки MBR — PBR — BOOTMGR — это минимально необходимое условие для того, чтобы загрузка операционной системы могла начаться. Дальнейший же ее ход, определяется диспетчером загрузки BOOTMGR, который считывает данные конфигурации загрузки из файла BOOTBCD активного раздела и выполняет загрузку в соответствии с их содержимым.

Для Windows 7 он запускает файл (см. рисунок 2).

Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Это позволяет использовать bootmgr для загрузки Windows PE. В соответствии с конфигурацией загрузки, диспетчер BOOTMGR может выполнить загрузку ядра Windows или, например, Linux, обеспечить выход из режима гибернации, загрузить диагностические программы, выполнить загрузку ядра с измененными параметрами и т.п. Обычно файл bootmgr имеет атрибуты «скрытый» и «системный». По типу структуры, файл BootBCD является кустом реестра и отображается в редакторе реестра Windows как раздел HKEY_LOCAL_MACHINEBCD00000000. Обычно именно конфигурация BCD становится наибольшим камнем преткновения. [Источник 3]

Загрузчик GRUB

Загрузчик операционных систем GRUB – это очень мощный загрузчик, который может загружать разнообразные операционные системы, такие как Windows, DOS, Linux, GNU Hurd, *BSD и другие. В данное время LILO является самым популярным загрузчиком, используемым почти всеми c мультизагрузочными системами. С GRUB можно “видеть” содержимое файловой системы без загрузки операционной системы. Например, если нужно посмотреть дату и время, записанные в файле, но не имеете времени для загрузки операционной системы, то можете использовать командную строку GRUB (“grub>”) и написать:

Пользователь получит полное содержимое файла, включая дату и время. Самая большая польза загрузчика GRUB в том, что он может загрузить любое ядро из любого раздела диска. Например, если пользователь забыл добавить недавно откомпилированное ядро в список, компьютер должен нормально загрузиться, добавить его в список и перезагрузиться, чтобы его использовать. Но пользователь может легко использовать командную строку загрузчика GRUB и загрузить нужное ядро. Три главных шага для использования GRUB: компиляция, инсталляция и конфигурация.

  • Шаг 1: Компиляция и инсталляция программного пакета загрузчика GRUB

Загрузите исходные тексты

Для начала процесса компиляции, наберите:

Для инсталляции всех файлов наберите:

Программный пакет GRUB установлен, теперь можно приступать к установке загрузчика GRUB в загрузочный сектор. Хорошей идеей является хранить все файлы загрузчика, относящиеся к загрузке в директории /boot/grub. Для того, чтобы сделать это, следуйте следующему примеру: По умолчанию все файлы загрузчика проинсталлированы в /use/share/i386-pc или в /use/local/share/grub/i386-pc в зависимости от того, как определены переменные среды. Создайте каталог /boot/grub. Затем нужно скопировать следующие файлы в папку: stage1 stage2

  • _stage1_5
  • Шаг 2: Инсталляция загрузчика операционных систем GRUB.

Инсталляцию непосредственно загрузчика можно разделить на три этапа:

  • Инсталляция «stage1» в MBR.
  • Настройка адреса или расположения, «stage2». *Настройка меню загрузки или набора опций для выбора операционной системы для загрузки.

Необходимо начать инсталляцию со следующих команд:

Эта команда опрашивает устройства и выводит сообщения. Следует считать, что Linux установлен на первом дополнительном разделе первого жесткого диска или на /dev/hda5.

  • Шаг 3:Конфигурация загрузчика операционых систем GRUB

В этой секции рассмотрим, как загружать разные операционные системы. Необходимо начать с процедуры загрузки, поддерживаемой GRUB. Загрузка может быть выполнена двумя путями: 1) Передача управления ядру ОC 2) Передача управления другому загрузчику : Указать корневое устройство или корневую файловую систему. Указать GRUB место нахождения ядра системы и параметры. Перезагрузить компьютер. [Источник 4]

BootX (Apple)

BootX-то программный загрузчик, разработанный и разработанный Apple Inc для использования на линейке компьютеров Macintosh. BootX используется для подготовки компьютера к использованию, загрузив все необходимые драйверы устройств и затем запустив Mac OS X, загрузив ядро на всех PowerPC. Макинтоши, работающие под управлением операционной системы Mac OS X 102 или более поздних версий. Используя BootROM, компьютерную микросхему ПЗУ с постоянной памятью, содержащую OpenFirmware,графическая загрузочная заставка кратко показана на всех совместимых компьютерах Macintosh в виде серого логотипа Apple с вращающимся курсором, который появляется во время последовательности запуска. Программа свободно доступна как часть операционной системы Darwin под лицензией открытого источника Apple Public License License5. BootX был заменен еще один почти идентичный загрузчик с именем bootefi и расширяемым ПЗУ интерфейса встроенного ПО при выпуске Mac4 на базе Intel. [Источник 5]

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

Клопов Николай Викторович
Брянский Государственный Университет имени академика И.Г. Петровского
магистрант

Аннотация
В данной статье описан поэтапный процесс загрузки операционных систем, таких как Windows и Unix посредством встроенных в них стандартных загрузчиков NTLDR и LILO.

Klopov Nikolay Viktorovich
Bryansk State University named after academician I.G. Petrovsky
undergraduate

Abstract
This article describes the gradual process of booting operating systems such as Windows and Unix with built-in them a standard boot NTLDR and LILO.

Библиографическая ссылка на статью:
Клопов Н.В. О загрузчиках ОС и их структуре на примере Windows и Unix образов // Современные научные исследования и инновации. 2016. № 11 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2016/11/74286 (дата обращения: 15.08.2022).

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

В деятельности системного администратора или обычного рядового пользователя ПК нередко возникает ситуация, когда необходимо обеспечить возможность поочередной загрузки двух или более операционных систем на одной рабочей машине. Как правило, в большинстве случаев данная проблема может быть решена стандартным BOOT меню из главной загрузочной записи, иначе называемой MBR. Но возможности данного варианта имеют комплекс ограничений, особенно если поставлена задача загрузки операционных систем разных классов, например, Unix и Windows.

Для операционных систем семейства Unix, как правило, применяются загрузчики LILO или GRUB. Любая загрузка операционной системы затрагивает оперативную память, с которой работает как первичный загрузчик, так и вторичный. При загрузке ОС могут происходить какие-либо ошибки, которые загрузчик или игнорирует, или вовсе завершает процесс загрузки.

Рассмотрим процесс загрузки ОС Microsoft на примере MS-DOS и MS Windows [1]. При включении ПК в самую первую очередь запускается программа POST (Power On Sеlf Test). Ее основными функциями служит определение количества доступной памяти и проверка на работоспособность, поиск другого подключенного к данной машине оборудования (жесткий диск, принтер и др.), инициализация карт адаптеров. В это время на экране компьютера отображаются основные сведения о количестве памяти и ее работоспособности.

Как только данная утилита завершает тестирование, вызывается INT 19h прерывание BIOS, при помощи которого производится поиск загрузочного устройства строго в том порядке, который установлен в Setup BIOS путем проверки нулевых секторов соответствующих устройств.

Диск называется загрузочным, в случае если в нулевом секторе находится Master Boot Record. Последние 2 байта MBR ‒ это некое “волшебное число”, подтверждающее тот факт, что данный сектор и есть MBR. Соответственно, найденный диск называется загрузочным. Помимо “волшебного числа” в MBR содержится специальная таблица разделов диска и первичный загрузчик, размер которого 446(0*1ВЕ) байт. В приведенной ниже таблице 1 показана схема таблицы MBR.

Таблица 1. Схема таблицы MBR

Адрес Состав
0*000 Код первичного загрузчика
0*1ВЕ Таблица разбиения диска
0*1FE “Волшебное число” (0*АА55)

19h прерывание BIOS перемещает первичный загрузчик в оперативную память компьютера и передает ей дальнейшее управление. Но в силу своего маленького размера и ограниченного функционала, первичный загрузчик не может выгрузить операционную систему. Поэтому его основная задача – загрузка более мощной программы, именуемой вторичный загрузчик [2].

Для этого производится поиск в таблице разделов активного и считывается в память вторичный загрузчик, который располагается, начиная с первого логического сектора активного раздела. Необходимо сакцентировать внимание на слово “начиная”. Дело в том, что вторичный загрузчик в разных системах имеет разную структуру и размер.

Вторичный загрузчик выгружает первый пакет программ, которые необходимы для запуска ОС. В операционных системах MS – DOS программа-загрузчик запускает IO.SYS, расположенный по адресу 700h, а затем MSDOS.SYS и происходит передача управления разделу SYSINIT модуля IO.SYS.

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

В MS–DOS и ранних версиях Windows доступ непосредственно к дискам производится через Int 13h BIOS. При этом используется адресация секторов диска на основе номера цилиндра.

Также необходимо отметить, что данные ограничения существенны только на этапе загрузки ОС, так как Linux и более старшие версии Windows при работе с дисками уже не используют 13 прерывание BIOS, а вместо этого применяются собственные драйверы. Но, опять же, прежде чем система будет использовать собственный драйвер, его необходимо как минимум выгрузить в ОЗУ. Именно по этой причине любая система должна использовать BIOS. Но, в свою очередь многие операционные системы невозможно разместить за пределами 8 Гб. Для того чтобы понять, как можно обойти данные ограничения, необходимо пояснить, как же происходит загрузка операционных систем семейства Linux.

Поставленную задачу выполняют специальные программы-загрузчики. В современности существует огромное множество таких программ. Так как речь идет о Linux образах, то в первую очередь необходимо упомянуть загрузчик LiLo, который содержится в составе любого дистрибутива Linux [3].

LiLo представляет из себя комплекс нескольких утилит. Это собственно сам загрузчик и другие программы, использующиеся для его установки и настройки.

‒ программа /sbin/lilo, которая запускается из-под Linux и служит для записи информации, необходимой на этапе загрузки. Такую информацию требуется перезаписывать каждый раз после внесения изменения в ядро системы или в конфигурационный файл загрузчика LILO;

‒ различные служебные файлы, которые нужны LILO. Данные файлы располагаются в /boot каталоге. Основные из них – это сам загрузчик и map-файл (/boot/map), в котором указан адрес местоположения ядра системы. Еще одним из самых важных файлов является файл конфигурации LILO (/etc/lilo.conf);

Загрузочный сектор LILO при установке ОС предлагается разместить в следующих местах:

‒ загрузочный сектор дискеты формата Linux (/dev/fd0,…);

‒ Master Boot Record первого жесткого диска (/dev/had, /dev/sda,…);

‒ разгрузочный сектор первого раздела файловой системы Linux на первом жестком диске (/dev/hda1, /dev/hda2,…);

‒ загрузочный сектор логического раздела первого жесткого диска (/dev/hda5,…).

Большинство программ, например fdisk, не предполагают, что можно загрузиться из расширенного раздела и по этой причине отказываются объявлять его активным. Именно поэтому в состав загрузчика LILO добавлена утилита (activate), позволяющая обойти данное ограничение. Но программа fdisk поддерживает возможность сделать расширенный раздел активным [4].

Загрузочный сектор LILO запрещается размещать в таких местах, как:

‒ загрузочный сектор дискеты или первичный раздел, который отформатирован в другой файловой системе;

‒ в swap–раздел Linux.

Кроме того, LILO во время своей загрузки подгружает такие файлы как /boot/boot.b, /boot/map. Помимо данных файлов выгружаются все версии ядра. Это возможно, если выбрать требуемую версию ядра на этапе загрузки ОС.

Когда LILO загружается, на экране компьютера отображается слово ”LILO”. При этом вывод каждой буквы означает завершение определенного действия или этапа загрузки LILO. Если загрузка прекратилась на каком-либо определенном этапе, то по числу отображаемых букв можно судить о причине возникновения проблемы.

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

L (код ошибки) – первичный загрузчик выгружен в ОЗУ компьютера и на него передано управление, но не удалось загрузить вторичный загрузчик. Код ошибки отображается в двухзначном виде и указывает на конкретную причину проблемы. В большинстве случаев данная проблема связана с дефектами жесткого диска.

LI – первичный загрузчик выгрузил вторичный в оперативную память компьютера, но последний не запустился на выполнение. Это может быть вызвано тем, что файл /boot/boot.b перемещен либо вовсе отсутствует без перезапуска /sbin/lilo.

LIL – вторичный загрузчик выгружен в ОЗУ и запущен, но не удалось запустить таблицу дескрипторов из файла mар. Чаще всего, причиной является наличие дефектов винчестера.

LIL? – вторичный загрузчик выгружен по неверному адресу.

LIL- – таблица дескрипторов повреждена или вовсе разрушена. Как правило, это происходит вследствие ошибки задания геометрии диска.

LILO – работа загрузчика выполнена без ошибок.

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

Рисунок 1. Меню загрузчика LILO

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

  1. Колисниченко Д.Н., Ален Питер В. LINUX: полное руководство. – СПб: Наука и Техника, 2006. – 784 с.
  2. Партыка, Т.Л. Операционные системы, среды и оболочки: учебное пособие для сред. Проф. Обр. рек. МО / Партыка, Т.Л, Попов, И.И.- М.: ФОРУМ: ИНФРА – М, 2006. – 399с.
  3. Такет Д., Барнет С. Специальное издание. Использование LINUX / Пер. с англ. – 4-е изд. СПб.: Вильямс, 2003.
  4. Установка и настройка загрузчика LILO. [Электронный ресурс].URL: http://rus-linux.net/book1.php?name=book1/gl-02/gl_02_07.html/ (дата обращения 07.11.2016).

© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

&copy 2022. Электронный научно-практический журнал «Современные научные исследования и инновации».

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

Загрузчик операционной системы – это программа, расположенная в первых секторах жесткого диска (далее просто загрузчик), например в MBR (главная загрузочная запись) жесткого диска. После теста системы, в момент загрузки, BIOS (базовая система ввода-вывода) передает управление MBR, если система настроена для загрузки из неё. Затем программа, расположенная в MBR начинает выполняться. Эта программа называется загрузчиком, её задача — передать управление ядру операционной системы, которое продолжит загрузку.

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

Существуют несколько загрузчиков, включая загрузчик операционных систем GRUB (универсальный загрузчик), Boot manager, LILO (загрузчик ОС Linux), NTLDR (загрузчик Windows NT систем) и другие. Я решил описать GNU GRUB и как его использовать.

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

Загрузчик операционных систем GRUB – это очень мощный загрузчик, который может загружать разнообразные операционные системы, такие как Windows, DOS, Linux, GNU Hurd, *BSD и другие. В данное время LILO является самым популярным загрузчиком, используемым почти всеми c мультизагрузочными системами. Но если Вы используете LILO, то не должны забывать перезапускать LILO каждый раз, когда вы меняете конфигурацию или инсталлируете новое ядро. Также LILO не такой гибкий как GRUB. это второе имя гибкости. Его последняя версия– 0.5.96.1. Эта версия поддерживает такие файловые системы, как ext2 (используемая ОС Linux), FAT16 и FAT32 (используемые Win9x и WinME), FFS (быстрая файловая система, используемая *BSD UNIX), ReiserFS (журналируемая файловая система, разработанная для ОС Linux и интегрированная в ядро Linux 2.4.1) и minix (старая файловая система, разработанная для ОС MINIX, используемая также в ранних версиях ОС Linux). С GRUB Вы можете “видеть” содержимое файловой системы без загрузки операционной системы. Например, если Вы хотите посмотреть дату и время, записанные в файле, но не имеете времени для загрузки операционной системы, то можете использовать командную строку GRUB (“grub>”) и написать:

grub> cat (partition number)/home/god/filename.txt

Вы получите полное содержимое файла, включая дату и время.

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

Сейчас я объясню три главных шага для использования GRUB: компиляция, инсталляция и конфигурация.

Шаг 1: Компиляция и инсталляция программного пакета загрузчика GRUB

Загрузите исходные тексты

GRUB с ftp://alpha.gnu.org/pub/gnu/grub

Распакуйте архив командой

“tar -xvzf filename.tar.gz”. В моем случае имя файла было grub-0.5.96.1.tar.gz и я сделал:

# tar -xvzf grub-0.5.96.1.tar.gz

Эта команда извлекла из архива файлы и папки в папку с именем

“grub-0.5.96.1”. Теперь делайте следующее:

[root@heaven ~/grub-0.5.96.1 ]# ./configure

Если Вы хотите изменить некоторые настройки компиляции

, например, добавить или удалить поддержку индивидуальных файловых систем, сетевых карточек, наберите:

[root@heaven ~/grub-0.5.96.1 ]# ./configure —help

Эта команда выведет на экран все возможные опции

. Теперь используйте –enable и -disable префиксы для добавления или удаления поддержки некоторых устройств и т.п. ПРИМЕЧАНИЕ: GRUB поддерживает сетевую загрузку.)

Для начала процесса компиляции, наберите:

[root@heaven ~/grub-0.5.96.1 ]# make

Для инсталляции всех файлов наберите:

[root@heaven ~/grub-0.5.96.1 ]# make install

Вы установили программный пакет GRUB, теперь можно приступать к установке загрузчика GRUB в загрузочный сектор.

Хорошей идеей является хранить все файлы загрузчика, относящиеся к загрузке в директории /boot/grub. Для того, чтобы сделать это, следуйте следующему примеру: По умолчанию все файлы загрузчика проинсталлированы в /use/share/i386-pc или в /use/local/share/grub/i386-pc в зависимости от того, как определены переменные среды. Создайте каталог /boot/grub. Затем скопируйте следующие файлы в папку:

Я опишу эти файлы позже. Также скопируйте программу GRUB (которая может находиться в каталоге /usr/sbin или в /use/local/sbin) в папку /boot/grub.

Перед тем, как инсталлировать GRUB, Вы должны знать о том, как GRUB воспринимает жесткий диск и информацию о разделах. Прежде всего, отсчет начинается с 0, а не с 1. В Linux первый жесткий диск, прикрепленный к основному контроллеру, называется “hda”, а в GRUB он называется “hd0”. Подобно этому, дисковод в GRUB называется “fd0”. Итак, первый, второй и третий раздел на первом жестком диске (hda1, hda2, hda3) называются “hd0,0”, “hd0,1” и “hd0,2” в GRUB. ПРИМЕЧАНИЕ: запятая – это неотъемлемая часть названия раздела жесткого диска в GRUB.

Для описания двух полей (диск и номер диска, номер раздела диска) используйте круглые скобки. Например: (hd0,0) (hd0,1) (hd0,2) и так далее. (hd0,0) – это первый раздел первого диска. Подобным образом, (hd1,5) – это шестой раздел второго диска, а (hd2,0) – первый раздел третьего диска.

Шаг 2: Инсталляция загрузчика операционных систем GRUB

Инсталляцию непосредственно загрузчика можно разделить на три этапа

: Инсталляция «stage1» в MBR. Настройка адреса или расположения, «stage2». Настройка меню загрузки или набора опций для выбора операционной системы для загрузки.

Начните инсталляцию со следующих команд:

[root@heaven /boot/grub ]# ./grub

Эта команда опрашивает устройства и выводит сообщения. Это может занять много времени.

end_request: I/O error, dev 02:00 (floppy), sector 0

GRUB version 0.5.96.1 (640K lower / 3072K upper memory)

ПРИМЕЧАНИЕ: GRUB имеет минимальную оболочку, похожую на bash. Для первого слова TAB выводит все возможные завершения команды. В других случаях TAB выводит возможные завершения названий устройств, имен файлов. Вы можете быть удивлены этой возможностью. Нечто вроде этого может произойти:

Будем считать, что Linux установлен на первом дополнительном разделе первого жесткого диска или на /dev/hda5. Помните, что в GRUB он будет называться (hd0,4). Введите следующую команду:

grub> install (hd0,4)/boot/grub/stage1 (hd0) (hd0,4)/boot/grub/stage2 p (hd0,4)/boot/grub/menu.conf

Теперь давайте рассмотрим эту команду более детально:

встроенная команда, заставляющая GRUB проинсталлировать (hd0,4)/boot/grub/grub/stage1 to (hd0), MBR.

указывает, где расположен stage2 образ. со следующими опциями: (hd0,4)/boot/grub/menu.conf

устанавливает конфигурационный файл для отображения нужного меню. Позже я объясню структуру конфигурационного файла.

Мы можем суммировать команды:

Теперь у Вас есть элементарная инсталляция.

Инсталляция на дискету:

Для инсталляции GRUB на дискету Вы должны знать команду “dd” и как она работает. Для загрузочной GRUB дискеты Вы должны записать stage1 и stage2 файлы на первые секторы дискеты.

Инсталляция stage1 на дискету

Вставьте форматированную дискету и наберите:

[root@heaven /boot/grub ]# dd if=stage1 of=/dev/fd0 bs=512 count=1

Опять рассмотрим команду детальнее:

в нашем случае stage1

например, дисковод (может быть отличным от приведенного в примере устройства на вашем компьютере)

bs=bytes to read and write

count=how many times to perform this operation

Инсталляция stage2 на дискету

[root@heaven /boot/grub ]# dd if=stage2 of=/dev/fd0 bs=512 seek=1

Здесь все, так же как и для stage1, за исключением нового параметра, называемого seek. Этот параметр заставляет пропустить одно «bs» значение. Например, в выше описанной команде bs – это 512 байт, тогда seek=1 будет означать пропуск первых 512 байт на дискете и продолжение записи с 513-го байта. Это сохранит результат первой команды, записанные данные не будут повреждены переписыванием.

Теперь у Вас есть простейшая инсталляция GRUB загрузчика на дискете.

Шаг 3: Конфигурация загрузчика операционых систем GRUB

В этой секции мы рассмотрим, как загружать разные операционные системы и составить menu.conf — конфигурационный файл меню.

Давайте начнем с процедуры загрузки, поддерживаемой GRUB. Загрузка может быть выполнена двумя путями:

1) Передача управления ядру ОC

2) Передача управления другому загрузчику : Указать корневое устройство или корневую файловую систему. Указать GRUB место нахождения ядра системы и параметры. Перезагрузить компьютер и испробовать это.

У меня ядро Linux находится в каталоге /boot под названием bzImage, а корневая файловая система — /dev/hda5 или (hd0,4) в GRUB. Следовательно, моя процедура загрузки выглядит следующим образом: [Указывает корневой раздел]

2. kernel /boot/bzImage root=/dev/hda5 Указывает ядро]

3. boot Начинает загрузку Linux]

[Начинает загрузку Linux]

Загрузочная процедура по второму методу подразумевает наличие другого загрузчика, например LILO или NTLDR, установленного в один из разделов жесткого диска: Указать корневой раздел, но не монтировать его. Активировать раздел 3.

Указать первый сектор устройства, которому будет передано управление. Перезагрузить компьютер и испробовать это.

Приведу пример с ОС Windows, проинсталлированной в /dev/hda1 или (hd0,0). процедура загрузки Windows следующая: [+1 указывает первый сектор текущего основного раздела]

4. boot передает контроль]

файл используется для загрузки различных операционных систем и конфигурации меню. Составить menu.conf файл не сложно. Как Вы увидите в этом разделе, в нем используется текст на английском языке.

Все записи меню начитаются с «title TITLENAME» без запятых. Вы можете присвоить TITLENAME что угодно.

Для создания меню загрузки Linux: Установите title. Установите корневой раздел. Установите ядро и параметры. Загрузитесь.

Для создания работающего меню:

title Debian GNU/Linux 2.2 kernel 2.4.1

(Символ (#) в начале строки обозначает комментарий.)

Чтобы создать меню для

Windows или DOS:

А что если Вы хотите установить на ваш компьютер два экземпляра операционной системы Windows, одну лично для себя, другую для своей семьи, а Windows при установке сообщает, что уже один экземпляр ОС установлен ?

Существует легкий путь инсталляции двух экземпляров ОС на Ваш компьютер путем скрытия одного из разделов жесткого диска в момент загрузки и использования другого. При этом Вы можете защитить раздел паролем, так что никто не сможет использовать его по ошибке. Ниже приведен пример, как создать несколько экземпляров ОС Windows, hda1 и hda2 или (hd0,0) и (hd0,1), используя команды lock, password, hide и unhide.

Для ОС Windows «My Entry»:

Для эффективного использования команды lock Вы должны указать команду password в начале конфигурационного файла. Синтаксис команды password следующий: password secret («secret» – это пароль). Вы можете ввести пароль в любое время с помощью нажатия клавиши p.

Для ОС Windows «Family Entry»:

title Family Entry

Любой может загрузиться с этих разделов, если не требуется пароль.

Существует ещё один интересный трюк с использованием команды

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

В этой команде «secret» – это пароль, а /boot/grub/secret-list.conf – это файл паролей. Перед тем, как делать это, Вы должны установить корневой раздел и полный путь. Например:

Ещё одной важной командой является команда «map», которую Вы можете использовать, когда у Вас есть два жестких диска и операционная система, которая не может загружаться со второго диска, например ОС Windows. Вы можете отобразить hd0 как hd1 и hd1 как hd0. Другими словами, можно виртуально переставлять жесткие диски. Пример:

grub> map (hd0) (hd1)

grub> map (hd1) (hd0)

Для загрузки ОС FreeBSD:

title FreeBSD 4.0

Здесь мы передаем управление загрузчику ОС FreeBSD. Вы видите, что корневой раздел (hd0,4,a) включает три аргумента, это потому, что FreeBSD виртуально делит существующий раздел жесткого диска. Мы передаем управление корневому подразделу раздела жесткого диска “a”. Если FreeBSD полностью занимает диск вашей системы, тогда корневой подраздел будет называться (hd0,a). Итак, мы передаем управление загрузчику FreeBSD, что намного лучше, чем передать управление непосредственно ядру этой ОС по ряду причин.

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

Различные команды GRUB:

xx – это метка для загрузки по умолчанию.

yy – это таймаут, после которого GRUB начнет загрузку по умолчанию.

zz – это метка для загрузки, которую GRUB станет загружать, если по истечении таймаута не удастся загрузить метку по умолчанию.

Используется для раскраски меню. Синтаксис следующий: color normal current_selection. Оба поля могут иметь два значения, такие как приоритетный и фоновый цвета. Например:

color green/black or light-gray/blue

Вы также можете использовать соответствующие номера.

ЗАПОМНИТЕ: все значения начинаются с 0, следовательно, 0 – первый элемент.

Загрузчик операционной системы и как бороться со связанными с ним ошибками

Без специальной программной оболочки, например, без операционной системы «Виндовс», общение человека с ПК пока не представляется возможным. Очевидно, что с целью приступить к взаимодействию пользователя с компьютером ОС должна, как принято выражаться, «загрузиться».

«Windows Boot Manager»

Именно в этом важном процессе и участвует «Windows Boot Manager» (WBM). Далее подробно будет раскрыт вопрос: «Что это такое и каким образом можно эффективно устранить связанные с ним ошибки?».

Что такое «Менеджер загрузки Виндовс» и для чего он служит?

Уже из перевода наименования становится понятно его основное функциональное предназначение.

«Менеджер загрузки Виндовс»

Можно сказать, что данная служба представляет собой набор приложений для запуска основных систем ОС. Кроме этого, WBM позволяет обеспечить идентификацию аппаратных составляющих компьютера и их дальнейшее совместное функционирование в нормальном режиме.

Идентификация аппаратных составляющих

В ПК с Windows 7, 8 и 10, программное обеспечение загрузчика находится в БИОСе и хранится в ПЗУ компьютера. Чтобы иметь четкое представление о том, что это за ПО, необходимо знать его назначение, а также основные принципы работы.

Главные функции WBM в компьютерах на Windows 7, 8, 10

Запуск системы может осуществляться не только с локального винчестера ПК, но и, к примеру, через домашнюю сеть. Обычно с помощью этого способа запускаются в работу терминалы на сетевой ОС, которая расположена на сервере.

Запуск системы

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

Виды менеджеров

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

  • NTLDR — работает в сетевых ОС на основе технологии NT;
  • Рассматриваемая служба WBM — успешно функционирует со времен Windows Vista;
  • LILO — сервис для включения «Линукс»;
  • BootX — осуществляет функции запуска в компьютерах на Mac OS X;
  • SILO — главным образом используется в Solaris, где имеется поддержка SPARC;
  • Bootman — загрузчик BeOS.

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

В частности, интересующая нас WBM руководит не только процедурой запуска системы из БИОСа, но и взаимодействует с этим процессом посредством компонентов ОС. Например, пусковая информация сохранена в системном файле с наименованием “boot.ini”.

Неполадки при запуске системы

Самой распространенной ошибкой загрузки Windows является “WBM boot failed”.

Реже, но тоже иногда случаются сбои “BOOTMGR is missing” и “BOOTMGR is compressed”. При таких сообщениях в основном системой рекомендуется перезапуск компьютера.

Способы решения проблем

Если возникают неполадки Windows Boot Manager, как убрать их? Какие существуют простые методики для быстрого исправления возникших ошибок? Во-первых, рекомендуется предпринять попытку восстановления WBM. С этой целью желательно использовать оригинальный загрузочный диск с системой.

Восстановление WBM

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

Нередко ошибки появляются по причине использования сжатия системного тома.

Поэтому настоятельно не рекомендуется подобным методом увеличивать количество свободной памяти на диске. Но если уже это сделано, чтобы исправить ситуацию, необходимо выполнить следующие действия:

  1. Загрузить ПК с загрузочного диска с Windows;
  2. Запустить “Проводник”;
  3. Далее вызвать контекстное меню от системного тома;
  4. Кликнуть “Свойства”;
  5. В отобразившемся окошке убрать отметку с графы параметра сжатия;
  6. Затем открыть консоль;

Исполнить перечень команд (обязательно каждый раз, написав очередную строку, следует нажимать на “Enter”):

  • c:,
  • expand bootmgr temp,
  • attrib bootmgr -s -r –h,
  • del bootmgr,
  • ren temp bootmgr,
  • attrib bootmgr -a +s +r +h.

Готово. Менеджер будет вновь в работоспособном состоянии, то есть полностью восстановлен.

Дополнительные способы для исправления ошибок

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

  • bootrec.exe /RebuildBcd,
  • bootrec.exe /FixMbr,
  • bootrec.exe /FixBoot.

Послесловие

Теперь пользователь точно знает, что это такое “WBM”, а также за какие процессы в компьютере он отвечает. Различных способов устранения проблем, возникших по причине сбоя загрузчика, насчитывается на сегодняшний момент большое множество. Необходимо отметить, что самые действенные из них приведены в этой инструкции.

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

При отрицательных результатах тестирования винчестера, т.е. когда не было выявлено его дефектов и повреждений, остается лишь инсталлировать Windows с “чистого листа”.

Windows boot manager: что это такое и для чего нужно — подробное объяснение

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

Запуск и правильное выполнение таких процессов контролирует особая подпрограмма – это менеджер загрузки операционной системы.

В операционной системе Windows за эти процессы отвечает специальный boot manager – о том, что это такое, и как она работает, рассказано в данном материале.

Определение

Менеджер загрузки не является какой-то одной определенной программой.

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

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

С технической точки зрения такой менеджер представляет собой компонент, созданный на архитектуре IBM PC.

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

Это Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10.

Более ранние версии операционных систем этого бренда базировались еще на иной архитектуре, потому принцип работы их загрузчика совсем иной.

Сталкивается ли рядовой пользователь с этим компонентов, и в каких случаях это происходит?

Этот менеджер содержит в себе записанный BIOS – техническое меню загрузки и инициализации системы и ее компонентов.

Вызвать такое меню можно нажатием определенных кнопок на клавиатуре во время загрузки компьютера.

Но зачем это делать?

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

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

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

Таким образом, каждый раз взаимодействуя тем или иным образом с BIOS, пользователь взаимодействует с Windows Boot Manager.

Более старые версии операционных систем Windows (версия ХР и еще более ранние) базировались на загрузчике другого типа, так как имели иную архитектуру, как уже писалось выше.

Потому, даже несмотря на то, что они тоже имели БИОС, он имел иной функционал и иное меню, чем тот, который присутствует в Windows boot manager.

Функции

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

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

  • Аппаратные, то есть «железные» компоненты инициализируются и «включаются», то есть приходят в состояние, необходимое для старта всей системы;
  • После этого менеджер загружает функциональное ядро системы в оперативную память (ОЗУ или ПЗУ, в зависимости от типа устройства), в которой впоследствии и происходят все процессы в устройстве;
  • Затем формируются основные рабочие параметры ядра и инициализируются стартовые процессы в нем;
  • После этого менеджер загрузки передает управление системой ядру, а сам уходит в режим ожидания.

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

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

Просто во время сна устройства все эти компоненты и процессы находятся в пассивном состоянии.

Например, если жесткого диска нет в каком-либо терминале, подключенном к локальной сети, то загрузка его систем также происходит с помощью такого менеджера загрузки.

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

Типы загрузчиков

Существует множество типов загрузчиков — среди них, например, LILO для Linux, BootX для Mac OS X, SILO для систем Солярис на архитектуре Sparc, Bootman для BeOS.

Но даже для систем Windows могут использоваться разные загрузчики, например, для сетевых операционных систем, основанных на принципе Windows NT, используется загрузчик ядра NTLDR.

Но на персональных компьютерах с физическим винчестером всегда используется Windows Boot Manager.

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

В его основном файле boot.ini содержатся прописанные основные пути загрузки операционной системы, по которым и работает этот компонент.

У различных операционных систем различная архитектура, различные менеджеры загрузки, а значит и различные типы и алгоритмы загрузки.

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

Потому вся информация, приведенная в данном материале верна только для операционных систем Виндовс Виста, 7, 8, 8.1, 10.

Ошибки

Ясно, что как и в любом техническом процессе на ПК, в работе загрузчика могут происходит ошибки.

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

Но, несмотря на все это, могут возникать ошибки его работы нескольких типов.

Они приведены в таблице 1. Также в ней указаны сообщения, которые пользователь видит при возникновении ошибок того или иного типа.

Таблица 1. Ошибки в работе загрузчика операционной системы и соответствующие им уведомления для пользователя
Уведомление Суть проблемы
Windows Boot Manager boot falied Загрузчик «вылетает» и пользователь видит соответствующее сообщение при начале загрузки ОС. Такое явление связано с проблемой инициализации компонента, то есть, при включении компьютера данный компонент не запустился автоматически, как должен бы был
BOOTMGR is compressed Возникает на том же этапе, что и предыдущее уведомление. Означает оно то, что при автоматическая система запуска компонента смогла с ним связаться и начала его загружать, но на какой-то стадии этого процесса произошла ошибка, которая помешала его дальнейшему ходу
BOOTMGR is missing Такое уведомление появляется почти сразу после включения компьютера. По своей сути оно означает, что при автоматическом запуске менеджера загрузки при старте аппаратной части устройство не смогло с ним связаться, не смогло его найти

Что же в итоге происходит с компьютером в таком случае?

В первом случае появившееся уведомление о том, что система не запустилась, некоторое время остается на экране.

После этого экран гаснет, а все процессы, которые успели запуститься в компьютере, прекращаются, то есть он полностью выключается.

Два других уведомления сопровождаются предложением рестарта системы с помощью сочетания горячих клавиш. И в зависимости от изначальных настроек ПК, экран может погаснуть или рестарт будет произведен автоматически.

Устранение ошибок

Можно ли устранить каким-то образом такой сбой и запустить систему?

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

  • Самый простой способ при появлении такого уведомления – выполнить рекомендованный системой рестарт с помощью сочетания горячих клавиш. Пока уведомление не исчезло с экрана, зажмите одновременно кнопки CTRL + ALT + DEL . Менеджер перезапустится, что будет выглядеть как перезапуск компьютера, и теперь проблем быть не должно;
  • Если у вас сохранился установочный диск с системой, например, Live CD, то выполните загрузку с него – обычно, это помогает не только загрузить систему в текущий момент, но и устранить проблему с менеджером загрузки. При таком запуске вы можете выбрать контрольную точку восстановления системы. Или даже полное восстановление системы, если откат к контрольной точке не помог. Но такой способ поможет только в случае, если проблема связана с программными сбоями. А не с физическими повреждениями устройства, например, жесткого диска;
  • Если недавно производилось сжатие системного диска с целью экономии места, то проблема может быть связана с этим. В таком случае также загружаемся с Live CD, переходим в раздел Проводник и убираем галочку из чекбокса напротив параметра сжатия, а затем выбираем командную строку. В ней последовательно вводим ряд команд, которые помогают восстановить работу менеджера загрузки: С (или иная буква, которой обозначен системный диск), expand bootmgr temp à attrib bootmgr -s -r –h à del bootmgr à ren temp bootmgr à attrib bootmgr -a +s +r +h ;
  • Если восстановить работу менеджера не удается никаким иным образом, то можно попробовать ввод других команд: exe/FixMbr/bootrec.exe/FixBoot à bootrec.exe /RebuildBcd . Но такой метод может привести к некоторым сбоям в работе устройства, потому его стоит применять, только если вы достаточно хорошо понимаете, что именно делаете, или только в крайнем случае.

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

Важно помнить, что такие способы устранения проблемы подходят только для операционных систем Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, так как только они имеют именно такой загрузчик.

Схожие проблемы на Windows ХР и более ранних версиях операционных системах этого разработчика решить таким способом не удастся, так как их менеджер загрузки имеет совсем иной принцип действия.

Тем более это касается операционных систем от других разработчиков, так как в них, несмотря на аналогичный принцип работы, применяется совсем иная архитектура.

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

2.jpg

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

Определим так сказать ОПРЕДЕЛЕНИЯ:

1. Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) — комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.см.ВИКИ ну или что там вам нравится смотреть.

Я бы ещё добавил кроме пользователя и ПРИКЛАДНОЕ ПО.

2. Загрузчик операционной системы — системное программное обеспечение, обеспечивающее загрузку операционной системы непосредственно после включения компьютера.

Загрузчиков на сегодняшний момент существует величайшее множество, кто не верит, может удостоверится например здесь или здесь.

Наиболее на слуху из ныне устаревших и как я понял потихоньку ушедших на покой примерно с 2012 года:
Acronis OS Selector и Paragon Boot Manager, оба платные, оба что то пишут в MBR, Acronis как я понял требует FAT32 раздел для своих нужд или сам его создаёт (небольшой). Оба, если ввести их название в поисковик процентов на 85, вызывают у народа непреодолимое желание (т.е. похоть) их удалить (что по видимому не так то и просто, или безболезненно, сам я ими не пользовался, если есть счастливая жертва готовая исповедоваться, то в комментах это можно сделать — для истории и для получения моральной поддержки

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

NTLDR — штатный загрузчик операционных систем Windows NT, 2000, XP, Server 2003 при допиливании позволяет так же загружать DOS,Windows 9x/Me и GRUB4DOS (другой загрузчик) который позволяет грузить Линукс и вообще много больше, но об этом далее.

Windows Boot Manager — штатный загрузчик Windows Vista, Windows 7 и Windows 8 как ни странно при допиливании всё же можно грузить Windows 9x/Me, переадресует к NTLDR (со всеми вытекающими возможностями по загрузке) или к GRUB у и LILO (с их возможностями).

LILO (LInux LOader) — один из стандартных загрузчиков для Linux и BSD-систем. LILO использует BIOS для доступа к жёстким дискам, с присущими этой схеме ограничениями. Ныне устаревший загрузчик и в общем то не развивается. Может грузить Windows 9x/Me и переадресовываться к NTLDR . Более новые Microsoft ОС не поддерживаются.

GRUB (англ. GRand Unified Bootloader) — загрузчик операционной системы от проекта GNU.
Самый популярный загрузчик в мире Linux и является загрузчиком по умолчанию в большинстве известных дистрибутивов. Является эталонной реализацией загрузчика, соответствующего спецификации Multiboot. Умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR ), MS-DOS, OS/2 и другие системы. Поддержка файловых систем: NTFS, ISO, UFS, UFS2, FFS, FAT16, FAT32, Minix, ext2/ext3/ext4, ReiserFS, JFS и XFS, и чтение файлов конфигурации, ядер, initrd и других файлов прямо с файловой системы. Поддержка загрузчика EFI , начиная с версии 1.98 (загрузка операционных систем семейства Mac OS). Может достаточно гибко менять внешний вид, например показывать красивую картинку в загрузочном меню. GRUB2 имеет модульную структуру. Это означает, что туда легко добавляется всё, что угодно, вплоть до игр, также как и выбрасывается, если необходимо уменьшить размер. В общем эдакий комбайн и конструктор «допили сам, чего тебе ещё не хватает» работающий и так из коробки.

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

В отличии от GNU GRUB, который функционирует за счёт нескольких файлов, Grub4dos использует всего один файл grldr (или grub.exe если загрузка происходит из DOS или Linux).
grldr может быть загружен с помощью уже существующей операционной системы, например, через NT загрузчик NTLDR , В ходе загрузки Windows NT/W2K/XP.
Основной способ загрузки grub4dos, это загрузка из MBR. Файл grldr.mbr входит пакет в Grub4dos и и может быть записан в загрузочную область (HDD, floppy, USB Flash drive)
Файл в корне устройства grldr загружается из MBR файлом grldr.mbr.
ИСТОЧНИК ВЛАСТИ

Admin
Администратор

Другой, менее распространённый но не менее интересный загрузчик:
PLoP Boot Manager
Возможности:

*Загрузка с CD/DVD без поддержки такой функции в BIOS.
* Загрузка с USB без поддержки такой функции в BIOS(UHCI, OHCI и EHCI)
* Загрузка с Floppy дискеты
* Возможность создания профилей загрузки для различных операционных систем
* Количество разделов на жестком диске с которых можна загрузиться — до 16 разделов
* При установке на жесткий диск не потребует отдельного раздела
* Возможность скрывать пункты загрузки
* Обратный отсчет при загрузке
* Скрытые разделы
* Защита паролем
* Резервное копирование таблицы разделов
* Текстовый режим интерфейса 80×50
* Графические режимы интерфейса 640×480, 800×600, 1024×786, 1280×1024
* Редактирование MBR таблицы разделов
* Может быть загружен с жесткого диска, флоппи-дискеты, с CD/DVD и USB
* Можна запустить в загрузочном меню Windows
* загрузка различными загрузчиками : LILO, GRUB, Syslinux, Isolinux, Pxelinux (network)
* Загрузка с модуля ISA/PCI ROM
* Абсолютная бесплатность и свободное распостранение
** PLoP boot manager не перезаписывает master boot record в отличие от многих загрузчиков.
** PLoP boot manager позволяет получить USB 2.0 или близкую к нему скорость на тех материнских платах, которые работают с USB 2.0 только в загруженной ОС, а на этапе загрузки выдают USB 1.1

Справедливости ради нужно заметить, что USB работает далеко не на всех матплатах или связках контроллер USB — чип устройства. Так что вам может и не повезти.

Итак, основные игроки представлены. Ознакомится со сравнительной таблицей и сделать соответствующие выводы можно здесь.

Так же можно обратить внимание на такой продукт как EasyBCD , технические подробности, по сути это настройщик Windows Boot Manager’а используемого в Windows Vista и Windows 7. С точки зрения наглядности и простоты использования очень неплохой вариант, думать почти не надо, только попадать мышкой по кнопкам.
Тем же самым занимаются:
VistaBootPRO — утилита, предназначенная для работы с загрузочным меню Windows Vista. Позволяет редактировать имя системы, добавлять новые ОС и восстанавливать первоначальные загрузочные конфигурации. Кроме этого, присутствует возможность резервного копирования загрузочной информации, экспорт различных конфигураций и модификацию различных параметров загрузки.
а так же,
MultiBoot — графическая (GUI) оболочка над системными утилитами BootSect, BcdEdit и BcdBoot, позволяющая восстановить загрузчик Windows Vista или Windows 7, затертый при установке Windows ХР.

Также при помощи MultiBoot можно:

— создать конфигурацию с двойной загрузкой как до, так и после установки Windows XP;
— указать операционную систему, загружаемую по умолчанию;
— редактировать записи любой операционной системы в диспетчере загрузки и определить их положение в меню загрузки;
— установить таймаут для меню с выбором загрузки операционных систем;
— экспортировать и импортировать данные конфигурации загрузки;
— отобразить подробные сведения о хранилище загрузки, о загрузочных файлах, раскладе по дискам и разделам, а также сохранить их в текстовый файл;
— запустить командную строку для выполнения команд вручную;
— указать параметры файла boot.ini rdisk и partition при ошибках загрузки в Windows XP.

Характерный отзыв: Блин, Неделю форумы читал. чё тока ни делал, а тут на кнопку нажал и всё, с первого раза запустилась 7. Храни господь автора.

EFI-загрузчики которые делятся на два типа: Boot-Loaders и Boot Managers .

Boot-Loaders это обычные загрузчики, как и для BIOS — загружают ядро в оперативку и прыгают на какой-то адрес. В случае с EFI, Boot-Loaders не используют функции UEFI, из-за чего невозможна совместная работа с Secure Boot (т.е. подпись ядра просто не будет проверяться, и Secure Boot игнорируется). Такие загрузчики умеют загружать, в общем-то, даже ядра без EFISTUB, с любого раздела, с любой ФС и даже с рейда.

К Boot-Loaders относятся: GRUB, syslinux . Впрочем последние версии всё более подружают с EFI.

Boot Managers это EFI-приложения, которые используют функции EFI для загрузки ядра. По сути, это обычная менюшка, только и всего. Они могут загружать только то, что загружает EFI, и только с тех ФС, которые поддерживает EFI (хотя могут и свои драйверы в EFI загружать).

К Boot Managers относятся: Gummiboot, rEFInd .

rEFInd
Refind сам находит установленные ОС и определяет параметры их загрузки. стоит в специальном boot разделе с типом efi. Так же если вставлена загрузочная флешка или диск они тоже появляются в списке.
В отличие от GRUB — rEFInd не является бутлоадером, а является efi-бутменеджером. И по сути представляет собой efi программу лежащую на первом загрузочном разделе в GUIDPT, которая стартует автоматически до загрузки любого бутлоадера.

В общем, чем дальше в лес, тем злее дятлы. Изучайте и выбирайте.

Горин Павел/ автор статьи

Павел Горин — психолог и автор популярных статей о внутреннем мире человека. Он работает с темами самооценки, отношений и личного роста. Его экспертность основана на практическом консультировании и современных психологических подходах.

Понравилась статья? Поделиться с друзьями:
psihologiya-otnosheniy.ru
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: