Логическая структура диска работающего под управлением uefi bios включает
Создайте пользовательские макеты секций для жестких дисков (HDD), твердотельных накопителей (SSD) и других дисков при развертывании Windows на устройствах на основе BIOS.
Если вы используете пользовательский макет секции в Windows 10 или Windows 11 для классических выпусков (домашняя страница, Pro, Enterprise и образование), обновите сценарий восстановления с помощью кнопки push-button, чтобы средства восстановления могли воссоздать пользовательский макет секции при необходимости.
Разметка раздела
Если установить Windows с помощью загрузочного USB-ключа, созданного Windows конструктором образов и конфигураций (ICD), он по умолчанию создает следующий макет: системный раздел, раздел Windows и раздел средств восстановления.
Раздел средств восстановления
Создайте отдельную секцию восстановления для поддержки автоматической отработки отказа и поддержки загрузки Windows зашифрованных разделах шифрования диска BitLocker.
Рекомендуется поместить эту секцию в отдельную секцию сразу после Windows секции. Это позволяет Windows изменять и воссоздать секцию позже, если для будущих обновлений требуется более крупный образ восстановления.
Для средств Windows среды восстановления (Windows RE) требуется дополнительное свободное место:
- Требуется не менее 52 МБ, но рекомендуется 250 МБ для размещения будущих обновлений, особенно с пользовательскими макетами секций.
При вычислении свободного пространства обратите внимание:
- Образ восстановления winre.wim обычно составляет от 250 до 300 МБ в зависимости от того, какие драйверы, языки и настройки вы добавляете.
- Сама файловая система может занять дополнительное пространство. Например, NTFS может зарезервировать 5–15 МБ или более в секции 750 МБ.
Структура MBR
До недавнего времени структура MBR использовалась на всех персональных компьютерах для того, чтобы можно было разделить один большой физический жесткий диск (HDD) на несколько логических частей — разделы диска (partition). В настоящее время MBR активно вытесняется новой структурой разделения дисков на разделы — GPT (GUID Partition Table). Однако MBR используется еще довольно широко, так что посмотрим что она из себя представляет.
MBR всегда находится в первом секторе жесткого диска. При загрузке компьютера, BIOS считывает этот сектор с диска в память по адресу 0000:7C00h и передает ему управление.
Итак, первая секция структуры MBR — это секция с исполняемым кодом, который и будет руководить дальнейшей загрузкой. Размер этой секции может быть максимум 440 байт. Далее идут 4 байта, отведенные на идентификацию диска. В операционных системах, где идентификация не используется, это место может занимать исполняемый код. То же самое касается и последующих 2 байт.
Начиная со смещения 01BEh находится сама таблица разделов жесткого диска. Таблица состоит из 4 записей (по одной на каждый возможный раздел диска) размером 16 байт.
Структура записи для одного раздела:
Первым байтом в этой структуре является признак активности раздела. Этот признак определяет с какого раздела следует продолжить загрузку. Может быть только один активный раздел, иначе загрузка продолжена не будет.
Следующие три байта — это так называемые CHS-координаты первого сектора раздела.
По смещению 04h находится код типа раздела. Именно по этому типу можно определить что находится в данном разделе, какая файловая система на нем и т.п. Список зарезервированных типов разделов можно посмотреть, например, в википедии по ссылке Типы разделов.
После типа раздела идут 3 байта, определяющие CHS-координаты последнего сектора раздела.
CHS-координаты сектора расшифровываются как Cylinder Head Sector и соответственно обозначают номер цилиндра (дорожки), номер головки (поверхности) и номер сектора. Цилиндры и головки нумеруются с нуля, сектор нумеруется с единицы. Таким образом CHS=0/0/1 означает первый сектор на нулевом цилиндре на нулевой головке. Именно здесь находится сектор MBR.
Все разделы диска, за исключением первого, обычно начинаются с нулевой головки и первого сектора какого-либо цилиндра. То есть их адрес будет N/0/1. Первый раздел диска начинается с головки 1, то есть по адресу 0/1/1. Это все из-за того, что на нулевой головке место уже занято сектором MBR. Таким образом, между сектором MBR и началом первого раздела всегда есть дополнителььные неиспользуемые 62 сектора. Некоторые загрузчики ОС используют их для своих нужд.
Интересен формат хранения номера цилиндра и сектора в структуре записи раздела. Номер цилиндра и номер сектора делят между собой два байта, но не поровну, а как 10:6. То есть на номер сектора приходится младшие 6 бит младшего байта, что позволяет задавать номера секторов от 1 до 63. А на номер цилиндра отведено 10 бит — 8 бит старшего байта и оставшиеся 2 бита от младшего байта: «CCCCCCCC CCSSSSSS», причем в младшем байте находятся старшие биты номера цилиндра.
Проблема с CHS-координатами состоит в том, что с помощью такой записи можно адресовать максимум 8 Гб диска. В эпоху DOS это было приемлемо, однако довольно скоро этого перестало хватать. Для решения этой проблемы была разработана система адресации LBA (Logical Block Addressing), которая использовала плоскую 32-битную нумерацию секторов диска. Это позволило адресовать диски размером до 2Тб. Позже разрядность LBA увеличили до 48 бит, однако MBR эти изменения не затронули. В нем по-прежнему осталась 32-битная адресация секторов.
Итак, в настоящее время повсеместно используется LBA-адресация для секторов на диске и в структуре записи раздела адрес его первого сектора прописывается по смещению 08h, а размер раздела — по смещению 0Ch.
Для дисков размером до 8Гб (когда адресация по CHS еще возможна) поля структуры с CHS-координатами и LBA-адресации должны соответствовать друг другу по значению (корректно конвертироваться из одного формата в другой). У дисков размером более 8Гб значения всех трех байт CHS-координат должны быть равны FFh (для головки допускается также значение FEh).
В конце структуры MBR всегда находится сигнатура AA55h. Она в какой-то степени позволяет проверить, что сектор MBR не поврежден и содержит необходимые данные.
Расширенные разделы
Разделы, отмеченные в таблице типом 05h и 0Fh, это так называемые расширенные разделы. С их помощью можно создавать больше разделов на диске, чем это позволяет MBR. На самом деле расширенных разделов несколько больше, например есть разделы с типами C5h, 15h, 1Fh, 91h, 9Bh, 85h. В основном все эти типы разделов использовались в свое время различными операционными системами (такими как например OS/2, DR-DOS, FreeDOS) с одной и той же целью — увеличить количество разделов на диске. Однако со временем различные форматы отпали и остались только разделы с типами 05h и 0Fh. Единственное исключение — это тип 85h. Он до сих пор может использоваться в Linux для формирования второй цепочки логических дисков, скрытых от других операционных систем. Разделы с типом 05h используются для дисков менее 8Гб (где еще возможна адресация через CHS), а тип 0Fh используется для дисков больше 8Гб (и используется LBA-адресация).
В первом секторе расширенного раздела находится структура EBR (Extended Boot Record). Она во многом схожа со структурой MBR, но имеет следующие отличия:
- В 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 в списке, вместе со своим разделом.
Примеры файлов: настройка макета диска с помощью скриптов pe и DiskPart Windows
Для развертывания на основе образа загрузите компьютер в Windows PE, а затем используйте средство DiskPart для создания структур секций на конечных компьютерах.
В этих примерах DiskPart разделы назначаются буквы: System=S, Windows=W и Recovery=R.
Измените букву диска Windows на букву, которая находится в конце алфавита, например W, чтобы избежать конфликтов букв диска. Не используйте X, так как эта буква диска зарезервирована для Windows PE. После перезагрузки устройства Windows секции назначается буква C, а другие секции не получают буквы диска.
При перезагрузке Windows PE переназначает буквы диска в алфавитном порядке, начиная с буквы C, без учета конфигурации в Windows установке. Эта конфигурация может измениться в зависимости от наличия разных дисков, таких как USB-накопители флэш-памяти.
Ниже описано, как секционировать жесткие диски и подготовиться к применению образов. Для выполнения этих действий можно использовать код в следующих разделах.
Системная секция
Каждый загрузочный диск должен содержать системный раздел. Системный раздел должен быть настроен в качестве активной секции.
Минимальный размер этой секции составляет 100 МБ.
Системный раздел
Устройство должно содержать системный раздел. На дисках GPT это называется системным разделом EFI или ESP. Этот раздел обычно хранится на основном жестком диске. Устройство загружается в этот раздел.
Минимальный размер этой секции составляет 100 МБ и должен быть отформатирован с помощью формата файлов FAT32.
Этот раздел управляется операционной системой и не должен содержать другие файлы, включая средства Windows RE.
Для дисков с расширенным форматом 4K Native (4 КБ на сектор) минимальный размер составляет 260 МБ из-за ограничения формата файлов FAT32. Минимальный размер секции дисков FAT32 вычисляется как размер сектора (4 КБ) x 65527 = 256 МБ.
На диски с расширенным форматом 512e это ограничение не влияет, так как размер эмулированного сектора составляет 512 байт. 512 байт x 65527 = 32 МБ, что меньше минимального размера 100 МБ для этой секции.
Windows секции
- Этот раздел должен содержать не менее 20 гигабайт (ГБ) дискового пространства для 64-разрядных версий или 16 ГБ для 32-разрядных версий.
- Раздел Windows должен быть отформатирован с помощью формата файлов NTFS.
- После завершения работы пользователя в разделе Windows должно быть 16 ГБ свободного места после завершения работы с OOBE и автоматического обслуживания.
- Этот раздел может содержать не более 2 терабайта (ТБ) пространства. Программные средства для расширения видимого пространства секций, превышающие 2 ТБ, не поддерживаются в BIOS, так как они могут препятствовать работе программных решений для обеспечения совместимости приложений и восстановления.
Зарезервированная секция Майкрософт (MSR)
В Windows 10 размер MSR составляет 16 МБ.
Добавьте MSR на каждый диск GPT, чтобы помочь в управлении секциями. MSR — это зарезервированная секция, которая не получает идентификатор секции. Он не может хранить пользовательские данные.
Секции данных
Рекомендуемый макет секций для Windows 10 не включает секции данных. Однако если требуются секции данных, они должны быть помещены после Windows RE секции. Это позволяет будущим обновлениям Windows RE увеличивать Windows RE секцию путем сжатия секции Windows.
Этот макет усложняет удаление секции данных и объединение пространства с разделом Windows. Для этого необходимо переместить секцию Windows RE в конец неиспользуемого пространства, выделенного из секции данных, чтобы можно было расширить секцию Windows.
Windows 10 не включает функции или служебные программы для упрощения этого процесса. Однако производители могут разрабатывать и предоставлять такую служебную программу, если компьютеры поставляются с разделами данных.
Секционирование жестких дисков и подготовка к применению образов
Сохраните следующий код в виде текстового файла (CreatePartitions-BIOS.txt) на USB-накопителе флэш-памяти.
Используйте Windows PE для загрузки конечного компьютера.
Очистка и секционирование диска. В этом примере F — буква USB-накопителя флэш-памяти.
Если вы используете пользовательский макет секции в Windows 10 для классических выпусков, обновите сценарий восстановления с помощью кнопки, чтобы средства восстановления могли воссоздать пользовательский макет секции при необходимости.
Чтобы избежать проблем с загрузкой без операционной системы из-за размера секции, рекомендуется, чтобы производители разрешили скрипту автоматического создания функции восстановления без операционной системы создать секцию, используемую для WIM восстановления. Если производитель хочет использовать пользовательский сценарий DISKPART для создания секций, рекомендуемый минимальный размер секции составляет 990 МБ и не менее 250 МБ свободного места.
Следующие шаги
Используйте скрипт развертывания, чтобы применить образы Windows к только что созданным секциям. Дополнительные сведения см. в разделе "Сбор и применение Windows", "Системные" и "Разделы восстановления".
Структура 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-MBR, или более современный UEFI-GPT, реализованный в последних версиях ОС.
В этой статье мы сравним структуры разделов GPT и MBR; GPT означает GUID Partition Table, а MBR — Master Boot Record. Начнём с того, что разберём сам процесс загрузки.
В следующих главах выделяются различия между стилями разделов GPT и MBR, в том числе приводятся инструкции, как осуществить преобразование между двумя стилями, и советы, какой из них выбрать.
Когда вы нажимаете кнопку питания на своём ПК, стартует процесс, который в итоге приведёт к загрузке операционной системы в память. Первая команда зависит от того, какова структура разделов на вашем жёстком диске.
Если два вида структур разделов: MBR и GPT. Структура разделов на диске определяет три вещи:
- Структура данных на диске.
- Код, который используется при загрузке, если раздел загрузочный.
- Где начинается и заканчивается раздел.
Процесс загрузки 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.
Разметка раздела
Макет секции по умолчанию для компьютеров на основе UEFI: системный раздел, MSR, раздел Windows и раздел средств восстановления.
Этот макет позволяет использовать шифрование диска BitLocker Windows с помощью Windows и среды восстановления Windows.
Раздел средств восстановления
Этот раздел должен быть не менее 300 МБ.
Для средств среды восстановления Windows (Windows RE) требуется дополнительное свободное пространство:
- Требуется не менее 52 МБ, но рекомендуется 250 МБ для размещения будущих обновлений, особенно с пользовательскими макетами секций.
При вычислении свободного пространства обратите внимание:
- Образ восстановления winre.wim обычно находится в диапазоне от 250 до 300 МБ в зависимости от того, какие драйверы, языки и настройки вы добавляете.
- Сама файловая система может занять дополнительное место. Например, NTFS может зарезервировать 5–15 МБ или более в секции 750 МБ.
Этот раздел должен использовать идентификатор типа: DE94BBA4-06D1-4D40-A16A-BFD50179D6AC .
Средства восстановления должны находиться в отдельной секции, отличной от секции Windows для поддержки автоматической отработки отказа и поддержки загрузочных секций, зашифрованных с помощью шифрования диска BitLocker Windows.
Рекомендуется поместить эту секцию сразу после Windows секции. Это позволяет Windows изменять и повторно создавать секции позже, если для будущих обновлений требуется более крупный образ восстановления.
раздел Windows
- Раздел должен содержать не менее 20 гигабайт (ГБ) места на диске для 64-разрядных версий или 16 ГБ для 32-разрядных версий.
- Раздел Windows должен быть отформатирован с помощью формата файлов NTFS.
- После завершения работы Windows секция должна иметь 16 ГБ свободного места после завершения работы с OOBE и автоматического обслуживания.
Требования к секциям
При развертывании Windows на устройстве на основе UEFI необходимо отформатировать жесткий диск, содержащий раздел Windows, с помощью файловой системы таблицы разделов GUID (GPT). Дополнительные диски могут использовать формат файла GPT или главной загрузочной записи (MBR).
Диск GPT может содержать до 128 секций.
Каждая секция может содержать не более 18 эксабайтов (~18,8 миллиона терабайт) пространства.
Главная загрузочная запись
MBR — традиционная структура для управления разделами диска. Поскольку она совместима с большинством систем, то по-прежнему широко используется. Главная загрузочная запись расположена в первом секторе жёсткого диска или, проще говоря, в самом его начале. Она содержит таблицу разделов — информацию об организации логических разделов на жёстком диске.
MBR также содержит исполняемый код, который сканирует разделы на предмет активной ОС и инициализирует процедуру загрузки ОС.
Диск MBR допускает только четыре основных раздела. Если вам нужно больше, то можно назначить один из разделов расширенным разделом, и на нём можно создавать больше подразделов или логических дисков.
MBR использует 32 бита для записи длины раздела, выраженной в секторах, так что каждый раздел ограничен максимальным размером 2 ТБ.
- Совместима с большинством систем.
- Допускает только четыре раздела, с возможностью создания дополнительных подразделов на одном из основных разделов.
- Ограничивает размер раздела двумя терабайтами.
- Информация о разделе хранится только в одном месте — в главной загрузочной записи. Если она повреждена, то весь диск становится нечитаемым.
Следующие шаги
Используйте скрипт развертывания, чтобы применить образы Windows к вновь созданным секциям. Дополнительные сведения см. в разделе "Сбор и применение Windows", "Системные" и "Разделы восстановления".
Для работы с жестким диском его для начала необходимо как-то разметить, чтобы операционная система могла понять в какие области диска можно записывать информацию. Поскольку жесткие диски имеют большой объем, их пространство обычно разбивают на несколько частей — разделов диска. Каждому такому разделу может быть присвоена своя буква логического диска (для систем семейства Windows) и работать с ним можно, как будто это независимый диск в системе.
Способов разбиения дисков на разделы на сегодняшний день существует два. Первый способ — использовать MBR. Этот способ применялся еще чуть ли не с появления жестких дисков и работает с любыми операционными системами. Второй способ — использовать новую систему разметки — GPT. Этот способ поддерживается только современными операционными системами, поскольку он еще относительно молод.
Секции данных
Рекомендуемый макет секций не включает служебные программы или секции данных.
Однако если требуются служебные или секции данных, их следует поместить либо до Windows секции, либо после Windows RE секции. Сохраняя секции Windows и восстановления вместе, когда будущие обновления области Windows RE доступны, Windows сможет увеличить Windows RE секцию, сжимая секцию Windows.
Этот макет усложняет удаление секции данных и объединение пространства с Windows секцией. Например, может потребоваться переместить секцию Windows RE в конец неиспользуемого пространства, выделенного из секции данных, чтобы можно было расширить секцию Windows. Windows 10 не включает функции или служебные программы для упрощения этого процесса. Однако производители могут разрабатывать и предоставлять такую служебную программу, если компьютеры поставляются с секциями данных.
Каждая секция может содержать не более 2 терабайта (ТБ) пространства.
Если вы добавите более четырех общих секций на диск, дополнительные сведения см. в разделе "Настройка более четырех разделов на жестком диске на основе BIOS/MBR ".
Требования к секциям
При развертывании Windows на устройстве на основе BIOS необходимо отформатировать жесткие диски с помощью файловой системы MBR. Windows не поддерживает файловую систему таблицы разделов GUID (GPT) на компьютерах на основе BIOS.
Диск MBR может иметь до четырех стандартных секций. Как правило, эти стандартные секции называются основными секциями. Дополнительные сведения о создании дополнительных секций, превышающих это ограничение, см. в разделе "Настройка более четырех разделов на жестком диске на основе BIOS/MBR".
Секционирование жестких дисков и подготовка к применению образов
Используйте Windows PE для загрузки конечного компьютера.
Очистка и секционирование диска. В этом примере F — это буква USB-устройства флэш-памяти.
- Если вы используете пользовательский макет секции в Windows 10 для классических выпусков, обновите скрипт восстановления с помощью кнопки push-button, чтобы средства восстановления могли повторно создать пользовательский макет секции при необходимости.
Чтобы избежать проблем с загрузкой без операционной системы из-за размера секции, производители должны разрешить скрипту автоматического создания функции восстановления без операционной системы создать секцию, используемую для WIM восстановления. Если изготовитель хочет использовать пользовательский скрипт DISKPART для создания секций, рекомендуемый минимальный размер секции составляет 990 МБ с минимальным объемом свободного места в 250 МБ.
Таблица разделов 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»
Помните те времена, когда 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. Источник
Создавайте пользовательские макеты секций для жестких дисков (HDD), твердотельных накопителей (SSD) и других дисков при развертывании Windows на устройствах на основе единого расширяемого встроенного ПО (UEFI).
Если вы используете пользовательский макет секции в Windows 10 или Windows 11 для классических выпусков (home, Pro, Enterprise и Education), обновите скрипт восстановления с помощью кнопки push-button, чтобы средства восстановления могли повторно создать пользовательский макет секции при необходимости.
Установка секций в качестве служебных секций
При использовании Diskpart в процессе развертывания используйте set > команду после создания секции.
Системные и служебные секции
По умолчанию системные секции не отображаются в проводник. Это помогает защитить конечных пользователей от случайного изменения секции.
Чтобы сохранить сброс системных и служебных секций, используйте 0x27 типа. Не используйте следующие типы: 0x7, 0x0c, 0x0b, 0x0e, 0x06 и 0x42.
Другие служебные секции
Все другие служебные секции, не управляемые Windows, должны находиться перед секциями образов Windows, данных и восстановления. Это позволяет конечным пользователям выполнять такие действия, как изменение размера секции Windows без влияния на служебные программы системы.
Защитите конечных пользователей от случайного изменения разделов служебной программы, определив их с помощью атрибута GPT. Это предотвращает отображение этих секций в проводник.
Установка секций в качестве служебных секций
- При развертывании Windows с помощью DiskPart используйте набор томов атрибутов GPT_ATTRIBUTE_PLATFORM_REQUIRED команду после создания секции, чтобы определить секцию как служебную секцию. Дополнительные сведения см. в разделе MSDN: PARTITION_INFORMATION_GPT структура.
Проверка наличия разделов системы и служебных программ
Примеры файлов: настройка секций дисков с помощью скриптов pe и DiskPart Windows
Для развертывания на основе образов загрузите компьютер в Windows PE, а затем используйте средство DiskPart, чтобы создать структуры секций на конечных компьютерах.
В этих примерах DiskPart секциям назначаются буквы: System=S, Windows=W и Recovery=R. Раздел MSR не получает букву диска.
Измените букву диска Windows на букву, которая находится в конце алфавита, например W, чтобы избежать конфликтов букв диска. Не используйте X, так как эта буква диска зарезервирована для Windows PE. После перезагрузки устройства Windows секции назначается буква C, а другие секции не получают буквы диска.
При перезагрузке Windows PE переназначает буквы диска в алфавитном порядке, начиная с буквы C, без учета конфигурации в Windows setup. Эта конфигурация может изменяться в зависимости от наличия различных дисков, таких как USB-устройства флэш-памяти.
Ниже описано, как секционировать жесткие диски и подготовиться к применению образов. Для выполнения этих действий можно использовать код в следующих разделах.
Проверка наличия системных и служебных секций
Процесс загрузки 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. Вторая стадия загружает получает список операционных систем на жёстких дисках и предоставляет пользователю список для выбора ОС для загрузки.
Читайте также: