Почему при работе с mbr нам нужно обращаться к физическому а не к логическому диску
Вы когда-нибудь задумывались о том, как загружается компьютер? Независимо от аппаратуры и операционной системы, все компьютеры при загрузке используют или традиционный метод BIOS-MBR, или более современный UEFI-GPT, реализованный в последних версиях ОС.
В этой статье мы сравним структуры разделов GPT и MBR; GPT означает GUID Partition Table, а MBR — Master Boot Record. Начнём с того, что разберём сам процесс загрузки.
В следующих главах выделяются различия между стилями разделов GPT и MBR, в том числе приводятся инструкции, как осуществить преобразование между двумя стилями, и советы, какой из них выбрать.
Когда вы нажимаете кнопку питания на своём ПК, стартует процесс, который в итоге приведёт к загрузке операционной системы в память. Первая команда зависит от того, какова структура разделов на вашем жёстком диске.
Если два вида структур разделов: MBR и GPT. Структура разделов на диске определяет три вещи:
- Структура данных на диске.
- Код, который используется при загрузке, если раздел загрузочный.
- Где начинается и заканчивается раздел.
Загрузочная программа Grub
MBR содержит таблицу, которая отличается от одного диска к другому, поскольку разделы не имеют одинакового размера с сектором. Чтобы дублировать загрузочную программу, например, для Grub, таблицы MBR разделов с диска 1 на 2, нельзя копировать его непосредственно во второй, так как при перезаписи потеряется все.
- Содержит таблицу из 4 разделов диска.
- Не имеет логических разграничений.
- Из 4 основных только один может быть расширенным.
- Если на диске создается расширенный логический раздел, то он сохраняется в первом секторе.
На жестком диске есть две таблицы:
- MAIN, сохраненная в первом секторе, которая находится на выбранном диске таблицы MBR разделов.
- Таблица логических разделов, сохраненная в первом секторе в середине диска.
Процесс загрузки MBR
Вернёмся к процессу загрузки. Если в вашей системе используется структура разделов MBR, то первый процесс выполнения загрузит BIOS. Базовая структура ввода-вывода (Basic Input/Output System) включает в себя микропрограмму загрузчика. Микропрограмма загрузчика содержит низкоуровневые функции, такие как ввод с клавиатуры, доступ к видеодисплею, осуществление дисковых операций ввода-вывода и код для загрузки начальной стадии загрузчика. До того как BIOS может определить загрузочное устройство, он выполняет последовательность функций системной конфигурации, начиная со следующих:
- Самотестирование при включении питания.
- Обнаружение и инициализация видеокарты.
- Отображение стартового экрана BIOS.
- Осуществление быстрой проверки памяти (RAM).
- Конфигурация устройств plug and play.
- Определение загрузочного устройства.
- Первая стадия загрузчика (446 байт).
- Таблица разделов диска (16 байт на раздел × 4 раздела) — MBR поддерживает только четыре раздела, подробнее об этом ниже.
- Подпись (2 байта).
VBR обычно содержит начальный загрузчик программ — Initial Program Loader (IPL), этот код инициирует процесс загрузки. Начальный загрузчик программ включает в себя вторую стадию загрузчика, который затем загружает операционную систему. На системах семейства Windows NT, таких как Windows XP, начальный загрузчик программ сначала загружает другую программу под названием NT Loader (аббревиатура NTLDR), которая затем загружает операционную систему.
Для операционных систем на ядре Linux используется загрузчик GRUB (Grand Unified Bootloader). Процесс загрузки похож на описанный выше, единственная разница в наименовании загрузчиков на первой и второй стадии.
В GRUB первая стадия загрузчика называется GRUB Stage 1. Она загружает вторую стадию, известную как GRUB Stage 2. Вторая стадия загружает получает список операционных систем на жёстких дисках и предоставляет пользователю список для выбора ОС для загрузки.
Резервное копирование
Во избежание дополнительных проблем с чтением резервной копии необходимо сохранять таблицу. Из всей информации, содержащейся в дескрипторах по 16 байт в MBR, только следующие 3 представляют интерес и позволят сохранить или восстановить основные разделы:
- абсолютное число в LBA первого;
- размер разбиения на сектора;
- тип раздела (шестнадцатеричное число от 0x00 до 0xFF).
Чтобы сохранить основную, необходимо указать тип, начало и размер каждого из 4 разделов. Например, для MAXTOR объемом 80 Гб используют следующую схему.
Hdb1 начинается в 63, а не в первом. Это означает, что с 1 по 62 сектор не используются на диске, что подтверждает команда fdisk v.
Восстановление процедуры загрузки
Под ОС Windows XP можно воссоздать процедуру загрузки MBR под DOS с помощью команды FIXMBR. Master Boot Record переписывают, что устраняет загрузочные вирусы, восстанавливает повреждения, когда ПК больше не загружается или удален загрузчик. Чтобы сохранить и восстановить MBR под Windows, нужно использовать программу отладки. В UNIX и Linux используется команда dd. Необходимо сохранять и восстанавливать только первый сектор, первые 512 байт диска.
Восстанавливать MBR с одного жесткого диска на другой очень рискованно, так как при этом таблица разделов второго будет заменена первым. Единственное исключение из этого правила возможно, когда обе машины имеют строго одинаковую конфигурацию оборудования, особенно, если жесткие диски одинаковы и их разбиение равнозначно.
В Windows Vista для восстановления используется команда bootrec / FixMbr. Это доступно из консоли восстановления. Следует отметить, что если первоначальная MBR указывала на загрузчик Linux (GRUB, LILO), она становится недоступной после этого сбоя. Затем он должен загрузиться с компакт-диска Linux (установка / восстановление) и, таким образом, восстановить его.
MBR и GPT . Что такое GPT?
GPT — GUID (Globally Unique Identifier) Partition Table — таблица разделов глобально (статически) уникального идентификатора. Выражаясь технически, GPT использует более современную систему адресации логических блоков, что позволяет не просто преодолеть планку в 2,2 Тб, но и создавать и успешно обрабатывать диски объёмом чуть более 9 зеттабайт, то есть об ограничении по объёму для создаваемому разделу можно забыть. Кроме того, GPT более надежна, ибо оглавление и таблица разделов диска записаны и в начале, и в конце диска. Если один из них повреждён, второй восстанавливается по образу и подобию уцелевшего. Это отнимает определённое «жизненное» пространство у винчестера, а, следовательно, и у нас с вами, так что небольших объёмов диски вполне жизнеспособны одновременно с MBR и GPT . GPT имеет смысл целенаправленно ставить только на дисках с объёмом от 500 Гбайт (лучше ещё больше).
Далее, благодаря нововведениям, теперь и само количество разделов на винчестере неограниченно. 128 версий операционных систем Windows на одном компьютере не имеют, конечно, смысла, но в некоторых случаях установка сразу нескольких операционных систем разных поколений вполне оправдана. Хотя, говоря про разные поколения, я имею ввиду только последние версии Windows, начиная с Vista. Да, ОС до XP в 32-х битной версии включительно GPT не поддерживаются. И, конечно, не забудьте о проблеме порогового значения в 2 Тбайта, если вы являетесь счастливым обладателем таких объёмов информации. Вот здесь и начинает всплывать вопрос о конвертировании обратно в MBR, который я рассмотрю чуть позже. Единственное, о чём я упомяну сразу — что вопросы о таблице разметки винчестера ( MBR и GPT ) и установленном базовом программном обеспечении материнской платы (BIOS или UEFI) в процессе установки операционной системы стоят в неразрывной связи.
Структура GPT
В современных компьютерах на смену BIOS пришла новая спецификация UEFI, а вместе с ней и новое устройство разделов на жестком диске — GUID Partition Table (GPT). В этой структуре были учтены все недостатки и ограничения, накладываемые MBR, и разработана она была с большим запасом на будущее.
Кроме того, в отличие от MBR, структура GPT хранит на диске две своих копии, одну в начале диска, а другую в конце. Таким образом, в случае повреждения основной структуры, будет возможность восстановить ее из сохраненной копии.
Рассмотрим теперь устройство структуры GPT подробнее. Вся структура GPT на жестком диске состоит из 6 частей:
LBA-адрес | Размер (секторов) | Назначение |
LBA 0 | 1 | Защитный MBR-сектор |
LBA 1 | 1 | Первичный GPT-заголовок |
LBA 2 | 32 | Таблица разделов диска |
LBA 34 | NN | Содержимое разделов диска |
LBA -34 | 32 | Копия таблицы разделов диска |
LBA -2 | 1 | Копия GPT-заголовка |
Защитный 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-заголовка:
Смещение (байт) | Размер поля (байт) | Пример заполнения | Название и описание поля |
0x00 | 8 байт | 45 46 49 20 50 41 52 54 | Сигнатура заголовка. Используется для идентификации всех EFI-совместимых GPT-заголовков. Должно содержать значение 45 46 49 20 50 41 52 54, что в виде текста расшифровывается как "EFI PART". |
0x08 | 4 байта | 00 00 01 00 | Версия формата заголовка (не спецификации UEFI). Сейчас используется версия заголовка 1.0 |
0x0C | 4 байта | 5C 00 00 00 | Размер заголовка GPT в байтах. Имеет значение 0x5C (92 байта) |
0x10 | 4 байта | 27 6D 9F C9 | Контрольная сумма GPT-заголовка (по адресам от 0x00 до 0x5C). Алгоритм контрольной суммы — CRC32. При подсчёте контрольной суммы начальное значение этого поля принимается равным нулю. |
0x14 | 4 байта | 00 00 00 00 | Зарезервировано. Должно иметь значение 0 |
0x18 | 8 байт | 01 00 00 00 00 00 00 00 | Адрес сектора, содержащего первичный GPT-заголовок. Всегда имеет значение LBA 1. |
0x20 | 8 байт | 37 C8 11 01 00 00 00 00 | Адрес сектора, содержащего копию GPT-заголовка. Всегда имеет значение адреса последнего сектора на диске. |
0x28 | 8 байт | 22 00 00 00 00 00 00 00 | Адрес сектора с которого начинаются разделы на диске. Иными словами — адрес первого раздела диска |
0x30 | 8 байт | 17 C8 11 01 00 00 00 00 | Адрес последнего сектора диска, отведенного под разделы |
0x38 | 16 байт | 00 A2 DA 98 9F 79 C0 01 A1 F4 04 62 2F D5 EC 6D | GUID диска. Содержит уникальный идентификатор, выданный диску и GPT-заголовку при разметке |
0x48 | 8 байт | 02 00 00 00 00 00 00 00 | Адрес начала таблицы разделов |
0x50 | 4 байта | 80 00 00 00 | Максимальное число разделов, которое может содержать таблица |
0x54 | 4 байта | 80 00 00 00 | Размер записи для раздела |
0x58 | 4 байта | 27 C3 F3 85 | Контрольная сумма таблицы разделов. Алгоритм контрольной суммы — CRC32 |
0x5C | 420 байт | 0 | Зарезервировано. Должно быть заполнено нулями |
Система UEFI проверяет корректность GPT-заголовка, используя контрольный суммы, вычисляемые по алгоритму CRC32. Если первичный заголовок поврежден, то проверяется контрольная сумма копии заголовка. Если контрольная сумма копии заголовка правильная, то эта копия используется для восстановления информации в первичном заголовке. Восстановление также происходит и в обратную сторону — если первичный заголовок корректный, а копия неверна, то копия восстанавливается по данным из первичного заголовка. Если же обе копии заголовка повреждены, то диск становится недоступным для работы.
У таблицы разделов дополнительно существует своя контрольная сумма, которая записывается в заголовке по смещению 0x58. При изменении данных в таблице разделов, эта сумма рассчитывается заново и обновляется в первичном заголовке и в его копии, а затем рассчитывается и обновляется контрольная сумма самих GPT-заголовков.
Таблица разделов диска
Следующей частью структуры GPT является собственно таблица разделов. В настоящее время операционные системы Windows и Linux используют одинаковый формат таблицы разделов — максимум 128 разделов, на каждую запись раздела выделяется по 128 байт, соответственно вся таблица разделов займет 128*128=16384 байт, или 32 сектора диска.
Помните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? На смену уже давно пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).
Предыстория: Понадобилось мне недавно на свой домашний десктоп поставить 2 системы, чтобы разграничить окружение. Kubuntu для разработки на Ruby on Rails (ибо работаю удаленно), и Windows для всяких игрушек в свободное время. Хочу заметить, что несколько лет назад это было достаточно просто: один раздел для винды и один раздел для линукса, загрузчик записывался в MBR. Однако, технологии не стоят на месте, и оказалось, что настройка dual boot'а теперь несколько изменилась.
Итак, начнем.
Терминология
UEFI (Unified Extensible Firmware Interface, Единый расширяемый интерфейс прошивки) разрабатывался компанией Intel как замена BIOS (Basic Input Output System). В отличие от 16-битного BIOS'а UEFI работает в 32- или 64-битном режиме, что позволяет использовать намного больше памяти для сложных процессов. Кроме того, UEFI приятно выглядит и там есть поддержка мышки.
- Количество разделов: MBR поддерживает только 4 раздела. Можно и больше, но только через extended partition, что является просто хаком ограничений. GPT поддерживает до 128 разделов.
- Размер диска: MBR поддерживает диски до 2Тб, в то время как GPT — до 9.4 Зеттабайт (=9.4 × 10^21 байт, или условно 1000 Тб)
- Порядок загрузки: раньше BIOS загружал MBR, и в нем содержались адреса загрузчиков для каждого раздела диска. Теперь UEFI считывает GPT, находит в таблице все разделы типа efi (на них содержатся загрузчики), и подгружает их в память. Разберем это на примере немного позже.
Что делаем:
- Windows 8.1 x64. Windows поддерживает загрузку с GPT начиная с Windows 8 для 32 битной архитектуры и с Windows Server 2003 и Windows Vista для 64 бит (Источник).
- Kubuntu 15.04. По идее подойдет любой дистрибутив, который поддерживает Grub2, лично я предпочитаю Kubuntu.
Разбивка диска
Сначала устанавливаем Windows 8, т.к. она автоматически будет использовать GPT.
Разбивка будет выглядеть так (пардон за кривой снимок):
- Recovery (300Мб). Очевидно, что он используется для восстановления системы. Оставим как есть.
- EFI partition (100Мб). Помечается как system type (не любят в Майкрософте называть вещи своими техническими именами). Собственно сюда и пишутся загрузчики.
- MSR (128Мб, Microsoft Reserved Partition). Для меня остается загадкой, зачем он нужен. Данных там никаких нет, просто пустое место, зарезервированное для каких-то непонятных целей в будущем.
- Основной раздел. Мы его поделим на 3: 200 гигов под винду, 500 гигов для раздела под данные и остальное пространство пока оставим неразмеченным (отформатируем потом при установке Kubuntu).
Пропустим саму установку Windows, т.к. в ней все стандартно и понятно.
Теперь загрузимся с USB в Kubuntu Live.
Проверим EFI раздел:
Boot0000 — виндовый загрузчик
Boot0001 — дефолтный загрузчик
Boot0003 — флешка с Kubuntu Live
Обратите внимание, что список загрузчиков не привязан к одному физическому диску как в MBR. Он хранится в NVRAM.
Можем также сразу посмотреть, что же в этом разделе, подмонтировав его:
Там окажутся следующие файлы:
Убедились, что все хорошо. Теперь продолжаем разбивку диска (через KDE Partition Manager).
- sda2 определился как FAT32. Это практически верно, т.к. файловая система типа EFI основана на FAT, только с жесткими спецификациями.
- sda3 (MSR) не определился, т.к. файловой системы там так таковой нет.
Нам осталось только отформатировать раздел для Kubuntu в ext4, и выделить раздел под swap.
Несколько слов про swap. Рекомендуют на swap выделять от SQRT(RAM) до 2xRAM. Т.к. у меня 16 Гб RAM, то по минимуму мне надо 4 Гб свопа. Хотя я с трудом могу представить ситуации, при которых он будет использоваться: десктоп в hibernate я не перевожу, и сильно тяжелых программ, которые жрут больше 16 гигов, не использую.
P.S. При форматировании раздела в swap Partition Manager может выдать ошибки, которые связаны с тем, что Kubuntu автоматически монтирует в себя любой swap раздел, однако на результат эти ошибки не влияют.
Итак, финальная разбивка:
Теперь самое главное для правильного dual boot'а. При установке Kubuntu важно выбрать, куда установить загрузчик:
Указываем, конечно же на раздел EFI.
После завершения установки Kubuntu, заходим в систему и проверяем, какие файлы появились на efi разделе (монтировать уже не нужно):
Смотрим, как теперь выглядит список загрузчиков:
Вот как это выглядит при загрузке:
А еще эти загрузчики доступны сразу из UEFI (в старом BIOS'е такое было бы невозможно — там был выбор только диска, он просто не знал, что такое загрузчики):
Ну и напоследок: чтобы dual boot правильно работал, в Windows надо обязательно отключить fast boot. Это такая нехорошая фича, которая может привести к потере данных.
При выключении компьютера Windows сохраняет файловую структуру NTFS разделов в файл (видимо, потому что один файл прочитать быстрее, чем сканировать много разных файлов). Если записать файл на NTFS раздел через линукс, и потом загрузиться в Windows, то Windows просто не увидит файл. Источник
Если выключить комп через Windows, и потом попытаться загрузить Linux, то он просто не запустится из-за «ошибки» NTFS. Источник
Windows предлагает нам 2 опции: Master Boot Record (MBR) — Главная Загрузочная Запись — и Globally Unique Identifier Partition Table (GPT) — Глобально Уникальный Идентификатор Таблицы Разделов. Последняя получила поддержку, начиная с версий Vista/Windows Server 2008 . Однако Windows XP 64-х битная тоже поддерживала этот формат. MBR – она же Master Boot Record – это основная загрузочная запись на жёстком диске. Находится она в самом начале винчестера, то есть в первых секторах жёсткого диска. Его задача – выбрать раздел диска, в котором будет загружаться операционная система (собственно, главная загрузочная запись для этого и была создана). Это делается с помощью короткого исполняющего кода, который BIOS после самодиагностики, выгружает в оперативную память. Далее исполняющий код в MBR берёт бразды правления в свои руки и загружает ОС в указанном разделе жёсткого диска (информация о разделах также содержится в загрузочной записи). Кстати, именно поэтому главную загрузочную запись нельзя создать на диске, который нельзя разделить на части и наоборот, её можно создать там, где возможно деление носителя данных на несколько дисковых, пусть и виртуальных, устройств.
Если MBR повреждён, операционная система не запустится никогда. Если повреждена не только запись MBR, но и сектор с главной загрузочной записью – диск можно использовать только как подставку для чашек или разломать на магнитики и дать поиграть ребёнку.
Освоение содержимого жесткого диска
Чтобы восстановить основную таблицу разделов, используют GRUB либо из командной строки при запуске ПК, либо загрузившись с дискеты, содержащей Grub, запустив его в оболочке Linux. Когда он представляет меню загрузочных систем (Linux, Windows), нажимают «С», чтобы перейти к командной строке.
Клавиша TAB показывает на экране все команды, которые можно использовать в Grub. Среди них есть функция partnew, которая создает новый раздел. На самом деле она ничего не делает, кроме записи (перезаписи) одного из 4 дескрипторов в MBR.
Синтаксис partnew: partnew partition type début taille,
- Partition - это раздел для восстановления в форме (hd0,0) или (hd0,1) или (hd1,0). Grub начинает нумерацию дисков с нуля. Например, (hd0,0) представляет hda1 для Linux. Аналогично, Linux hdb3 будет представлен, как (hd1,2).
- Type - тип раздела в виде шестнадцатеричного числа (с префиксом 0x) на 1 байт.
- Début - абсолютный номер LBA первого сектора.
- Taille - представляет размер сектора.
Например, чтобы восстановить 4 раздела MAXTOR объемом 80 Гб, на данном диске находится таблица MBR разделов, поэтому набирают следующие 4 команды:
- grub> partnew (hd1,0) 0x83 63 7180992;
- grub> partnew (hd1,1) 0x82 7181055 1076355;
- grub> partnew (hd1,2) 0xc 8257473 73674027;
- grub> partnew (hd1,3) 0x83 81931563 78140097.
Чтобы воспроизвести таблицу, сохраненную в MBR, используют команду: grub> geometry (hd1).
Затем Grub возвращает тип каждого первичного раздела, а также общее количество секторов на диске в LBA, но не дает характеристики (начало и размер) каждого раздела, поэтому позволяет войти в таблицу.
По желанию Grub позволяет вводить информацию из места, где на данном разделе находится таблица MBR в дескрипторы. Это также «опустошает» один или несколько из 4 дескрипторов ОС Linux, DOS, Виндовс.
Как узнать, какая версия таблицы у меня?
Проверить, как всегда, легко. Зажимаем клавиши Windows + R, вводим команду diskmgmt.msc. В окне консоли выберем слева Управление дисками. Выберите любой из разделов, щёлкните правой кнопкой мыши и нажмите Свойства (это же окно можно обнаружить прямо из Проводника системы со списком локальных дисков):
В окне из присутствующих дисков (там все) выберите интересующий жёсткий и снова дважды по нему щёлкните. Появится окно свойств для конкретного диска, где вы найдёте вкладку Тома. В ней найдём кнопку Заполнить:
Можно зайти с другой стороны. Утилита Diskpart от Windows нам покажет формат таблицы безошибочно. В консоли от имени администратора набираем последовательно команды:
И что видим? Под идентификатором GPT ничего нет, значит этот стиль раздела отношения к данному диска никакого не имеет:
Основная загрузочная запись - это традиционный способ хранения информации на жестком диске вместе с некоторым загрузочным кодом. То есть таблица содержится внутри MBR, которая хранится в секторе №1: цилиндр 0/головка 0/сектор 1 или, альтернативно, LBA 0.
Персональные компьютеры по-прежнему используют этот загрузочный стандарт диска с информацией о разделах на нем. Традиционные таблицы разделов MBR в современном мире технически устарели, потому что 32-разрядная структура полей LBA начинает «переполняться» при работе с 2 Тб дисками. Одной из возможных ее замен является GPT.
А какая мне-то разница?
Если у вас не мультизагрузка, то почти никакой. Как вы уже поняли, современные операционные системы семейства Windows замечательно работают под управлением обеих файловых таблиц. Просто при установке операционных систем или рассмотрении варианта мультизагрузочной версии (вам понадобится MBR) компьютера пользователю нужно помнить несколько моментов:
- GPT — более современная
- GPT будет требовать от Windows, чтобы та загружалась только в UEFI режиме (про прежние загрузчики придётся забыть)
- MBR требует от прежних поколений Windows загрузки в режиме BIOS (впрочем, 64-битные версии могут загружаться и режиме UEFI)
На этом теоретическую часть про MBR и GPT я предлагаю закончить и перейти к практическим вопросам установки операционных систем и конвертирования таблиц дисков:
Таблица разделов 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 имеет ограничение в 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.
Вы можете комфортно себя чувствовать и с MBR, и c GPT. Но учитывая преимущества GPT, упомянутые ранее, и факт постепенного перехода современных компьютеров на эту технологию, вы можете предпочесть GPT. Если цель заключается в поддержке старого оборудования или нужно использовать традиционный BIOS, то вы застряли на MBR.
Проверьте тип раздела жёсткого диска
На каждом жёстком диске под Windows можно проверить тип разделов с помощью «Управления дисками» (Disk Management). Для запуска «Управления дисками» сделайте следующее:
Нажмите сочетание «горячих клавиш» Windows+R, откроется окно для запуска программ.
Наберите diskmgmt.msc и нажмите клавишу Enter.
Windows просканирует жёсткие диски и вскоре покажет их. Для проверки типа разделов любого жёсткого диска нажмите правой кнопкой мыши на плашку диска в нижней части интерфейса. Нужно нажимать на «Диск 0», «Диск 1» и так далее, а не на разделы.
В появившемся контекстном меню выберите «Свойства». Откроется окно со свойствами выбранного диска.
Перейдите на вкладку «Тома» и посмотрите на значение «Стиль раздела».
В списке перечислены все диски. В колонке Gpt указан стиль раздела для каждого диска. Если видите звёздочку в колонке, то это GPT, если её нет — это MBR.
- Ошибка № 1: «Windows не может быть установлена на этот диск. Выбранный диск не имеет стиль разделов GPT».
- Ошибка № 2: «Windows не может быть установлена на этот диск. Выбранный диск имеет стиль разделов GPT».
Как вы уже знаете, MBR и GPT — это две абсолютно разные структуры разделов жёсткого диска. MBR — это традиционная структура разделов, а GPT — более новая.
Ошибка № 1 возникает, когда вы пытаетесь установить Windows на компьютер с UEFI, а раздел жёсткого диска не сконфигурирован для режима UEFI или совместимости с Legacy BIOS. Microsoft TechNet предлагает два варианта решения проблемы.
- Перезагрузить компьютер в режиме совместимости с Legacy BIOS. Этот вариант позволит сохранить текущий стиль раздела.
- Переформатировать диск под UEFI, используя стиль раздела GPT. Этот вариант позволит вам использовать функции прошивки UEFI. Переформатирование можно сделать самостоятельно, следуя инструкциям ниже. Всегда сохраняйте резервную копию данных перед форматированием.
С помощью Windows Setup
Инструкции для преобразования жёсткого диска с GPT на MBR
«Windows не может быть установлена на этот диск. Выбранный диск имеет стиль разделов 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 не поврежден и содержит необходимые данные.
Структура основной таблицы
Поскольку таблица разделов MBR содержит только 4 дескриптора, это объясняет, почему жесткий диск состоит из четырех разделов. Если пользователю нужно больше, ему придется создать расширенный вариант.
Условия создания расширенного раздела:
- На жестком диске допускается создание только одного раздела.
- Его можно разделить на столько логических частей, сколько нужно.
- Первый сектор расширенного раздела содержит таблицу логических элементов.
- В середине твердого диска находится таблица MBR разделов.
Возможны две конфигурации с использованием 4 дескрипторов:
- 4 основных раздела без расширенного.
- 3 основных и 1 расширенный, разделенный на несколько логических частей.
Определение структура МБР:
- Вначале находят программу BOOT.
- Посередине находят таблицу разделов MBR.
- Подтверждают, что это сектор BOOT.
- Найденные два байта являются шестнадцатеричными значениями 0x55 и 0xAA.
Расширенные разделы
Разделы, отмеченные в таблице типом 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, но имеет следующие отличия:
- В EBR нет исполняемого кода. Некоторые загрузчики могут его туда записывать, но обычно это место заполнено нулями
- Сигнатуры диска и два неиспользуемых байта должны быть заполнены нулями
- В таблице разделов могут быть заполнены только две первых записи. Остальные две записи должны быть заполнены нулями
В отличие от 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 в списке, вместе со своим разделом.
Настройка размера в реестре
MFT - центральная структура NTFS и FAT. В разделе есть резервная копия (MFT Mirror) для защиты от возможной потери информации. В этой конструкции он занимает несколько тысяч кластеров. По умолчанию NTFS резервирует 12,5 % доступного пространства на разделе, данные не могут быть записаны в этой зарезервированной области, что позволяет избежать фрагментации.
В реестре определен размер MFT в зависимости от типа файла, который был использован для регистрации. Если пользователь записывает много маленьких файлов, то лучше иметь большой MFT. Можно увеличить его и это улучшит производительность, если на разделе достаточно свободного места. Недостатки метода: если есть немного свободного места на разделе, увеличение MFT может способствовать его фрагментации и появление обратного эффекта.
Существует определенное программное обеспечение, которое позволяет дефрагментировать MFT, выполняя ее при запуске компьютера. Для настройки размера MFT в реестре, сначала сохраняют его с помощью Erunt, а затем находят следующий ключ: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem.
Нажимают правой кнопкой мыши значение NtfsMftZoneReservation и назначают значение от 1 до 4 в соответствии с требуемым пространством для MFT (12,5 %, 25 %, 37,5 %, 50 %). Затем выходят из реестра и перезагружают компьютер.
Предварительная дефрагментация в безопасном режиме не требуется, но в идеале лучше установить размер MFT в только что отформатированном разделе перед вводом данных. Рекомендуется заранее знать, какой тип данных будет размещаться: фильмы, музыка и фотографии, документы, это позволяет в лучшем случае адаптировать размер.
Характеристика разделов и секторов
MBR - первый 512-байтный раздел физического сектора жесткого диска. Его аббревиатура от Master Boot Record - стандарт, который начал функционировать в 1983 году до сегодняшнего времени. Тем не менее он уже не соответствует новым технологическим требованиям. Одним из основных ограничений является максимальный размер, с которым он может работать - 2 Тб. Другое ограничение в том, что MBR может взаимодействовать только с 4 основными разделами.
- В CHS (цилиндры / головки, старый режим доступа) - это сектор No 1, головка No 0 и цилиндр No 0.
- в LBA (линейный доступ, начиная с нуля) - это первый физический сектор No 0.
В LBA они имеют абсолютное число, причем первый является нулевым номером. Например, таблица разделов MBR на диске MAXTOR объемом 80 Гб имеет 160 071 660 секторов: в режиме LBA они пронумерованы от 0 до 160 071 659.
MBR содержит 2 элемента, важных для запуска ПК:
- программа загрузки, которую BIOS запустит после аппаратного теста;
- главная таблица.
Он содержит 4 дескриптора, описывающих физическое положение на жестком диске. Физическая позиция указывается в таблице:
- абсолютный номер сектора № 1 в LBA;
- количество секторов и тип раздела.
MBR и GPT . Сравнение.
Реорганизация дескрипторов
Чтобы изменить тип раздела в одном из дескрипторов MBR без изменения других характеристик, можно использовать команду parttype из Grub. Например, чтобы скрыть hdb3 с 0xc в FAT32, вводят следующее в командной строке: grub> parttype (hd1,2) 0x1c.
Таким образом, место, занимаемое разделом, не будет пустым пространством, и он не будет виден из операционных систем Microsoft (MS-DOS, Win 9x, и Windows XP). Для Linux, независимо от того, имеется ли тип 0xc или 0x1c, FAT32 не будет создавать проблем в обоих случаях.
Для того чтобы вновь отобразить hdb3 в Windows, он даст ему параметр 0xc вместо 0x1c: grub> parttype (hd1,2) 0xc. Это решение использует только тип обычного раздела и скрывает данные только для систем DOS и Windows.
Процесс загрузки MBR
Вернёмся к процессу загрузки. Если в вашей системе используется структура разделов MBR, то первый процесс выполнения загрузит BIOS. Базовая структура ввода-вывода (Basic Input/Output System) включает в себя микропрограмму загрузчика. Микропрограмма загрузчика содержит низкоуровневые функции, такие как ввод с клавиатуры, доступ к видеодисплею, осуществление дисковых операций ввода-вывода и код для загрузки начальной стадии загрузчика. До того как BIOS может определить загрузочное устройство, он выполняет последовательность функций системной конфигурации, начиная со следующих:
- Самотестирование при включении питания.
- Обнаружение и инициализация видеокарты.
- Отображение стартового экрана BIOS.
- Осуществление быстрой проверки памяти (RAM).
- Конфигурация устройств plug and play.
- Определение загрузочного устройства.
- Первая стадия загрузчика (446 байт).
- Таблица разделов диска (16 байт на раздел × 4 раздела) — MBR поддерживает только четыре раздела, подробнее об этом ниже.
- Подпись (2 байта).
VBR обычно содержит начальный загрузчик программ — Initial Program Loader (IPL), этот код инициирует процесс загрузки. Начальный загрузчик программ включает в себя вторую стадию загрузчика, который затем загружает операционную систему. На системах семейства Windows NT, таких как Windows XP, начальный загрузчик программ сначала загружает другую программу под названием NT Loader (аббревиатура NTLDR), которая затем загружает операционную систему.
Для операционных систем на ядре Linux используется загрузчик GRUB (Grand Unified Bootloader). Процесс загрузки похож на описанный выше, единственная разница в наименовании загрузчиков на первой и второй стадии.
В GRUB первая стадия загрузчика называется GRUB Stage 1. Она загружает вторую стадию, известную как GRUB Stage 2. Вторая стадия загружает получает список операционных систем на жёстких дисках и предоставляет пользователю список для выбора ОС для загрузки.
Сохранение и изменение основных элементов
Учитывая хрупкость структуры в отношении вирусных программ, важно создавать резервные копии таблиц, чтобы восстановить их в случае возникновения проблем, например, в отношении MAIN. Когда на выбранном разделе находится таблица MBR разделов, учитывают, что жесткий диск содержит 4 основных из них и не имеет расширенного, потеря или уничтожение первичной происходит в одном из двух случаев:
- вирус, целью которого является уничтожение таблицы;
- плохое обращение пользователем с MBR.
Для резервного копирования существуют два решения: создать резервную копию дискеты (512 байт), где на выбранном разделе находится таблица MBR разделов и скопировать жизненно важную информацию для хранения в надежном месте.
Резервное копирование в файл может быть сделано с помощью утилиты dd под Linux, следующим образом:
dd if=/dev/hda of=secteur_mbr_disque_hda bs=512 count=1.
Затем создают файл: sector_mbr_disque_hda, который содержит 512 байт MBR.
Чтобы просмотреть его в шестнадцатеричном формате, используют mc под Linux: mc -v sector_mbr_disque_hda.
Алгоритм последующих действий, когда на диске находится таблица MBR разделов:
- Нажимают F4, чтобы увидеть файл в шестнадцатеричном формате.
- Нажимают F10 для выхода из mc.
- Находят резервный файл sector_mbr_disque_hda на резервном диске.
Система безопасности компьютера
Независимо от того, используется ли компьютер под управлением Windows, Macintosh или Linux для повседневного использования, необходимо выполнять минимальные действия для защиты конфиденциальных данных на машинах, подключенных к сети.
- Регулярно выполнять операцию chkdsk для ремонта или изоляции поврежденных секторов, что, важнее, чем дефрагментация или очистка дисков.
- Выполнять и сохранять загрузочные сектора всех разделов MBR. Для этого существует различное программное обеспечение: EditHexa, PTedit, DiskMap. Эти программы позволяют создавать резервные копии и показывают созданные таблицы.
- Использовать программное обеспечение для восстановления данных, если юзеры забыли сделать резервные копии.
Процесс загрузки 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. Процесс загрузки происходит на самой ранней стадии, в зависимости от вашей аппаратной конфигурации.
Если вы когда-нибудь пытались установить Windows 8 или 10 на новый компьютер, то скорее всего видели вопрос: какую структуру разделов использовать, MBR или GPT.
Если вам хочется узнать больше или вы планируете установить новую операционную систему на компьютер, то читайте дальше. Мы уже рассмотрели различия в процессах загрузки, которые стоит держать в уме, разбивая диск или выбирая структуру разделов.
GPT — более новая и продвинутая структура разделов, и у неё много преимуществ, которые я перечислю ниже. MBR используется давно, она стабильная и обладает максимальной совместимостью. Хотя GPT со временем может вытеснить MBR, поскольку предлагает более продвинутые функции, но в некоторых случаях можно использовать только MBR.
Сравнение стандартов
Несмотря, что MBR еще полностью функционален, ему на замену выпущен новый стандарт GPT для GUID, связанный с новыми системами UEFI. Он не имеет ограничений, кроме установленных и самими ОС, как по размеру, так и по количеству, например, Windows имеет ограничение в 128 разделов. Надежность GPT-дисков намного выше, чем у MBR. В случае утери, повреждения или перезаписи, GPT создает несколько избыточных копий по всему диску, так что в случае сбоя, проблемы или ошибки таблица автоматически извлекается из любой из этих копий.
С точки зрения совместимости при создании или редактировании разделов инструмент должен быть сооотнесен с новым форматом, в противном случае редактировать таблицу MBR разделов невозможно, так как будет активирована защита, чтобы несовместимый инструмент не спутал GPT с MBR стандарты.
Что касается ОС "Виндовс", можно загружаться только с GPT в 64 версиях, начиная с Vista. Современные версии Linux также совместимы с этим типом диска и даже Apple начала использовать GPT в качестве таблицы по умолчанию вместо APT (Apple Partition Table).
Есть несколько способов узнать, использует ли диск ту или иную таблицу разделов MBR. Для этого можно открыть диспетчер дисков Windows, любой инструмент разметки, включенный в MS-DOS.
Открывают окно CMD с правами администратора и вводят в нем diskpart. Как только инструмент загружен, он выполняет свою работу, а пользователю остается ознакомиться с результатом.
Таблица под Linux fdisk
В экспертном режиме отмеченная выше структура, имеет для единицы абсолютный сектор в доступе LBA. Но некоторые программы предоставляют fdisk в обычном режиме и предлагают в качестве единицы цилиндр (1 цилиндр = 16 065, секторов = приблизительно 8 Мо). Поэтому делают выбор: либо поднять таблицу перегородок и использовать сектор в качестве единицы, либо поднять цилиндры и применить цилиндрическую единицу. Цель состоит в том, чтобы избежать преобразования, например, для переключения из режима CHS в режим LBA, что в случае неправильного расчета может стать катастрофой для сохраненных данных.
Хотя цилиндр кажется более подходящим для описания разделов на выбранном диске, где находится таблица MBR для больших жестких дисков, используют только сектор по двум причинам:
- Он является самой малой единицей и позволяет определять разделы, даже если они не заканчиваются на пределе цилиндра, то есть, если не содержит число ENTIER цилиндров.
- Программа GRUB (запуск) позволяет вручную восстанавливать таблицу при условии ввода информации в абсолютных секторах LBA, а не в цилиндрах.
MBR и GPT . Почему уходят от MBR?
В силу давности разработок, MBR не понимает, что такое большое дисковое пространство. Для MBR «большое» начинается с величины объёма в 2,2 терабайта. MBR, повторюсь, такие объёмы не читает и отображать не в состоянии. Далее, MBR воспринимает существование только четырёх первичных разделов (primary partition) или три первичных раздела плюс один расширенный. Таким образом, если разделов необходимо больше, то пользователю необходимо будет создать вторичную структуру на дисковом пространстве. Пользователю ПК она известна как расширенный раздел (extended partition) — то есть специальный тип раздела диска, представляющий собой расширение первичного раздела. Содержит главную загрузочную запись (MBR) с собственной таблицей разделов, а это позволяет не обращать внимания на ограничение этой таблицы и позволяет иметь на диске более четырёх разделов. На жёстком диске может быть, как вы уже догадались, несколько расширенных разделов. И уже после создания расширенного раздела приходится создавать один или несколько разделов логических… Вобщем, правила разбиения на разделы для MBR сложны и ограничены. Поэтому в борьбе таблиц MBR и GPT на смену главной загрузочной записи повсеместно идёт GPT.
Главная загрузочная запись
MBR — традиционная структура для управления разделами диска. Поскольку она совместима с большинством систем, то по-прежнему широко используется. Главная загрузочная запись расположена в первом секторе жёсткого диска или, проще говоря, в самом его начале. Она содержит таблицу разделов — информацию об организации логических разделов на жёстком диске.
MBR также содержит исполняемый код, который сканирует разделы на предмет активной ОС и инициализирует процедуру загрузки ОС.
Диск MBR допускает только четыре основных раздела. Если вам нужно больше, то можно назначить один из разделов расширенным разделом, и на нём можно создавать больше подразделов или логических дисков.
MBR использует 32 бита для записи длины раздела, выраженной в секторах, так что каждый раздел ограничен максимальным размером 2 ТБ.
- Совместима с большинством систем.
- Допускает только четыре раздела, с возможностью создания дополнительных подразделов на одном из основных разделов.
- Ограничивает размер раздела двумя терабайтами.
- Информация о разделе хранится только в одном месте — в главной загрузочной записи. Если она повреждена, то весь диск становится нечитаемым.
Камуфляж для операционной системы
Такая операция выполняется для того, чтобы скрыть данные на жестком диске. Маскировка делает данные недоступными для ОС. Таким образом, даже системный администратор (root Linux) не сможет больше получить доступ к этим скрытым данным.
Камуфляж не сводится к простому сокрытию файла путем активации его назначения или прав доступа с помощью ограничений файловой системы Ext2 в Linux или NTFS в Windows. Сокрытие - это неиспользование легальных функций, которые всем известны, а применение возможностей (BIOS, MBR и структуры разделов). Операционная система будет полностью игнорировать это пространство.
Первое решение, которое является наименее оригинальным из всех, состоит в том, чтобы скрыть полный раздел с помощью Partition Magic. Таким образом, могут быть скрыты только отформатированные в файловых системах FAT (FAT16 или FAT32) или NTFS. Вот типы, которые нужно использовать для этих разделов.
Читайте также: