Как получить содержимое MBR. GPT или MBR — какая технология лучше подходит для жестких дисков и твердотельных накопителей

  • Перевод

Вы когда-нибудь задумывались о том, как загружается компьютер? Независимо от аппаратуры и операционной системы, все компьютеры при загрузке используют или традиционный метод BIOS-MBR, или более современный UEFI-GPT, реализованный в последних версиях ОС.

В этой статье мы сравним структуры разделов GPT и MBR; GPT означает GUID Partition Table, а MBR - Master Boot Record. Начнём с того, что разберём сам процесс загрузки.

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

Понимание процесса загрузки

Когда вы нажимаете кнопку питания на своём ПК, стартует процесс, который в итоге приведёт к загрузке операционной системы в память. Первая команда зависит от того, какова структура разделов на вашем жёстком диске.

Если два вида структур разделов: MBR и GPT. Структура разделов на диске определяет три вещи:

  1. Структура данных на диске.
  2. Код, который используется при загрузке, если раздел загрузочный.
  3. Где начинается и заканчивается раздел.

Процесс загрузки MBR

Вернёмся к процессу загрузки. Если в вашей системе используется структура разделов MBR, то первый процесс выполнения загрузит BIOS. Базовая структура ввода-вывода (Basic Input/Output System) включает в себя микропрограмму загрузчика. Микропрограмма загрузчика содержит низкоуровневые функции, такие как ввод с клавиатуры, доступ к видеодисплею, осуществление дисковых операций ввода-вывода и код для загрузки начальной стадии загрузчика. До того как BIOS может определить загрузочное устройство, он выполняет последовательность функций системной конфигурации, начиная со следующих:
  • Самотестирование при включении питания.
  • Обнаружение и инициализация видеокарты.
  • Отображение стартового экрана BIOS.
  • Осуществление быстрой проверки памяти (RAM).
  • Конфигурация устройств plug and play.
  • Определение загрузочного устройства.
Как только BIOS определил загрузочное устройство, он считывает первый дисковый сектор этого устройства в память. Первый сектор диска - это главная загрузочная запись (MBR) размером 512 байт. В этот размер поместились три объекта:
  • Первая стадия загрузчика (446 байт).
  • Таблица разделов диска (16 байт на раздел × 4 раздела) - MBR поддерживает только четыре раздела, подробнее об этом ниже.
  • Подпись (2 байта).
На этом этапе MBR сканирует таблицу разделов и загружает в оперативную память загрузочный сектор - Volume Boot Record (VBR).

VBR обычно содержит начальный загрузчик программ - Initial Program Loader (IPL), этот код инициирует процесс загрузки. Начальный загрузчик программ включает в себя вторую стадию загрузчика, который затем загружает операционную систему. На системах семейства Windows NT, таких как Windows XP, начальный загрузчик программ сначала загружает другую программу под названием NT Loader (аббревиатура NTLDR), которая затем загружает операционную систему.

Для операционных систем на ядре Linux используется загрузчик GRUB (Grand Unified Bootloader). Процесс загрузки похож на описанный выше, единственная разница в наименовании загрузчиков на первой и второй стадии.

В GRUB первая стадия загрузчика называется GRUB Stage 1. Она загружает вторую стадию, известную как GRUB Stage 2. Вторая стадия загружает получает список операционных систем на жёстких дисках и предоставляет пользователю список для выбора ОС для загрузки.

Процесс загрузки GPT

На том же этапе загрузки в структуре разделов GPT происходит следующее. GPT использует UEFI , в котором нет такой как у MBR процедуры хранения в загрузочном секторе первой стадии загрузчика с последующим вызовом второй стадии загрузчика. UEFI - унифицированный расширяемый интерфейс прошивки (Unified Extensible Firmware Interface) - является более продвинутым интерфейсом, чем BIOS. Он может анализировать файловую систему и даже сам загружать файлы.

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

Затем UEFI считывает GPT - таблицу разделов GUID. GUID расшифровывается как «глобальный уникальный идентификатор» (Globally Unique Identifier). GPT располагается в первых секторах диска, сразу после сектора 0, где по-прежнему хранится главная загрузочная запись для Legacy BIOS.

GPT определяет таблицу разделов на диске, на которой загрузчик EFI распознает системный раздел EFI. Системный раздел содержит загрузчики для всех операционных систем, установленных на других разделах жёсткого диска. Загрузчик инициализирует менеджер загрузки Windows, который затем загружает операционную систему.

Для операционных систем на ядре Linux существует версия GRUB с поддержкой EFI, которая загружает файл, такой как grub.efi, или загрузчик EFI, который загружает свой файл, такой как elilo.efi.

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

Различия между структурами разделов GPT и MBR

Если вы когда-нибудь пытались установить Windows 8 или 10 на новый компьютер, то скорее всего видели вопрос: какую структуру разделов использовать, MBR или GPT.

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

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

Главная загрузочная запись

MBR - традиционная структура для управления разделами диска. Поскольку она совместима с большинством систем, то по-прежнему широко используется. Главная загрузочная запись расположена в первом секторе жёсткого диска или, проще говоря, в самом его начале. Она содержит таблицу разделов - информацию об организации логических разделов на жёстком диске.

MBR также содержит исполняемый код, который сканирует разделы на предмет активной ОС и инициализирует процедуру загрузки ОС.

Диск MBR допускает только четыре основных раздела. Если вам нужно больше, то можно назначить один из разделов расширенным разделом, и на нём можно создавать больше подразделов или логических дисков.

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

Преимущества

  • Совместима с большинством систем.
Недостатки
  • Допускает только четыре раздела, с возможностью создания дополнительных подразделов на одном из основных разделов.
  • Ограничивает размер раздела двумя терабайтами.
  • Информация о разделе хранится только в одном месте - в главной загрузочной записи. Если она повреждена, то весь диск становится нечитаемым.

Таблица разделов GUID (GPT)

GPT - более новый стандарт для определения структуры разделов на диске. Для определения структуры используются глобальные уникальные идентификаторы (GUID).

Это часть стандарта UEFI, то есть систему на основе UEFI можно установить только на диск, использующий GPT, например, таково требование функции Windows 8 Secure Boot.

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

Преимущества

  • Допускает неограниченное количество разделов. Лимит устанавливает операционная система, например, Windows допускает не более 128 разделов.
  • Не ограничивает размер раздела. Он зависит от операционной системы. Ограничение на максимальный размер раздела больше, чем объём любых существующих сегодня дисков. Для дисков с секторами по 512 байт поддерживается максимальный размер 9,4 ЗБ (один зеттабайт равен 1 073 741 824 терабайт)
  • GPT хранит копию раздела и загрузочных данных и может восстановить данные в случае повреждения основного заголовка GPT.
  • GPT хранит значения контрольной суммы по алгоритму циклического избыточного кода (CRC) для проверки целостности своих данных (используется для проверки целостности данных заголовка GPT). В случае повреждения GPT может заметить проблему и попытаться восстановить повреждённые данные из другого места на диске.
Недостатки
  • Может быть несовместима со старыми системами.

GPT против MBR

  • GPT допускает неограниченное количество основных разделов, в то время как MBR допускает только четыре основных, а остальные - дополнительные.
  • GPT позволяет создавать разделы любого размера, в то время как MBR имеет ограничение в 2 ТБ.
  • GPT хранит копию данных раздела, позволяя восстановить их в случае повреждения основного заголовка GPT; MBR хранит только одну копию данных раздела в первом секторе жёсткого диска, что может привести к потере всей информации в случае повреждении информации о разделах.
  • GPT хранит значения контрольной суммы для проверки, что данные не повреждены, и может выполнить необходимое восстановление из других областей диска в случае повреждения; MBR не имеет способа узнать о повреждении данных, вы можете узнать об этом только если компьютер откажется загружаться или исчезнет раздел.

Совместимость с операционными системами

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

MBR защищает данные GPT от перезаписи.

Apple MacBook"и используют GPT по умолчанию, так что невозможно установить Mac OS X на систему MBR. Даже хотя Mac OS X может работать на диске MBR, но установка на него невозможна. Я пыталась сделать это, но безуспешно.

Большинство операционных систем на ядре Linux совместимы с GPT. При установке ОС Linux на диск в качестве загрузчика будет установлен GRUB 2.

Для операционных систем Windows загрузка из GPT возможна только на компьютерах с UEFI, работающих под 64-битными версиями Windows Vista, 7, 8, 10 и соответствующими серверными версиями. Если вы купили ноутбук с 64-битной версией Windows 8, то с большой вероятностью там GPT.

Windows 7 и более ранние системы обычно устанавливают на диски с MBR, но вы всё равно можете преобразовать разделы в GPT, как будет рассказано ниже.

Все версии Windows Vista, 7, 8, 10 могут считывать и использовать данные из разделов GPT - но они не могут загружаться с таких дисков без UEFI.

Так GPT или MBR?

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

Проверьте тип раздела жёсткого диска

На каждом жёстком диске под Windows можно проверить тип разделов с помощью «Управления дисками» (Disk Management). Для запуска «Управления дисками» сделайте следующее:

Нажмите сочетание «горячих клавиш» Windows+R, откроется окно для запуска программ.

Наберите diskmgmt.msc и нажмите клавишу Enter.

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

В появившемся контекстном меню выберите «Свойства». Откроется окно со свойствами выбранного диска.

Перейдите на вкладку «Тома» и посмотрите на значение «Стиль раздела».

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

  1. Нажмите клавишу Windows, наберите cmd.exe , удерживая Ctrl и Shift, нажмите Enter.
  2. Подтвердите UAC-сообщение о повышении привилегий в системе.
  3. Наберите diskpart и нажмите Enter.
  4. Наберите list disk и снова нажмите Enter.

В списке перечислены все диски. В колонке Gpt указан стиль раздела для каждого диска. Если видите звёздочку в колонке, то это GPT, если её нет - это MBR.

Преобразование между MBR и GPT во время установки Windows

Есть два типичных сообщения об ошибке, которые могут возникнуть при установке Windows на жёсткий диск:
  • Ошибка № 1: «Windows не может быть установлена на этот диск. Выбранный диск не имеет стиль разделов GPT».
  • Ошибка № 2: «Windows не может быть установлена на этот диск. Выбранный диск имеет стиль разделов GPT».
Когда появляется одна из этих двух ошибок, то у вас может не быть возможности выбрать раздел для установки. Но это не значит, что с компьютером что-то не то.

Как вы уже знаете, MBR и GPT - это две абсолютно разные структуры разделов жёсткого диска. MBR - это традиционная структура разделов, а GPT - более новая.

Ошибка № 1 возникает, когда вы пытаетесь установить Windows на компьютер с UEFI, а раздел жёсткого диска не сконфигурирован для режима UEFI или совместимости с Legacy BIOS. Microsoft TechNet предлагает два варианта решения проблемы.

  1. Перезагрузить компьютер в режиме совместимости с Legacy BIOS. Этот вариант позволит сохранить текущий стиль раздела.
  2. Переформатировать диск под UEFI, используя стиль раздела GPT. Этот вариант позволит вам использовать функции прошивки UEFI. Переформатирование можно сделать самостоятельно, следуя инструкциям ниже. Всегда сохраняйте резервную копию данных перед форматированием.
Конечно, есть сторонние утилиты для преобразования дисков в GPT с сохранением данных, но всё равно безопаснее сделать резервную копию на случай, если утилита не сможет завершить преобразование.

Инструкции для преобразования жёсткого диска с MBR на GPT


С помощью Windows Setup

  1. Выберите нераспределённое пространство и нажмите «Далее». Windows определит, что компьютер загружен в режиме UEFI, и автоматически переформатирует диск с применением стиля раздела GPT. Процесс установки начнётся сразу после этого.
Преобразование вручную
  1. Выключите компьютер и вставьте загрузочный накопитель Windows (USB или DVD).
  2. Загрузитесь с него в режиме UEFI.
  3. Очистите диск: clean .
  4. Преобразование в GPT осуществляется командой convert gpt .

Инструкции для преобразования жёсткого диска с GPT на MBR

Иногда бывает необходимо преобразовать диск в структуру разделов MBR. Например, если во время установки Windows возникает такое сообщение об ошибке:

«Windows не может быть установлена на этот диск. Выбранный диск имеет стиль разделов GPT»

Загрузка с GPT поддерживается только в 64-битных версиях Windows Vista, 7, 8, 10 и соответствующих серверных версиях на UEFI-системах. Это сообщение об ошибке означает, что ваш компьютер не поддерживает UEFI, а поэтому вы можете использовать только BIOS, который работает со структурой разделов MBR.

Microsoft TechNet предлагает два варианта решения проблемы.

  1. Перезагрузить компьютер в режиме совместимости с BIOS. Этот вариант позволит сохранить текущий стиль раздела.
  2. Переформатировать диск, используя стиль раздела MBR. Всегда сохраняйте резервную копию данных перед форматированием. Хотя есть сторонние утилиты для преобразования дисков в GPT с сохранением данных, но всё равно безопаснее сделать резервную копию на случай, если утилита не сможет завершить преобразование.
Если вы выбрали второй вариант, то следуйте пошаговой инструкции:

С помощью Windows Setup

  1. Выключите компьютер и вставьте загрузочный накопитель Windows (USB или DVD).
  2. Загрузитесь с него в режиме UEFI.
  3. Выберите «Другое» (Custom) в типе установки.
  4. Появится экран с сообщением «Куда вы хотите установить Windows?» Выберите все разделы на диске и нажмите «Удалить».
  5. После успешного удаления диск будет представлять собой единую область нераспределённого пространства.
  6. Выберите нераспределённое пространство и нажмите «Далее». Windows определит, что компьютер загружен в режиме BIOS, и автоматически переформатирует диск с применением стиля раздела MBR. Процесс установки начнётся сразу после этого.
Преобразование вручную
  1. Выключите компьютер и вставьте загрузочный накопитель Windows (USB или DVD).
  2. Загрузитесь с него в режиме BIOS.
  3. Из установки Windows нажмите Shift+F10, чтобы открыть консоль. После каждой следующей команды нажимайте Enter.
  4. Запустите инструмент diskpart командой diskpart .
  5. Чтобы выбрать диск для преобразования, наберите list disk .
  6. Укажите номер диска для преобразования: select disk # .
  7. Очистите диск: clean .
  8. Преобразование в GPT осуществляется командой convert mbr .
  9. Наберите exit для выхода из diskpart.
  10. Закройте консоль и возвращайтесь к установке Windows.
  11. При выборе типа установки выберите «Другое». Диск будет представлять собой единую область нераспределённого пространства.
  12. Выберите нераспределённое пространство и нажмите «Далее». Windows начнёт установку.

Форматирование жестких дисков выполняется в три этапа:

    низкоуровневое форматирование (физическая разметка диска на цилиндры, дорожки, секторы);

    разбиение диска на разделы (логические устройства):

    высокоуровневое (логическое) форматирование каждого раздела.

На этапе низкоуровневого форматирования процессор, выполняя программу форматирования, поочередно передает в контроллер жесткого диска сначала команду "Поиск" для установки головок накопителя на нужный цилиндр, а затем посылает команду "Форматировать дорожку". Выполняя команду "Форматировать дорожку" контроллер жесткого диска, получив из накопителя импульс "Индекс" (начало дорожки), производит запись служебного формата дорожки, который разбивает ее на секторы. Каждый сектор содержит в себе блок данных (512 байт), обрамленный служебным форматом сектора (содержание к размер служебного формата определяется конкретной фирмой-разработчиком данного устройства). Служебный формат дорожки и секторов необходим контроллеру жесткого диска при выполнении команд. Читая и расшифровывая поля служебного формата, контроллер находит на диске нужный цилиндр, поверхность, сектор и блок данных внутри сектора. На следующих этапах форматирования в блоки данных ряда секторов записывается системная информация, которая обеспечивает организацию разделов на диске, автоматическую загрузку операционной системы и поддержку файловой системы на диске.

На этапе разбиения диска на разделы в блоке данных первого физического сектора диска (0 цилиндр, 0 поверхность, 1 сектор) с адреса 1BEh формируется таблица разделов (Partition table), состоящая из 4-х шестнадцатибайтных строк. Обычно системную информацию, записанную в блок данных этого сектора в процессе форматирования, называют Master Boot Record (MBR).

С самого начала блока данных этого сектора располагается программа (IPL 1). Переход на программу IPL 1 процессор осуществляет после успешного завершения POST и программы "Начального загрузчика", выполняя которую процессор загружает с диска в память MBR, и передает управление на начало MBR (на программу IPL 1), продолжая действия ведущие к загрузке операционной системы. Программа IPL 1 (загрузчик), находящаяся в MBR просматривает строки таблицы разделов в поисках активного раздела с которого возможна загрузка операционной системы. Если в таблице разделов нет активного раздела, выдается сообщение об ошибке. Если хотя бы один раздел содержит неправильную метку, либо несколько разделов помечены как активные, выдается сообщение об ошибке Invalid partition table, и процесс загрузки останавливается. Если активный раздел обнаружен, то анализируется загрузочный сектор этого раздела. Если найден только один активный раздел, то содержимое блока данных его загрузочного сектора (BOOT) читается в память по адресу 0000:7С00 и управление передается по этому адресу, если загрузочный сектор активного раздела не читается за пять попыток, выдается сообщение об ошибке: Error loading operating system и система останавливается; проверяется сигнатура считанного загрузочного сектора активного раздела и если последних два его байта не соответствуют сигнатуре 55AAh, выдается сообщение об ошибке: Missing operating system и система останавливается). Процессор читает по адресу 0000:7С00 команду JMP, выполняя ее, передает управление на начало программы IPL 2, которая осуществляет проверку, действительно ли раздел активный: IPL 2 проверяет имена и расширения двух файлов в корневом каталоге - это должны быть файлы IO.SYS и MSDOS.SYS (NTLDR для Windows NT), загружает их и. т. д.

Система Windows 9x во многом основана на тех же концепциях, что и DOS, но в ней эти концепции получили дальнейшее логическое развитие. Те же два системных файла IO.SYS и MSDOS.SYS, но теперь вся системная программа находится в IO.SYS , а второй файл MSDOS.SYS содержит ASCII-текст с установками, управляющими поведением системы при загрузке. Эквиваленты программ Himem.sys. Ifshlp.sys и Setver.exe автоматически загружаются программой IO.SYS при запуске системы. Как и прежде, для загрузки в память драйверов и резидентных программ можно использовать файлы Config.sys и Autoexec.bat, но загрузку 32-разрядных драйверов устройств, которые разработаны специально для Windows 9x, теперь обеспечивают записи в системном реестре. Когда вся предварительная работа выполнена, запускается файл Win.com, и Windows 9x загружается и предоставляет свои возможности через графическое меню.

