Что такое сектор в жестком диске

Сектор диска

Из Википедии — свободной энциклопедии

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Се́ктор диска — минимальная адресуемая единица хранения информации на дисковых запоминающих устройствах (НЖМД, дискета, CD). Является частью дорожки диска. Первоначально у большинства устройств размер сектора составляет 512 байт (например, у жестких и гибких дисков), либо 2048 байт (например, у оптических дисков). Новые жесткие диски используют размер сектора 4096 байт (4 Кбайт), известный как расширенный формат (Advanced Format).

Для более эффективного использования места на диске файловая система может объединять секторы в кластеры, размером от 512 байт (один сектор) до 64 Кбайт (128 секторов). Переход к кластерам произошел потому, что размер таблицы FAT был ограничен, а размер диска увеличивался. В случае FAT16 для диска объемом 512 Мб кластер будет составлять 8 Кб, до 1 Гб — 16 Кб, до 2 Гб — 32 Кб и так далее.

Количество секторов на цилиндрах ранее было одинаковым, на современных дисках количество секторов на цилиндрах разное, но контроллер жёсткого диска сообщает о некоем условном количестве дорожек, секторов и сторон, хотя позднее была создана система (LBA) обращения к дискам, в которой все секторы пронумерованы. Первый сектор диска обычно является загрузочным.

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

Источник

Как продлить жизнь старому жесткому диску

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Содержание

Содержание

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

Что такое переназначенные сектора и почему они появляются?

Из-за особенностей конструкции, жесткий диск чрезвычайно уязвим к тряске, ударам и вибрации в рабочем состоянии. Достаточно один раз задеть ногой работающий компьютер так, чтобы он качнулся, или с грохотом поставить включенный ноутбук на стол и все — головка жесткого диска задевает поверхность «блина» и царапает его.

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

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Жесткий диск постоянно производит самодиагностику, занося множество параметров работы в данные S.M.A.R.T. (система самодиагностики жесткого диска). И такие испорченные участки магнитной поверхности он помечает как «поврежденный сектор» или «bad block».

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

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

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

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

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

В параметрах S.M.A.R.T. увеличится значение Reallocated Sector Count — это количество переназначенных секторов. Также может увеличиваться значение Reallocated Event Count.Этот параметр напрямую связан с Reallocated Sector Count, но иногда его рост может происходить отдельно. Например, в случаях, когда жесткому диску удалось все-таки прочитать сбойный сектор.

Еще один важный параметр S.M.A.R.T., указывающий на здоровье диска, это Current Pending Sector Count. Это количество нестабильных секторов, которые то читаются, то нет.

Какими программами определить наличие переназначенных секторов?

Давайте рассмотрим программы, которыми удобно просматривать данные S.M.A.R.T. и следить за здоровьем своего жесткого диска.

Одна из самых популярных бесплатных программ — CrystalDiskInfo.

Программа очень удобна и проста, вам даже не обязательно вникать в подробности данных S.M.A.R.T..

Программа напишет состояние диска в виде большой кнопки «Техсостояние», которая будет иметь вид «Хорошо» и синий цвет, при проблемах с диском она изменит цвет на желтый и надпись на «Тревога».

Красный цвет кнопки и надпись «Тревога» говорит о критическом состоянии жесткого диска.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Вот, как пример, один из моих жестких дисков с переназначенными секторами.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

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

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Еще одна неплохая программа контроля жестких дисков — это условно-бесплатная HD Tune.

Это неплохая альтернатива CrystalDiskInfo, у которой более строгие критерии оценки здоровья жесткого диска.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Вот, как пример, тот же самый диск с переназначенными секторами, в HD Tune.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Как предотвратить появление переназначенных секторов и продлить жизнь жесткого диска

Первое и самое главное правило —никаких толчков и вибраций устройства во включенном состоянии!

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

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

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Второе правило — в идеале температура жесткого диска должна быть от 20 до 40 градусов. Очень желательно поставить напротив жесткого диска вентилятор в корпусе ПК.

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

Сохранение важной информации

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

Всегда дублируйте важную информацию на отдельный носитель: внешний жесткий диск, флешки, dvd-диски, облака.

Если же S.M.A.R.T. вашего жесткого диска показывает ошибки, то сохранение важной информации — это первоочередное, что вы должны сделать.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Практически любой почтовый сервис сейчас предлагает услуги облачного хранения данных: google.com, mail.ru, yandex.ru. Если у вас есть почта на каком-то из этих сервисов, то есть и облако, на которое можно сохранить важные данные.

Очень удобно подключать облака в компьютер через программу от mail.ru — «Диск-О:». При запуске Диск-О: облака будут видны в проводнике компьютера как обычные диски. В этой статье мы подробно сравнивали возможности разных облачных сервисов.

Исправление переназначенных секторов

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

Поможет нам в этом бесплатная утилита Victoria HDD/SSD. На сайте разработчиков можно скачать версию 5.27.

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

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

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Можно посмотреть атрибуты S.M.A.R.T.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Если нажать на кнопку «Тестирование», мы попадаем в окно проверки поверхности диска.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

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

Сканируя диск, Victoria HDD/SSD помечает сектора цветами, меняющимися в зависимости от состояния сектора.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Перед запуском теста нужно выбрать один из четырех способов, которым Victoria HDD/SSD будет лечить сектора.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Для лечения переназначенных секторов надо запустить тест поверхности в режиме «Починить». Если после него останутся поврежденные сектора, то запустить тест в режиме «Обновить». На больших по объему дисках тестирование может занять несколько часов.

Как использовать жесткий диск, если лечение не помогло

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

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

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

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

Бывают внешние боксы как для обычных 3.5″ дисков, так и для ноутбучных 2.5″. Обязательно выбирайте бокс с интерфейсом USB 3.0 и выше.

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

Источник

Что такое сектор и кластер

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком дискеЭтой заметкой я хочу ответить на вопросы «что такое сектор» и «что такое кластер», в чем их отличие и для чего сектора и кластеры нужны.

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

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

Жесткий диск имеет несколько «блинов» (дисков), на магнитную поверхность которых и записываются данные (смотрите рисунок выше).

Каждый блин имеет круглую форму и разметка такого блина выглядит так:

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

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

Сектор – это минимальная пронумерованная область диска, в которой могут храниться данные. Обычно размер одного сектора составляет 512 байт.

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

Чтобы проиллюстрировать вышесказанное приведу картинку из Википедии:

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

На этом рисунке замечательным образом продемонстрирована структура диска. Буквой «А» обозначена дорожка, буквой «В» — геометрический сектор диска, а буквой «С» — сектор дорожки. Далее из рисунка видно, что кластер «D» может занимать несколько секторов дорожки (кластер выделен на рисунке зеленым).

В различных файловых системах кластер мог иметь размеры от 512 байт (один сектор) до 64 кбайт (128 секторов). В наиболее популярной в настоящее время файловой системе NTFS размер кластера можно установить от 512 байт, до 4096 байт (8 секторов).

Размером кластера можно управлять в некоторых пределах — его можно задать при форматировании носителя информации.

Источник

Изучаем структуры MBR и GPT

Для работы с жестким диском его для начала необходимо как-то разметить, чтобы операционная система могла понять в какие области диска можно записывать информацию. Поскольку жесткие диски имеют большой объем, их пространство обычно разбивают на несколько частей — разделов диска. Каждому такому разделу может быть присвоена своя буква логического диска (для систем семейства Windows) и работать с ним можно, как будто это независимый диск в системе.

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

Структура MBR

До недавнего времени структура MBR использовалась на всех персональных компьютерах для того, чтобы можно было разделить один большой физический жесткий диск (HDD) на несколько логических частей — разделы диска (partition). В настоящее время MBR активно вытесняется новой структурой разделения дисков на разделы — GPT (GUID Partition Table). Однако MBR используется еще довольно широко, так что посмотрим что она из себя представляет.

MBR всегда находится в первом секторе жесткого диска. При загрузке компьютера, BIOS считывает этот сектор с диска в память по адресу 0000:7C00h и передает ему управление.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Итак, первая секция структуры MBR — это секция с исполняемым кодом, который и будет руководить дальнейшей загрузкой. Размер этой секции может быть максимум 440 байт. Далее идут 4 байта, отведенные на идентификацию диска. В операционных системах, где идентификация не используется, это место может занимать исполняемый код. То же самое касается и последующих 2 байт.

Начиная со смещения 01BEh находится сама таблица разделов жесткого диска. Таблица состоит из 4 записей (по одной на каждый возможный раздел диска) размером 16 байт.

Структура записи для одного раздела:

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

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

Следующие три байта — это так называемые CHS-координаты первого сектора раздела.

По смещению 04h находится код типа раздела. Именно по этому типу можно определить что находится в данном разделе, какая файловая система на нем и т.п. Список зарезервированных типов разделов можно посмотреть, например, в википедии по ссылке Типы разделов.

После типа раздела идут 3 байта, определяющие CHS-координаты последнего сектора раздела.

CHS-координаты сектора расшифровываются как Cylinder Head Sector и соответственно обозначают номер цилиндра (дорожки), номер головки (поверхности) и номер сектора. Цилиндры и головки нумеруются с нуля, сектор нумеруется с единицы. Таким образом CHS=0/0/1 означает первый сектор на нулевом цилиндре на нулевой головке. Именно здесь находится сектор MBR.

Все разделы диска, за исключением первого, обычно начинаются с нулевой головки и первого сектора какого-либо цилиндра. То есть их адрес будет N/0/1. Первый раздел диска начинается с головки 1, то есть по адресу 0/1/1. Это все из-за того, что на нулевой головке место уже занято сектором MBR. Таким образом, между сектором MBR и началом первого раздела всегда есть дополнителььные неиспользуемые 62 сектора. Некоторые загрузчики ОС используют их для своих нужд.

Интересен формат хранения номера цилиндра и сектора в структуре записи раздела. Номер цилиндра и номер сектора делят между собой два байта, но не поровну, а как 10:6. То есть на номер сектора приходится младшие 6 бит младшего байта, что позволяет задавать номера секторов от 1 до 63. А на номер цилиндра отведено 10 бит — 8 бит старшего байта и оставшиеся 2 бита от младшего байта: «CCCCCCCC CCSSSSSS», причем в младшем байте находятся старшие биты номера цилиндра.

Проблема с CHS-координатами состоит в том, что с помощью такой записи можно адресовать максимум 8 Гб диска. В эпоху DOS это было приемлемо, однако довольно скоро этого перестало хватать. Для решения этой проблемы была разработана система адресации LBA (Logical Block Addressing), которая использовала плоскую 32-битную нумерацию секторов диска. Это позволило адресовать диски размером до 2Тб. Позже разрядность LBA увеличили до 48 бит, однако MBR эти изменения не затронули. В нем по-прежнему осталась 32-битная адресация секторов.

Итак, в настоящее время повсеместно используется LBA-адресация для секторов на диске и в структуре записи раздела адрес его первого сектора прописывается по смещению 08h, а размер раздела — по смещению 0Ch.

Для дисков размером до 8Гб (когда адресация по CHS еще возможна) поля структуры с CHS-координатами и LBA-адресации должны соответствовать друг другу по значению (корректно конвертироваться из одного формата в другой). У дисков размером более 8Гб значения всех трех байт CHS-координат должны быть равны FFh (для головки допускается также значение FEh).

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

Расширенные разделы

