- •Монолитное ядро
- •Модульное ядро
- •Микроядро
- •Экзоядро
- •[Править]Наноядро
- •[Править]Гибридное ядро
- •Миникомпьютеры и развитие unix
- •Графические интерфейсы и расширения для dos
- •[Править]Семейство Windows 9x
- •[Править]Семейство Windows nt
- •7. Этапы процесса загрузки ос.
- •Главная загрузочная запись
- •Структура mbr
- •9. В чем различие файловых систем? Развернутый обзор фс.
- •Журналируемая файловая система
- •10. Сколько основных разделов жесткий диск может содержать и с чем это связано? Что такое расширенный (extended) раздел и зачем он нужен? Структура жёсткого диска Сектора
- •Разделы
- •Тип раздела
- •11. Какие функции выполняет виртуальная машина?
- •12. Gnu gpl: основные положения, что такое "проприентарность"?
- •Проприетарное программное обеспечение
- •13. Какая компания выпустила Solaris и известна как разработчик технологий nfs и Java?
- •Системы хранения данных Sun StorageTek
- •Продукты — программное обеспечение Операционные системы
- •Платформа Java
- •Компиляторы и инструменты разработки
- •14. Классификация прикладного программного обеспечения на Linux, приведите примеры на каждый пункт.
- •Классификация [править]По типу
- •[Править]По сфере применения
- •Прикладные программы для Linux
- •Рабочий стол
- •Диспетчеры файлов
- •Эмулятор терминала
- •Почтовые программы
- •Обмен сообщениями
- •Офисные программы
- •Графика
- •Векторная графика
- •Работа с PostScript и pdf
- •Диаграммы
- •Плакатная графика
- •Растровая графика
- •Трёхмерная графика
- •Мультимедиа Музыкальные шкатулки
- •Музыкальные редакторы
- •Нотные редакторы
- •Редакторы и фильтры оцифрованного звука
- •Видеопроигрыватели
- •Видеоредакторы и конвертеры
- •Запись cd и dvd
- •Издательские системы
- •15. Системное программное обеспечение, пояснение, примеры. Системное программное обеспечение
- •Операционные системы
- •[Править]Функции ос
- •[Править]Понятие операционной системы
- •Программное обеспечение
Главная загрузочная запись
[править]
Материал из Википедии — свободной энциклопедии
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 9 апреля 2011; проверки требуют 36 правок.
Главная загрузочная запись (англ. master boot record, MBR) — код и данные, необходимые для последующей загрузки операционной системы и расположенные в первых физических секторах (чаще всего в самом первом) на жёстком диске или другом устройстве хранения информации.
MBR содержит небольшой фрагмент исполняемого кода, таблицу разделов (partition table) и специальную сигнатуру.
Функция MBR — «переход» в тот раздел жёсткого диска, с которого следует исполнять «дальнейший код» (обычно — загружать ОС). На «стадии MBR» происходит выбор раздела диска, загрузка кода ОС происходит на более поздних этапах алгоритма.
В процессе запуска компьютера, после окончания начального теста (Power-on self-test — POST), Базовая система ввода-вывода (BIOS) загружает «код MBR» в оперативную память (в IBM PC обычно с адреса 0000:7c00) и передаёт управление находящемуся в MBR загрузочному коду.
Структура mbr
Структура MBR от Microsoft занимает один сектор (512 байт):
область кода и служебных данных (446 байт)
область partition table (4 записи по 16 байт)
Сигнатура 55AAh (2 байта)
Содержание «Области кода и служебных данных» зависит от версии DOS и Windows, но функции остаются те же — поиск, загрузка и запуск нужного загрузочного сектора[1][2][3].
Дополнительно
Для начала давайте определимся с терминологией. Под словами, вынесенными в заголовок статьи, зачастую понимают две разные вещи, которые в некоторых случаях могут быть эквивалентны, а в некоторых - нет. Первое понятие - собственно Master Boot Record. Это запись (программный код и данные), которая загружается в память с винчестера и обеспечивает опознание логических разделов на нем, определяет активный раздел и загружает из него загрузочную запись (Boot Record - BR), которая продолжит запуск операционной системы (ОС). И второе понятие - Загрузочный Сектор, Master Boot Sector (MBS) - это сектор, располагающийся на цилиндре 0, плоскости (головка) 0 и имеющий номер 1. В большинстве случаев MBS содержит весь необходимый код и все данные, поэтому его содержимое и есть MBR, однако бывают случаи (которые мы рассмотрим в конце статьи), когда код и данные не помещаются в одном секторе (просто не хватает места или по соображениям безопасности), и тогда код этого сектора обеспечивает загрузку в память остальных секторов. В этом случае MBR - это совокупность всех секторов, которые должны быть загружены, а MBS - всего лишь первый сектор. Однако начнем мы со случая, когда MBR и MBS - одно и то же, и будем называть их более привычным и широко распространённым термином MBR. Слегка отступая от темы, замечу, что такой MBR (обеспечивающий загрузку любой ОС и занимающий только MBS) обычно называют термином Generic MBR. Вообще MBR появился на жестких дисках начиная с MS DOS версии 3.0, в более ранних версиях жёсткий диск форматировался как дискета, и в первом секторе располагался BR. Соответственно диск представлял из себя один раздел и не мог быть разбит на логические части - правда, при тех размерах дисков, которые тогда выпускались, это было неактуально. Размер сектора на жестком диске - 512 байт. Этого пространства вполне хватает для размещения там всего необходимого - и кода, и данных. Однако только одна структура должна там присутствовать обязательно - это сигнатура. Этим словом называется специальная, строго установленная, последовательность из 2 байт с шестнадцатеричными значениями 55h AAh, которая записывается в последние 2 байта сектора и соответственно имеет смещение от начала сектора 1FEh. Если хотя бы один из двух последних байтов отличается по значению, считается, что первый сектор не является MBR и не содержит осмысленной информации. Если компьютер при старте, прочитав первый сектор, не обнаружит правильной сигнатуры, он не будет передавать управление располагающемуся там коду, даже если он правильный, а выдаст сообщение о том, что главная загрузочная запись не найдена. Или будет пробовать найти её на других устройствах - например, на дискете. Слегка отклоняясь от темы, замечу, что BR также содержит сигнатуру 55h AAh в последних двух байтах. Ну уж коли начали с хвоста, то пойдём от него к началу сектора. Перед сигнатурой, вплотную к ней, расположены 4 блока данных по 16 байтов каждый (соответственно со смещением от начала сектора 1BEh, 1CEh, 1DEh, 1EEh). Совокупность этих блоков называется Таблица Разделов, Partition Table (PT), а каждая отдельная запись - элементом таблицы разделов (Partition Table Entry) или просто разделом (Partition). Этих 16 байтов вполне достаточно, чтобы указать все необходимые характеристики раздела, а именно: тип раздела, признак активности раздела, начальный и конечный сектора раздела в формате Цилиндр (дорожка) - Головка (сторона) - Сектор (Cylinder - Head - Sector, CHS), относительный номер первого сектора (относительно MBR) и количество секторов в разделе. Всё остальное пространство сектора занято программным кодом, который обеспечивает разбор PT, поиск активного раздела, загрузку в память BR этого раздела и передачу ему управления. Как легко подсчитать, на код остаётся 512 - 4 * 16 - 2 = 446 байт. Этого пространства с избытком хватает для выполнения указанных действий.
Загрузочный сектор, бутсектор — это особый сектор на жёстком диске, дискете или другом дисковом устройстве хранения информации. (Для дискеты это первый физический сектор, для жесткого диска — первый физический сектор для каждого раздела) В процессе загрузки компьютера с дискеты он загружается в память программой POST (в компьютерах архитектуры IBM PC обычно с адреса 0000:7c00), ему передается управление командой long jump.
Загрузочный сектор, иногда называемый stage1, то есть первым этапом загрузки операционной системы, загружает программу второго этапа загрузки операционной системы stage2 (вторичный загрузчик, иногда в качестве stage2 загружается boot manager или программа авторизации и защиты доступа). (В некоторых ОС роль stage1 выполняет MBR и при загрузке ОС с жесткого диска загрузочный сектор не используется. На незагружаемых разделах жесткого диска загрузочные секторы также могут не содержать программу загрузки)
