2015-11-02

Что такое загрузочный диск?

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

Под словом "диск" будем подразумевать все запоминающие устройства (внешние и внутренние), используемые на данный момент.

Диск - это хранилище цифровой информации. Минимальной единицей цифровой информации выступает бит. Один бит может хранить в себе лишь одно из двух значений 0 либо 1. Из этого следует, что диск это устройство с возможностью хранения определенного количества таких бит. Минимальная единица полезной информации это байт. Байт состоит из 8 бит. Почему именно 8 бит? Подробно об этом лучше почитать на Wiki, но все же добавлю, что изначально было не 8, к этому пришли со временем.
Запоминающее устройство адресует свое информационное пространство по секторам, участкам определенного размера. Размер сектора у большинства устройств равен 512 байт.

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

Примерное представление о физической структуре диска у нас есть. Теперь поговорим о разделах диска. Разделы предназначены для разделения пространства диска на участки определенного размера. Информация о разделах диска хранится в таблице разделов. Количество разделов и их максимальный размер зависит от типа используемой таблицы разделов. Таблица разделов размещается в начале диска. На данный существует два основных типа таблиц разделов - старая таблица располагающаяся в MBR, и новая таблица GPT.

Если зайти в Управление дисками в Windows, то будет наглядно видно расположение разделов на диске.


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

Для наглядности представим все в графическом виде.

Диск в формате MBR, максимально поддерживает 4 основных первичных раздела. Максимальный размер раздела в данной таблице разделов составляет ~2.2 TB.
Для обхода ограничения в 4 раздела, предусмотрен расширенный раздел. Представляющий из себя первичный раздел с логическими подразделами. Количество таких разделов ограничено лишь свободным пространством накопителя.


MBR


Диск в формате GPT, максимально поддерживает 128 разделов с максимальным размером каждого в ~9.3 ZB.

GPT

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

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

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

Описанная система называется Базовой Системой Ввода-Вывода или BIOS. BIOS существует довольно таки давно, и у него есть более современный приемник под названием EFI. Суть новой базовой системы заключается в 64-битной программной реализации, поддержке внешних программ и драйверов, поддержке GPT дисков, более красивой графической составляющей. Естественно у каждой из этих базовых систем свои критерии загрузочных дисков.

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

Для EFI же, все совсем по другому. На диске должен присутствовать FAT раздел (так как, базовая система EFI понимает только эту файловую систему), в специальной директории (/efi/boot) которого будет располагаться исполняемый .efi файл. Этот исполняемый файл осуществляет дальнейшие операции, будь то загрузка загрузчика, операционной системы, или другой программы.

Комментариев нет :

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