Разделы, отмеченные в таблице типом 05h и 0Fh, это так называемые расширенные разделы. С их помощью можно создавать больше разделов на диске, чем это позволяет MBR. На самом деле расширенных разделов несколько больше, например есть разделы с типами C5h, 15h, 1Fh, 91h, 9Bh, 85h. В основном все эти типы разделов использовались в свое время различными операционными системами (такими как например OS/2, DR-DOS, FreeDOS) с одной и той же целью — увеличить количество разделов на диске. Однако со временем различные форматы отпали и остались только разделы с типами 05h и 0Fh. Единственное исключение — это тип 85h. Он до сих пор может использоваться в Linux для формирования второй цепочки логических дисков, скрытых от других операционных систем. Разделы с типом 05h используются для дисков менее 8Гб (где еще возможна адресация через CHS), а тип 0Fh используется для дисков больше 8Гб (и используется LBA-адресация).

В первом секторе расширенного раздела находится структура EBR (Extended Boot Record). Она во многом схожа со структурой MBR, но имеет следующие отличия:

В отличие от MBR, где позволяется создавать не более четырёх разделов, структура EBR позволяет организовать список логических разделов, ограниченный лишь размером раздела-контейнера (того самого, который с типом 05h или 0Fh). Для организации такого списка используется следующий формат записей: первая запись в таблице разделов EBR указывает на логический раздел, связанный с данным EBR, а вторая запись указывает на следующий в списке раздел EBR. Если данный логический раздел является последним в списке, то вторая запись в таблице разделов EBR должна быть заполнена нулями.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Формат записей разделов в EBR аналогичен формату записи в структуре MBR, однако логически немного отличается.

Признак активности раздела для разделов структуры EBR всегда будет 0, так как загрузка осуществлялась только с основных разделов диска. Координаты CHS, с которых начинается раздел используются, если не задействована LBA-адресация, также как и в структуре MBR.

А вот поля, где в режиме LBA-адресации должны находиться номер начального сектора и количество секторов раздела, в структуре EBR используются несколько иначе.

Что такое сектор в жестком диске. Смотреть фото Что такое сектор в жестком диске. Смотреть картинку Что такое сектор в жестком диске. Картинка про Что такое сектор в жестком диске. Фото Что такое сектор в жестком диске

Для первой записи таблицы разделов EBR в поле начального сектора раздела (смещение 08h) записывается расстояние в секторах между текущим сектором EBR и началом логического раздела, на который ссылается запись. В поле количества секторов раздела (смещение 0Ch) в этом случае пишется размер этого логического раздела в секторах.

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

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

Структура GPT

В современных компьютерах на смену BIOS пришла новая спецификация UEFI, а вместе с ней и новое устройство разделов на жестком диске — GUID Partition Table (GPT). В этой структуре были учтены все недостатки и ограничения, накладываемые MBR, и разработана она была с большим запасом на будущее.

В структуре GPT используется теперь только LBA-адресация, никаких CHS больше нет и никаких проблем с их конвертацией тоже. Причем под LBA-адреса отведено по 64 бита, что позволяет работать с ними без всяких ухищрений, как с 64-битными целыми числами, а также (если до этого дойдет) даст в будущем возможность без проблем расширить 48-битную LBA-адресацию до 64-битной.

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

Рассмотрим теперь устройство структуры GPT подробнее. Вся структура GPT на жестком диске состоит из 6 частей:

Защитный MBR-сектор

Первый сектор на диске (с адресом LBA 0) — это все тот же MBR-сектор. Он оставлен для совместимости со старым программным обеспечением и предназначен для защиты GPT-структуры от случайных повреждений при работе программ, которым про GPT ничего не известно. Для таких программ структура разделов будет выглядеть как один раздел, занимающий все место на жестком диске.

