Similar presentations:
Загрузка ОС
1. Загрузка ОС
• Задача загрузки ОС прежде всего заключается ввызове ПО, прошитого в микросхеме
(начального загрузчика), т.к. в оперативной
памяти при включении компьютера ничего
нет.
• Это ПО - интерфейс между прошивкой
платформы и ОС. Основное предназначение
его: корректно инициализировать
оборудование при включении системы и
передать управление загрузчику операционной
системы.
2. Интерфейсы между операционной системой и прошивкой платформы
• BIOS (англ. Basic Input-Output System —базовая система ввода-вывода). Используется
IBM PC-совместимыми персональными
компьютерами.
• Extensible Firmware Interface (EFI)
(англ. Расширяемый интерфейс прошивки).
3. BIOS
• Набор микропрограмм системного программногообеспечения низкого уровня, обеспечивающих
начальный запуск ПК, тестирование (система POST) и
первичная настройка оборудования, распределение
ресурсов между устройствами и активация процедуры
загрузки операционной системы
4. Расположение BIOS
• Вначале: микросхемы постоянной памяти (ПЗУили ROM), запись на которые единожды
осуществлялась на заводе.
• Позже: микросхемы EPROM и EEROM, в которых
имелась возможность в случае необходимости
осуществлять перезапись BIOS, но только с
помощью специального оборудования
• Сейчас: микросхемы, созданных на основе флэшпамяти, перезаписывать которые можно с
помощью специальных программ прямо на ПК в
домашних условиях (перепрошивка)
5. Алгоритм работы BIOS
Алгоритм работы BIOS• тестирование оборудования (POST)
• начальная инициализация оборудования
• Определение из CMOS с какого устройства
производить дальнейшую загрузку
• считывание одного сектора (512 байт), который
находится по адресу: «цилиндр 0, головка 0,
сектор 1», в область памяти по адресу 0000:7c00
• проверка, что этот сектор оканчивается
сигнатурой 55ААh
• передача управления по адресу 0000:7c00 (то
есть сектору MBR)
6. Ограничения BIOS
• не возможность использовать более 1Мб адресного пространства памяти
• 16-битный исполняемый код
• адресуемое пространство на жёстком
диске может составить максимум 2ТБ
• ограничение на создание первичных
разделов
• не обеспечение безопасности
7. EFI
• 2000г. Intelвыпустила
первую версию
• 2005г. Intel
внесла EFI в UEFI
Forum
(переименован в
UEFI)
• С 2011г.
Массовое
внедрение UEFI
для начальной
загрузки ПК
EFI
8. Особенности EFI
• Модульный программируемый интерфейс, включающийтестовые, рабочие и загрузочные сервисы, драйверы устройств,
протоколы коммуникаций, функциональные расширения и
собственную графическую оболочку (мини ОС)
• Менеджер загрузки EFI используется для выбора и загрузки ОС
(загрузчик ОС является приложением EFI).
• Кроссплатформенность и независимость от процессорной
архитекторы
• Среда оболочки. Пользователь для выполнения некоторых
операций может загрузить оболочку EFI (EFI shell), вместо того,
чтобы загружать ОС.
• В дополнение к стандартной схеме разметки дисков — Master
boot record (MBR), EFI имеет поддержку GUID Partition
Table (GPT), которая свободна от характерных для MBR
ограничений.
9. Совместимость с ОС для платформы x86, требующими для работы интерфейса «legacy BIOS»
• достигается с помощью модуляподдержки совместимости (CSM).
CSM включает 16-битную программу
(CSM16), реализуемую изготовителем
BIOS, и слой, связывающий CSM16 с
инструментарием.
10.
Загрузка ПК11. Недостатки UEFI
• Усложнение архитектуры• Проблемы с Secure Boot
• Невозможность установки старых ОС (в
некоторых случаях)
12. Cхемы разметки дисков
• Жесткий диск имеет 2 уровня логической структуры.• Первый уровень представляет собой разбиение
диска на разделы.
• На втором уровне задается формат раздела и
заносится на него информация.
• 1-й сектор цилиндра 0 стороны 0 разбитого на
разделы жесткого диска хранит схему разметки
дисков.
• Стандартная схема разбивки носит название MBR.
• С распространением 64-разрядных процессоров,
популярность набирает схема разметки на основе
GPT.
13. MBR (Master Boot Record)
• Разделы МBR применяются в Microsoft DOS,Microsoft Windows, Linux и в системах
FreeBSD и OpenBSD на платформе IA32.
• При старте BIOS загружает MBR и передает
ей управление.
• Эта система получила наибольшее
распространение, но она же оказалась
наиболее сложной.
14. Структура MBR
• Загрузочный код• Таблица разделов (Partition Table)
• Сигнатура
смещение
000h
1BEh
1BEh
1CEh
1DEh
1EEh
1FEh
длина
446
64
16
16
16
16
2
Описание
Код загрузчика
Таблица разделов
Раздел 1
Раздел 2
Раздел 3
Раздел 4
Сигнатура 55ААh
15. Код загрузчика
Код загрузчика• Задача загрузчика - проанализировать
таблицу разделов жесткого диска, затем
передать управление загрузочному
коду активного раздела
• Возможна организация меню для выбора
пользователем операционной системы
Таблица разделов
В таблице разделов хранится информация о
типе разделов и их расположении на жёстком
диске.
16. Структура раздела
Смещ. Длина Описание00h
1
Признак активности раздела
01h
04h
05h
08h
3
1
3
4
Начало раздела в CHS-адресации
Код типа раздела
Конец раздела в CHS-адресации
Начало раздела в LBA- адресации
0Ch
4
Количество секторов раздела
17. Признак активности раздела
Признак активности раздела• признак, обозначающий возможность загрузки
операционной системы с данного раздела.
• Для стандартных загрузчиков может принимать
следующие значения:
80h — раздел является активным;
00h — раздел является неактивным;
другие значения являются ошибочными и
игнорируются.
18. Код типа раздела
Код типа раздела• 0 – раздел не используется
• 5 или 15 – расширенный раздел
• Остальные значения – код типа файловой
системы раздела
например:
7 –NTFS, 0Bh – FAT32, 83h – Linux
19. Расширенный раздел
• Необходим, когда на жестком диске более 4логических дисков
• описывает не раздел, а область пространства
накопителя, в которой расположены другие
разделы – указывает на вторичную MBR
(EBR).
20. Схемы адресации
Схема адресации CHS (cylinder, head, sector) имеет ограничения, т.к. висходной спецификации ATА задействован 16-разрядный номер цилиндра, 4разрядный номер головки и 8-разрядный номер сектора.
Более новые версии BIOS, транслируют «свои» диапазоны адресов в
диапазоны адресов, соответствующие спецификации ATА. Процесс
трансляции не работает для дисков объемом более 8,1 Гбайт.
От схемы адресации CHS пришлось отказаться. Стандартной стала схема
адресации LBA (Logical Block Addresses), в которой каждый сектор обозначается
одним числом, начиная с 0.
21. Начало раздела в LBA- адресации
• Для нерасширенного раздела: адрес началараздела относительно адреса текущей MBR
• Для расширенного раздела: адрес
вторичной MBR (EBR) относительно адреса
первой вторичной MBR
22. Вторичная MBR
• Имеет такую же структура как и первичнаяMBR, но код загрузчика обычно пустой и в
ней не может быть активных разделов
• В таблице разделов EBR имеется обычно
одна или две записи. Первая описывает
обычный раздел, а вторая является
расширенным разделом (указывает на
следующую EBR)
23.
24.
25.
Алгоритм именования дисков1. Для логического диска, найденного в MBR, в
соответствии с файловой системой с загрузочного сектора
определить серийный номер;
2. Определить количество и имена логических дисков,
созданных операционной системой, воспользовавшись для
этого функцией GetLogicalDrives.
3. Для каждого логического диска через функцию
GetVolumeInformation получить серийный номер;
4. Выполнить сравнение серийных номеров найденных в
п.3 и п.1, совпадение их позволит назначить логическим
дискам, найденным в п.1 соответствующие имена.
26. GUID Partition Table (GPT)
GUID Partition Table (GPT)• В отличие от MBR, GPT не имеет жёсткой фиксации, поэтому на
GPT-диске можно создавать практически неограниченное
количество логических разделов.
• Резервирование загрузочных данных и сведений о таблице
разделов. Если в MBR-дисках они хранятся в одном месте — в
первых физических секторах, то в дисках с разметкой GPT они
могут храниться где-то ещё, но уже в виде копий.
• Разметка GPT позволяет работать с дисками объёмом больше 2
Тб. Диски 3 Тб и больше будут читаться и в MBR, но доступно
пользователю будет только 2 Тб.
• Важнейшим
техническим
отличием
GPT
от
традиционной таблицы разделов является полный отказ от
использования
дисковых
адресов
формата CHS
и
окончательный переход на адресацию LBA. Кроме того, GPT
упрощает разбиение дисков на большое число разделов.
27. Структура GPT
28. Структура GUID Partition Entries Array
Заголовок
Массив разделов
Обозначение
Смещение
Размер
Описание
Signature
00h
8
Сигнатура заголовка
Revision
08h
4
Версия формата заголовка; Сейчас используется первая версия
заголовка, которой соответствует значение 00010000h
HeaderSize
0Ch
4
Размер заголовка GPT в байтах.
HeaderCRC32
Reserved
MyLBA
AlternateLBA
10h
14h
18h
20h
4
4
8
8
Контрольная сумма заголовка GPT.
Зарезервированное поле, = 0
LBA этой копии заголовка
LBA другой копии заголовка
FirstUsableLBA
28h
8
LBA первого блока, с которого могут начинаться разделы
LastUsableLBA
30h
8
LBA последнего блока, после которого не может быть разделов
DiskGUID
PartitionEntryLBA
NumberOfPartitionEntries
SizeOfPartitionEntry
38h
48h
50h
54h
16
8
4
4
Уникальный идентификатор (GUID) этого диска
LBA начала массива разделов диска
Количество записей в массиве разделов диска
Размер каждой записи массива разделов; должен быть кратен 8
PartitionEntryArrayCRC32 58h
Reserved
5Сh
4
Контрольная сумма масcива разделов.
Резервная область заголовка, должна содержать нули
29.
Структура записи GPTОбозначение
Смещение Размер
PartitionTypeGUID
0h
16
UniquePartitionGUID 10h
16
StartingLBA
20h
8
Описание
GUID типа данного раздела.
Определяет файловую систему,
используемую для хранения
данных в этом разделе
GUID раздела. Является
уникальным идентификатором
LBA первого блока данного
раздела на диске
EndingLBA
28h
8
LBA последнего блока данного
раздела на диске
Attributes
30h
8
Атрибуты раздела
PartitionName
38h
72
Reserved
80h
Строка в кодировке Unicode,
содержащая имя данного раздела
размер записи - Неиспользуемая часть записи
80h
массива разделов
informatics