Системный реестр является базой данных, в которой Windows 9x хранит информацию обо всех настройках, конфигурационных установках и параметрах, необходимых для работы ее собственных модулей и отдельных приложений. Системный реестр как бы выполняет функции Config.sys, Autoexec.bat и ini-файлов Windows 3.1 вместе взятых. На диске компьютера реестр хранится в виде двух отдельных файлов: System.dat и User.dat. В первом из них содержатся всевозможные аппаратные установки, а во втором - данные о работающих в системе пользователях и используемых ими конфигурациях. Каждый пользователь может иметь свой файл User.dat, т.е. собственную рабочую среду, которую он настраивает по своему вкусу и потребностям. Системный реестр можно импортировать, экспортировать, а также создавать его резервные копии и, используя их, восстанавливать сохраненные данные - одним словом, это довольно мощный механизм управления системными параметрами и их защиты от потерь и повреждений.

Таблица 3. Компоненты MBR

Область

Описание

Программа IPL 1 (программа загрузчика занимает зону от адреса 00h до 1BEh)

Код программы Сообщения об ошибках (Error Messages):

    Invalid Partition Table (неправильная таблица разделов).

    Error loading operating system (ошибка при загрузке операционной системы)

    Missing operating system (операционная система отсутствует).

Таблица разделения физического диска на логические устройства (Partition Tables) (4 строки по 16 байт = 64 байта) занимает зону с адреса 1BEh до 1FDh

1 строка (16 байт):

    Флаг загрузки (80h - активный / 00h -обычный раздел) - 1 байт

    Начальный физический сектор раздела (головка, сектор и цилиндр) - 3 байта

    Тип раздела -1 байт

    Конечный физический сектор раздела (головка, сектор и цилиндр) - 3 байта

    Число секторов предшествующих разделу - 4 байта

    Общее количество секторов в данном разделе - 4 байта

2 последних байта в блоке данных сектора с адреса 1FE по 1FF- концевая сигнатура (Ending Signature)

55АА - отмечает конец MBR. Проверяется программой начального загрузчика

Область MBR, изменившаяся в FAT32 - это Partition Table. Она, как и прежде, состоит из четырех 16-байтных записей. Каждая запись определяет раздел. В FAT32 введено 2 новых типа разделов DOS32 (0В) и DOS32X (ОС).

Что такое MBR?


Главная загрузочная запись (англ. master boot record , MBR ) - код и данные, необходимые для последующей загрузки операционной системы и расположенные в первых физических секторах (чаще всего в самом первом) на жёстком диске или другом устройстве хранения информации.

MBR содержит небольшой фрагмент исполняемого кода, таблицу разделов (partition table) и специальную сигнатуру.

Функция MBR - «переход» в тот раздел жёсткого диска, с которого следует исполнять «дальнейший код» (обычно - загружать ОС). На «стадии MBR» происходит выбор раздела диска, загрузка кода ОС происходит на более поздних этапах алгоритма.

В процессе запуска компьютера, после окончания начального теста (Power-on self-test - POST ), Базовая система ввода-вывода (BIOS ) загружает «код MBR» в оперативную память и передаёт управление находящемуся в MBR загрузочному коду.

Зачем необходимо делать дамп MBR?


Дамп MBR необходимо делать при заражении системы различными видами троянов-вымогателей класса MBR.Locker или загрузочных руткитов (буткитов ) для отправки хелперам или вирусным аналитикам для исследования и получения методов лечения.

Способы получения дампа MBR.


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

Так как использование компьютера при заражении системы троянами класса MBR.Locker невозможно по причине блокирования загрузки системы на начальном уровне, копировать загрузочную область мы будем с помощью LiveCD. LiveCD могут базироваться на основе ОС Windows (Windows PE 2.0, Windows PE 3.0, BartPE ), так и на основе Linux - таких абсолютное большинство от полных Live версий известных сборок, например Ubuntu, Fedora и проч, до специализированных мини-сборок таких, как диски восстановления от и специальные сборки для восстановления данных и работы с разделами жестких дисков.

Мы рассмотрим способы получения дампа с использованием Windows PE и Linux-based LiveCD от Лаборатории Касперского - Kaspersky Rescue Disk . Повторять все описанные действия и способы нет необходимости , выберите способ, который наиболее подходит для Вас. Итак приступим:

Получение дампа MBR с использованием LiveCD на основе Windows PE .


Для этого способа потребуется диск с записанным на него образом Windows PE , скачанным с интернета или созданным по (также можно собрать свой LiveCD с помощью конструкторов BartPE builder или UBCD4Win , для создания которых потребуется диск с дистрибутивом Windows XP ). Пользователи Windows Vista / Seven также могут воспользоваться , находящейся на установочном диске данных ОС (среда восстановления предустановленная на скрытых разделах жесткого диска, для нашей цели не подходит, так как доступ к ней будет заблокирован). Так же потребуется флеш-накопитель с записанной на него одной из утилит, которая и будет использоваться для копирования MBR в файл. Следует ответить, что при использовании загрузочных дисков на основе BartPE , флеш-накопитель следует подключить к компьютеру до начала загрузки (при использовании среды восстановления и загрузочных дисков Windows PE 2.0 / 3.0 флеш-накопитель подключать можно в любой момент времени).

!!! Внимание. Скачивание утилит и запись образов на CD необходимо производить на заведомо чистых системах.

____________________________________________________________

Получение дампа MBR с помощью утилиты get_mbr by thyrex


!!! Внимание. Данный способ не сработает, если повреждена таблица разделов .

!!! Внимание. Некоторые антивирусы

В UNIX системах есть одна очень древняя команда, которая называется dd. Она предназначена для того, чтобы что-то куда-то копировать побайтово. На первый взгляд - ничего выдающегося, но если рассмотреть все возможности этого универсального инструмента, то можно выполнять довольно сложные операции без привлечения дополнительного ПО, например: выполнять резервную копию MBR, создавать дампы данных с различных накопителей, зеркалировать носители информации, восстанавливать из резервной копии данные на носители и многое другое, а, при совмещении возможностей dd и поддержке криптографических алгоритмов ядра Linux, можно даже создавать зашифрованные файлы, содержащие в себе целую файловую систему.
Опять же, в заметке я опишу самые часто используемые примеры использования команды, которые очень облегчают работу в UNIX системах.

Начну с небольшого примера, наглядно иллюстрирующего основные параметры команды:

# dd if=/dev/urandom of=/dev/null bs=100M count=5

Параметры:

  • if: указывает на источник, т.е. на то, откуда копируем. Указывается файл, который может быть как обычным файлом, так и файлом устройства.
  • of: указывает на файл назначения. То же самое, писать можем как в обычный файл, так и напрямую в устройство.
  • bs: количество байт, которые будут записаны за раз. Можно представлять этот аргумент как размер куска данные, которые будут записаны или прочитаны, а количество кусков регулируется уже следующим параметром.
  • count: как раз то число, которое указывает: сколько кусочков будет скопировано.
Таким образом, описанная команда читает 5*100 мегабайт из устройства /dev/urandom в устройство /dev/null. Придавая этой команде смысловую нагрузку получается, что система сгенерирует 500 мегабайт случайных значений и запишет их в null устройство. Конечно, единственное, что сделает эта команда: нагрузит процессор на несколько секунд. Рассмотрим примеры из практики:

Создание образа диска:

# dd if=/dev/cdrom of=image.iso

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

# dd if=/dev/cdrom of=image.iso conv=noerror

Параметр «conv» позволяет подключать несколько фильтров, применимых к потоку данных. Фильтр «noerror» как раз отключает остановку работы программы, когда наткнется на ошибку чтения. Таким образом, некоторые данные с диска все же можно будет прочитать. Точно таким образом я спас данные со своей флешки Corsair, которую погнули: подобрал подходящее положение, когда контакт есть, и сделал дамп файловой системы.
Подключить, кстати, такие образы можно при помощи команды mount с ключем "-o loop":

# mount -o loop image.iso /mnt/image

Если что-то не получается, процесс разбивается на 2 уровня:

# losetup -e /dev/loop0 image.iso

Если и так не работает, значит файловая система образа полетела.

Работа с носителями информации

Очень простое, хоть и не оптимальное решение клонирования жесткого диска:

# dd if=/dev/sda of=/dev/sdb bs=4096

Все то же побайтовой копирование с размером буфера 4 Кб. Минус способа в том, что при любой заполненности разделов копироваться будут все биты, что не выгодно при копировании разделов с маленькой заполненностью. Чтобы уменьшить время копирования при манипуляции с большими объемами данных, можно просто перенести MBR на новый носитель (я ниже опишу как), перечитать таблицу разделов ядра (при помощи того же fdisk), создать файловые системы и просто скопировать файлы (не забыв сохранить права доступа к файлам).

Как вариант, можно даже по расписанию делать бекап раздела по сети. Разрулив ключи ssh будет работать такая схема:

# dd if=/dev/DEVICE | ssh user@host «dd of=/home/user/DEVICE.img».

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

# dd if=/dev/zero of=/dev/DEVICE

Думаю, понятно на что нужно заменить DEVICE. После проведения лекций по Linux, я очень тщательно стал следить за тем, что пишу.
Проверить можно тем же dd, но преобразовав данные в hex:

# dd if=/dev/sda | hexdump -C

Должны посыпаться нули.

Операции с MBR

MBR расположена в первых 512 байтах жесткого диска, и состоит из таблицы разделов, загрузчика и пары доп. байт. Иногда, ее приходится бекапить, восстанавливать и т.д. Бекап выполняется так:

# dd if=/dev/sda of=mbr.img bs=512 count=1

Восстановить можно проще:

# dd if=mbr.img of=/dev/sda

Причины этих махинаций с MBR могут быть разные, однако хочу рассказать одну особенность, взятую из опыта: после восстановления давней копии MBR, где один из разделов был ext3, а позже стал FAT и использовался Windows, раздел перестал видиться виндой. Причина - ID раздела, который хранится в MBR. Если UNIX монтирует файловые системы согласно суперблоку, то винды ориентируются на ID разделов из MBR. Поэтому всегда нужно проверять ID разделов при помощи fdisk, особенно если на компьютере есть винды.

Генерация файлов

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

# dd if=/dev/zero of=image.crypted bs=1M count=1000

Создался файл размером почти в гигабайт. Теперь нужно сделать этот файл блочным устройством и, при этом, пропустить его через механизм шифрования ядра linux. Я выберу алгоритм blowfish. Подгрузка модулей:

# modprobe cryptoloop
# modprobe blowfish

Ассоциация образа с блочным устройством со включенным шифрованием:

# losetup -e blowfish /dev/loop0 image.crypted

Команда запросит ввести пароль, который и будет ключем к образу. Если ключ введен не правильно, система не смонтируется. Можно будет заново создать данные в образе, используя новый ключ, но к старым данным доступа не будет.
Создаем файловую систему и монтируем:

# mkfs.ext2 /dev/loop0
# mount /dev/loop0 /mnt/image

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

# umount /dev/loop0
# losetup -d /dev/loop0

Теперь шифрованный образ готов.

Основные идеи я расписал, однако множество задач, которые можно решить при помощи маленькой программки, имя которой состоит из двух букв, намного шире. Программа «dd» - яркий пример того, что IT"шники называют «UNIX way»: одна программа - часть механизма, выполняет исключительно свою задачу, и выполняет ее хорошо. В руках человека, который знает свое дело, которому свойственен не стандартный подход к решению задачи, такие маленькие программки помогут быстро и эффективно решать комплексные задачи, которые, на первый взгляд, должны решать крупные специализированные пакеты.

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

Предыстория

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

Поиск осуществляется с помощью базовой системы ввода-вывода (basic input/output system, сокращенно BIOS), в этом ей помогает MBR.

Концепция MBR

MBR (Master Boot Record) в переводе на русский «Главная загрузочная запись» - это первый сектор (самые первые 512 байт участка памяти) носителя информации (будь то жесткий диск (HDD) или твердотельный накопитель (SSD)). Предназначен MBR для нескольких функций:

  1. Содержит код и данные (446 байт - начальный загрузчик) которые необходимы BIOS, для начала загрузки ОС.
  2. Содержит информацию о разделах жесткого диска (4 первичных раздела по 16 байт каждый). Эта информация называется таблица разделов (Partition Table).
  3. Стража (0xAA55, размер - 2 байта).

Процесс загрузки ОС

Загрузка операционной системы после включения компьютера - многоступенчатый процесс. Большинство ПК на сегодняшний день подготавливают свою аппаратную часть к работе с помощью прошивки BIOS. Во время старта BIOS инициализирует системные устройства, затем ищет загрузчик в MBR первого устройства хранения (HDD, SDD, DVD-R диск или USB-накопитель) или на первом разделе устройства (поэтому, для того чтобы выполнить загрузку с другого накопителя, нужно ).

Далее BIOS передает управление загрузчику, который считывает информацию из таблицы разделов и готовится загрузить ОС. Завершает процесс наш страж - специальная сигнатура 55h AАh, которая идентифицирует главную загрузочную запись (загрузка ОС началась). Сигнатура находится в самом конце первого сектора, в котором расположен MBR.

Недостатки

Технология MBR впервые была применена в 80-х годах еще в первых версиях DOS. По прошествии времени MBR была отшлифована и обкатана со всех сторон. Она считается простой и надежной. Но при росте вычислительных мощностей, выросла и потребность в больших объемах памяти носителей. С этим возникли сложности, так как технология MBR поддерживает работу накопителей объемом только до 2,2 ТБ. Также, MBR не может поддерживать более 4 основных разделов на одном диске.

Особенности

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

  1. GPT не ограничивает свой объем в одном секторе (512 байт).
  2. Для таблицы разделов в Windows резервируется 16 384 байт (если используется сектор в 512 байт, то по подсчетам доступно 32 сектора).
  3. GPT имеет функцию дублирования - оглавление и таблица разделов записаны в начале и в конце диска.
  4. Количество разделов не ограничено, но технически сейчас существует ограничение в 2 64 раздела из-за разрядности полей.
  5. Теоретически GPT позволяет создавать разделы диска (при размере сектора в 512 байт; если размер сектора больше, то и размер раздела больше) размером до 9,4 ЗБ (это 9,4×10 21 байт; чтобы лучше представлялось, размер раздела носителя информации мог бы иметь такой объем, как вмещают в себя 940 миллионов дисков по 10 ТБ каждый). Этот факт сметает на нет проблему ограничения носителей информации в 2,2 ТБ под управлением MBR.
  6. GPT позволяет назначить разделам уникальный 128-битный идентификатор (GUID), имена, атрибуты. Благодаря использования стандарта кодирования символов юникод, разделы могут быть названы на любом языке и сгруппированы по папкам.

Этапы загрузки ОС

Загрузка ОС происходит совсем не так, как в BIOS. UEFI не обращается для загрузки Windows к коду MBR, даже если он есть. Вместо этого используется специальный раздел на винчестере, который называется «EFI SYSTEM PARTITION». В нем располагаются файлы, которые необходимо запустить для загрузки.

Загрузочные файлы хранятся в директории /EFI/<ИМЯ ВЛАДЕЛЬЦА>/. Это значит, что UEFI имеет собственный мультизагрузчик, который позволяет в разы быстрей определять и загружать нужные приложения (в BIOS MBR для этого требовались сторонние программы). Процесс загрузки UEFI происходит следующим образом:

  1. Включение компьютера → проверка аппаратного обеспечения.
  2. Загружается прошивка UEFI.
  3. Прошивка загружает диспетчер загрузки, который определяет, с каких дисков и разделов будут загружены UEFI приложения.
  4. Прошивка запускает UEFI приложение с файловой системой FAT32 раздела UEFISYS, как это указано в загрузочной записи менеджера загрузки микропрограммы.

Недостатки

Недостатки у GPT имеются, и самый ощутимый из них - нет поддержки технологии в предшевствующих устройствах, использующих прошивку BIOS. ОС семейства Windows умеют различать и работать с GPT разделом, но не все могут с него загрузится. Приведу наглядный пример в таблице.

Операционная система Разрядность Чтение, запись
Windows 10 x32 + +
x64 + +
Windows 8 x32 + +
x64 + +
Windows 7 x32 + -
x64 + +
Windows Vista x32 + -
x64 + +
Windows XP Professional x32 - -
x64 + -

Также, среди недостатков GPT можно выделить:

  1. Невозможно назначить имя всему диску, как отдельным разделам (есть только свой GUID).
  2. Идет привязка раздела к его номеру в таблице (сторонние загрузчики ОС предпочитают использовать номер вместо имен и GUID).
  3. Дубликаты таблиц (Primary GPT Header и Secondary GPT Header) строго ограничены в количестве 2 штук и имеют зафиксированные позиции. В случае повреждения носителя и наличия ошибок, этого может быть недостаточно для восстановления данных.
  4. Эти 2 копии GPT (Primary и Secondary GPT Header) взаимодействуют друг с другом, но не позволяют удалить и перезаписать контрольную сумму в случае, если она в одной из копий не верна. Это значит, что не предусмотрена защита от на уровне GPT.

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

Сравнение двух технологий

Хоть и концепции MBR и GPT достаточно отличаются друг от друга, постараюсь сравнить их в общих чертах.

Также наглядно сравните загрузку ОС посредством старой и новой технологии.

Заключение

Прежде чем решить, что лучше GPT или MBR, поставьте перед собой следующие вопросы:

  1. Я буду использовать диск с нужным мне разделом для хранения данных или как системный для загрузки Windows?
  2. Если как системный, то какую Windows я буду использовать?
  3. На моем компьютере стоит прошивка BIOS или UEFI?
  4. Объем моего жесткого диска менее 2 ТБ?

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

P.S. Материнские платы, что печатаются сейчас, оснащаются прошивкой UEFI. Если у вас такая, предпочтительно использовать разделы со стилем GPT (но опять таки, смотря какие цели вы преследуете). Со временем BIOS уйдет в прошлое и рано или поздно, но большинство компьютеризированных устройств будут работать с накопителями используя GPT.