Структура этого сектора ничем не отличается от обычного сектора MBR. В его таблице разделов дожна быть создана единственная запись с типом раздела 0xEE. Раздел должен начинаться с адреса LBA 1 и иметь размер 0xFFFFFFFF. В полях для CHS-адресации раздел соответственно должен начинаться с адреса 0/0/2 (сектор 1 занят под саму MBR) и иметь конечный CHS-адрес FF/FF/FF. Признак активного раздела должен иметь значение 0 (неактивный).

При работе компьютера с UEFI, данный MBR-сектор просто игнорируется и никакой код в нем также не выполняется.

Первичный GPT-заголовок

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

Структура GPT-заголовка:

Смещение (байт)Размер поля (байт)Пример заполненияНазвание и описание поля
0x008 байт45 46 49 20 50 41 52 54Сигнатура заголовка. Используется для идентификации всех EFI-совместимых GPT-заголовков. Должно содержать значение 45 46 49 20 50 41 52 54, что в виде текста расшифровывается как «EFI PART».
0x084 байта00 00 01 00Версия формата заголовка (не спецификации UEFI). Сейчас используется версия заголовка 1.0
0x0C4 байта5C 00 00 00Размер заголовка GPT в байтах. Имеет значение 0x5C (92 байта)
0x104 байта27 6D 9F C9Контрольная сумма GPT-заголовка (по адресам от 0x00 до 0x5C). Алгоритм контрольной суммы — CRC32. При подсчёте контрольной суммы начальное значение этого поля принимается равным нулю.
0x144 байта00 00 00 00Зарезервировано. Должно иметь значение 0
0x188 байт01 00 00 00 00 00 00 00Адрес сектора, содержащего первичный GPT-заголовок. Всегда имеет значение LBA 1.
0x208 байт37 C8 11 01 00 00 00 00Адрес сектора, содержащего копию GPT-заголовка. Всегда имеет значение адреса последнего сектора на диске.
0x288 байт22 00 00 00 00 00 00 00Адрес сектора с которого начинаются разделы на диске. Иными словами — адрес первого раздела диска
0x308 байт17 C8 11 01 00 00 00 00Адрес последнего сектора диска, отведенного под разделы
0x3816 байт00 A2 DA 98 9F 79 C0 01 A1 F4 04 62 2F D5 EC 6DGUID диска. Содержит уникальный идентификатор, выданный диску и GPT-заголовку при разметке
0x488 байт02 00 00 00 00 00 00 00Адрес начала таблицы разделов
0x504 байта80 00 00 00Максимальное число разделов, которое может содержать таблица
0x544 байта80 00 00 00Размер записи для раздела
0x584 байта27 C3 F3 85Контрольная сумма таблицы разделов. Алгоритм контрольной суммы — CRC32
0x5C420 байт0Зарезервировано. Должно быть заполнено нулями

Система UEFI проверяет корректность GPT-заголовка, используя контрольный суммы, вычисляемые по алгоритму CRC32. Если первичный заголовок поврежден, то проверяется контрольная сумма копии заголовка. Если контрольная сумма копии заголовка правильная, то эта копия используется для восстановления информации в первичном заголовке. Восстановление также происходит и в обратную сторону — если первичный заголовок корректный, а копия неверна, то копия восстанавливается по данным из первичного заголовка. Если же обе копии заголовка повреждены, то диск становится недоступным для работы.

У таблицы разделов дополнительно существует своя контрольная сумма, которая записывается в заголовке по смещению 0x58. При изменении данных в таблице разделов, эта сумма рассчитывается заново и обновляется в первичном заголовке и в его копии, а затем рассчитывается и обновляется контрольная сумма самих GPT-заголовков.

Таблица разделов диска

Следующей частью структуры GPT является собственно таблица разделов. В настоящее время операционные системы Windows и Linux используют одинаковый формат таблицы разделов — максимум 128 разделов, на каждую запись раздела выделяется по 128 байт, соответственно вся таблица разделов займет 128*128=16384 байт, или 32 сектора диска.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *