Просмотр таблицы разбиения дисков Partition table (Лабораторные работы)
Описание файла
Файл "Просмотр таблицы разбиения дисков Partition table" внутри архива находится в следующих папках: Лабораторные работы, Мои лабы. Документ из архива "Лабораторные работы", который расположен в категории "". Всё это находится в предмете "системное программное обеспечение (спо)" из 8 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "спо" в общих файлах.
Онлайн просмотр документа "Просмотр таблицы разбиения дисков Partition table"
Текст из документа "Просмотр таблицы разбиения дисков Partition table"
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ
РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ
(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)»
ВЕЧЕРНИЙ ФАКУЛЬТЕТ
АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
ЛАБОРАТОРНАЯ РАБОТА
(системное программное обеспечение)
ТЕМА: Просмотр таблицы разбиения дисков Partition table
Выполнила: студентка группы
ВССУ-8н-06 Мордвинцева М.В.
Москва 2010
Таблица разделов, в которой хранится информация о распределении разделов жесткого диска (Partition table), является частью загрузочной записи (Master boot record), расположенной в первом физическом секторе диска.
Непосредственно под таблицу разделов обычно отводится 64 байта из расчета шестнадцати байт на один раздел. Таким образом, в Partition table может быть создано четыре раздела.
Загрузка операционной системы начинается со считывания BIOS первого сектора жесткого диска и размещения Master boot record по адресу 0000:7С00h с последующей передачей ей управления. В начале Master boot record расположен машинный код загрузчика, а далее следует таблица разделов, описывающая схему разбиения логических дисков.
Загрузчик, анализируя таблицу разбиения, находит в ней нужный логический диск, читает его первый загрузочный сектор, после чего передает ему управление.
В общем случае Master boot record жесткого диска выглядит так:
Смещение | Размер | Назначение |
000h | Переменный | Код загрузчика |
1BBh | 4h | Идентификатор диска |
1BEh | 10h | Раздел 1 |
1CEh | 10h | Раздел 2 |
1DEh | 10h | Раздел 3 |
1EEh | 10h | Раздел 4 |
1FEh | 0x2 | Признак конца Master boot record, сигнатура 55h AAh |
Для просмотра таблица разбиения диска используем программу DM Disk Editor and Data Recovery
После запуска программы на экране открывается следующее диалоговое окно:
В данном окне можно выбрать один из имеющихся на компьютере дисков физических или логических. Выбор между физическим и логическим дисками осуществляется путем установки напротив соответствующей позиции метки в правой стороне окна «Выбрать устройство/диск».
После выбора первого физического диска Physical Drive 0 открывается окно «Разделы», в котором можно выбрать нужный нам раздел жесткого диска (представлены основной, с действующей операционной системой, раздел и дополнительные в виде логических дисков). Так как нам нужно посмотреть таблицу разбиения данного диска, то в окне программы выберем пункт «Таблица» основного раздела диска, щелкнув по ней левой кнопкой мыши.
Открывшаяся в новом окне таблица разбиения диска содержит следующую информацию: количество строк, имеющих ненулевые значения, в ней отражается количество существующих разделов (в данном случае их два), правый столбик указывает на размеры данных разделов. Поле «Число секторов» указывает число секторов диска, отведенных под раздел (занимает в поле записи 4 байта).
Относительное смещение показывает, на сколько секторов от начала диска смещен данный раздел (у байта). Адрес раздела в формате CHS (Cylinder-Head-Sector) расположен в следующих (четвертом и пятом) столбике таблицы. Здесь указываются интервалы номеров цилиндров, головок и секторов, задействованных в записи раздела (3 байта начальный и 3 байта конечный адрес в записи). В следующем столбце располагаются флаги загрузки разделов (80h-активный раздел, 00h – обычный).
Флаг загрузки располагается в одном байте в записи таблицы. В седьмом столбце указана информация об использующихся файловых системах: в данном случае основной раздел имеет файловую систему NTFS и адреса начала-конца раздела в формате CHS (на это указывает 07h в восьмом столбце), а также имеется расширенная таблица разделов со своей Master boot record ( на что указывает надпись 0Fh в восьмом столбце).
Расширенная таблица нужна для указания дополнительных логических дисков на данном физическом.
Так же в нижней строке окна «Секторы» расположена строка, показывающая зону адресов, занимаемую строкой таблицы.
Чтобы посмотреть таблицу в шестнадцатеричном режиме перейдем на вкладку «Вид» в основном окне программы и выберем команду «Шестнадцатеричный».
Таблица разбиения в шестнадцатеричном формате:
Главная загрузочная запись (англ. master boot record, MBR) — это код и данные, необходимые для загрузки операционной системы (ОС), и расположенные в первых физических секторах (чаще всего в самом первом) на жёстком диске или другом устройстве хранения информации. MBR содержит небольшой фрагмент исполняемого кода, таблицу разделов (partition table) и специальную сигнатуру.
Цель MBR — ещё не загрузка ОС, а всего лишь выбор, «с какого раздела жёсткого диска следует загружать ОС». На стадии MBR происходит выбор раздела диска и ничего более. Загрузка самой ОС происходит на более поздних этапах.
В процессе запуска компьютера после окончания начального теста (Power On Self Test, POST) MBR загружается базовой системой ввода-вывода (BIOS) в оперативную память (в компьютерах архитектуры IBM PC обычно с адреса 0000:7c00) и ему передаётся управление (обычно командой long jump).
Роль и место MBR в загрузке компьютера (для архитектуры x86)
В процессе загрузки компьютера x86 вначале всегда отрабатывается BIOS. На этой стадии кроме тестирования и активации «железа», происходит также и выбор устройства, с которого будет происходить дальнейшая загрузка. Это может быть дискета, жёсткий диск, сетевой ресурс, встроенное ПЗУ или любое иное устройство. (Алгоритм выбора загрузочного устройства может быть различным и зависит от реализации BIOS.) После выбора загрузочного устройства, управление всей дальнейшей загрузкой BIOS полностью передаёт этому устройству.
В случае если устройство имеет только один раздел (как, например, дискета или сетевая загрузка), то выбор однозначен, и загрузка продолжается сразу с этого устройства. Однако, если устройство содержит несколько разделов, каждый из которых потенциально может быть загрузочным (как, например, в случае жестких дисков), то возникает неопределённость: с какого именно раздела производить загрузку?
Для разрешения неоднозначности по выбору раздела было предложено вынести этот вопрос из ведения BIOS и передать этот выбор самому устройству. Возникла идея использовать для этого небольшую программу, записанную на самом носителе, которая и осуществляла бы данный выбор. Так появилась концепция MBR.
Таким образом, потенциальное наличие нескольких загрузочных разделов, среди которых необходимо осуществить выбор — это ключевой момент в необходимости появления и отработки MBR. Для устройств с единственным (или однозначно заданным) загрузочным разделом концепция MBR лишена смысла и не используется.
Развитие MBR
Иногда в MBR кроме основной функции (выбора раздела) включаются также и другие функции, например, авторизация. Но это уже расширение и дополнение к основной функции и задаче MBR. Такие системы не получили широкого распространения.
Другие (не x86) системы
В связи с тем, что на других системах применяются иные архитектурные решения (начиная от активации железа и заканчивая загрузкой ОС), то концепция MBR может быть к ним не применима.
Стандартизация MBR
Утвержденного стандарта на структуру MBR не существует, однако, есть «сложившиеся традиции», по сути, «стандарт де-факто», которого придерживаются большинство MBR от разных производителей.
Иные форматы MBR
Загрузчики, отличные от стандартных Windows-загрузчиков, могут использовать всё пространство между MBR и первым разделом (~32 кб) для собственных целей. В таких случаях под MBR понимают весь загрузочный код, а для выделения именно первых 512 байт говорят, что они расположены в MBS — Master Boot Sector — главном загрузочном секторе. Для операционных систем Microsoft понятия MBR и MBS совпадают, так как вся MBR содержится в MBS, хотя это не совсем правильно, так как под MBR подразумевают данные, а под MBS — физический сектор.
MBR от Microsoft (MS DOS и MS Windows)
Структура MBR
Структура MBR от Microsoft занимает один сектор (512 байт):
-
область кода и служебных данных (446 байт)
-
область partition table (4 записи по 16 байт)
-
Сигнатура 55AAh (2 байта)
Содержание «Области кода и служебных данных» зависит от версии DOS / Windows, но функции остаются те же — поиск, загрузка и запуск нужного загрузочного сектора.
Алгоритм работы кода MBR от Microsoft
BIOS (до MBR)
-
BIOS проводит начальную инициализацию оборудования («железа»)
-
BIOS определяет, с какого устройства производить дальнейшую загрузку: дискета, флеш-накопитель, жёсткий диск и т. д... (выбор устройства зависит от версии и от настроек BIOS)
-
…. [в данном описании рассматривается только случай загрузки с жесткого диска..]
-
-
BIOS считывает один сектор (512 байт), который находится по адресу: «цилиндр 0, головка 0, сектор 1», и помещает его в область памяти по адресу 0000:7c00
-
BIOS проверяет, что этот сектор оканчивается сигнатурой 55ААh
-
…. [если это не так, то управление возвращается обратно в BIOS]
-
-
BIOS передаёт управление по адресу 0000:7c00 (то есть сектору MBR)
Выбор загрузочного раздела и проверка целостности MBR:
-
MBR копирует себя с адреса 0000:7c00 на адрес 0000:0600 (освобождая место для будущей загрузки уже собственно загрузчика ОС)
-
MBR просматривает по очереди все записи о разделах и ищет первую запись об «активном» (== «загрузочном») разделе (то есть ищет раздел, отмеченный как 80h)
-
В случае успеха (раздел, помеченный как 80h — найден) MBR запоминает номер этого раздела
-
…. [если просмотрены все 4 записи и не найден раздел, помеченный как 80h, то вызывается INT 18h. Это возвращает управление обратно в BIOS, что может приводить либо к загрузке BASIC, либо к повторной попытке загрузить систему с диска, либо к перезагрузке компьютера — в зависимости от версии и реализации BIOS]
-
MBR просматривает все оставшиеся записи и проверяет, что это единственный активный раздел (что больше разделов, помеченных 80h, на данном физическом диске не существует)
-
…. [если находятся другие разделы, помеченные 80h, то MBR выводит сообщение об ошибке (обычно это что-то типа «Invalid partition table»), после чего система подвисает в бесконечном цикле, из которого можно выйти только перезагрузкой компьютера]
-
MBR проверяет, что в данном поле для всех 4-х разделов нет иных значений кроме «00h» и «80h»
-
…. [если находятся разделы, помеченные иным значением, чем 00h или 80h, то MBR выводит сообщение об ошибке («Invalid partition table»), система подвисает, требуется перезагрузка компьютера]
-
На этом заканчивается проверка MBR и начинается подготовка к загрузке ОС:
-
MBR считывает первый сектор логического диска, помеченного как «загрузочный» и помещает этот сектор по адресу 0000:7c00
-
MBR проверяет, что данный сектор заканчивается сигнатурой 55ААh
-
…. [если этой сигнатуры в этом месте нет, то выводится сообщение «Missing operating system» и компьютер подвисает, требуется перезагрузка]
-
MBR передает управление по адресу 0000:7c00 (то есть загрузочному сектору выбранного логического диска)
-
Загрузочный сектор логического диска (после MBR)
-
Загрузочный сектор зависит от типа файловой системы на логическом диске и содержит код, выполняющий нахождение и загрузку собственно операционной системы на данном типе файловой системы.
Код загрузчика
После завершения процедуры POST в ОЗУ по адресу 0x0000:0x7c00 записывается код загрузчика после чего ему передается управление. Задача загрузчика проанализировать таблицу разделов жёсткого диска, а затем либо передать управление загрузочному коду активного раздела, либо загрузить в память ядро операционной системы и передать ему управление.
Таблица разделов
В таблице разделов хранится информация о типе раздела и его расположении на жёстком диске.
Сигнатура
Последние два байта MBR называются сигнатурой. Значение этих байтов должно быть 55h AAh. В случае, если это не так, запись считается некорректной.
Признак активности разделов
Признак активности раздела — признак обозначающий возможность загрузки операционной системы с данного раздела. Для стандартных загрузчиков может принимать следующие значения:
-
80h — раздел является активным
-
00h — раздел является неактивным
-
Другие значения являются ошибочными и игнорируются.
Начало раздела / Конец раздела
Координаты начала и конца раздела в CHS (Цилиндр, головка, сектор) формате. Следует учитывать, что CHS не позволяет выполнять адресацию более чем к 7,8 Гб данных. Для адресации к разделам находящимся за пределами 7,8 Гб используется LBA адресация.
Код типа раздела
Код файловой системы используемой на данном разделе. В случае расширенного раздела принимает значение 05h. В случае если используется расширенный раздел, то координаты начала раздела указывают на EBR.
Формат указателей аналогичен MBR.
Смещение первого сектора
Координаты начала раздела в LBA координатах. Позволяет выполнять адресацию до 2 Тб данных.
Восстановление MBR
Если каким-либо образом была потеряна MBR, то её можно восстановить специальными утилитами (например TestDisk), которая просмотрит весь носитель информации и создаст таблицу разделов.