basic data partition что это

Выбранный раздел диска с форматированием GPT не относится к типу PARTITION_BASIC_DATA_GUID

Windows 10 оптимизировала процесс использования неиспользуемого пространства в разделах диска. Создание дальнейших разделов стало проще. Но новая структура не была без ошибок.

При попытке отформатировать необработанное пространство или создать новый раздел из нераспределенного пространства на жестком диске в разделе «Управление дисками» может появиться следующее сообщение об ошибке:

Выбранный диск в формате GPT содержит раздел, который не относится к типу PARTITION_BASIC_DATA_GUID, ему предшествует и следует тип раздела PARTITION_BASIC_DATA_GUID

Выбранный диск в формате GPT содержит раздел, который не относится к типу PARTITION_BASIC_DATA_GUID

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

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

Чтобы решить эту проблему, пользователь должен преобразовать диск таблицы разделов GUID в MBR. Это можно сделать с помощью DISKPART.

1] Используйте DISKPART для преобразования GPT-диска в MBR-диск.

Нажмите Win и выберите Командная строка (Admin). Выполните следующие команды одну за другой, чтобы преобразовать том GPT-диска в MBR.

Это входит в утилиту управления дисками

В нем перечислены доступные диски

Он выбирает диск GPT – замените # на фактический номер диска

Это преобразует диск GPT в MBR

Выход из инструмента diskpart

2] Преобразование раздела диска GPT на томе диска GPT в MBR

Нажмите Win и выберите Командная строка (Admin). Выполните следующие команды одну за другой:

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

3] Используйте AOMEI Partition Assistant Professional

Загрузите использование AOMEI Partition Assistant Professional. Это не бесплатно, но предлагает пробный период, так что вы можете использовать его.

1] Запустите AOMEI Partition Assistant в вашей системе. Его интерфейс покажет состояние жестких дисков и разделов диска.

2] В списке разделов диска проверьте диск с ошибкой, щелкните его правой кнопкой мыши и выберите «Преобразовать в MBR диск».

3] Нажмите OK, затем Да и Применить, чтобы подтвердить процесс.

Как только AOMEI Partition Assistant завершит процесс, он автоматически перезагрузит систему.

Источник

Раздел диска в формате GPT не относится к типу PARTITION BASIC DATA GUID

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

Выбранный диск в формате GPT содержит раздел, который не относится к типу PARTITION_BASIC_DATA_GUID, и перед ним, и за ним следует раздел типа PARTITION_BASIC_DATA_GUID.

Выбранный диск в формате GPT содержит раздел, не относящийся к типу PARTITION_BASIC_DATA_GUID.

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

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

Чтобы решить эту проблему, пользователю необходимо преобразовать диск с таблицей разделов GUID в MBR. Это можно сделать с помощью DISKPART.

1]Используйте DISKPART для преобразования диска GPT в диск MBR.

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

Это входит в утилиту управления дисками

В нем перечислены доступные диски

Он выбирает GPT-диск — замените # фактическим номером диска

Это преобразует GPT-диск в MBR.

Выход из инструмента diskpart

2]Преобразование раздела диска GPT на томе диска GPT в MBR

Нажмите Win и выберите Командная строка (администратор). Выполните следующие команды одну за другой:

Перезагрузите систему и проверьте наличие ошибки. К настоящему времени это должно быть решено.

3]Используйте AOMEI Partition Assistant Professional

Загрузите и используйте AOMEI Partition Assistant Professional. Это не бесплатно, но предлагает пробный период, чтобы вы могли его использовать.

После завершения процесса AOMEI Partition Assistant автоматически перезагрузит систему.

Источник

GPT и MBR. В чём суть и отличие стилей разделов жёсткого диска

Что такое GPT- и MBR-диски? С этими понятиями впервые сталкиваются обычно либо в процессе инициализации только что приобретённых новых жёстких дисков, либо в процессе переустановки Windows, когда при выборе места для установки получают внезапно ошибку «Установка Windows на данный диск невозможна». В сообщении из которой, далее следует одно из пояснений ошибки:

Ниже будем детально разбираться в этих двух понятиях.

Что такое GPT и MBR

GPT и MBR – эти стили разделов жёсткого диска, их также называют стили разметки или таблицы разделов диска. Всё это синонимы одного понятия — способа хранения сведений о разделах жёсткого диска. Сведений о начале и конце разделов, а также о принадлежности каждому из них секторов, об их атрибутах (основной, логический и пр.), о том, какой из разделов является загрузочным и т.п.

Если мы подключим к компьютеру новый или старый, но пустой жёсткий диск, он не будет видеться системой Windows, пока мы его не проинициализируем в управлении дисками – входящей в состав операционной системы утилитой diskmgmt.msc (или с помощью сторонних и разнообразных менеджеров дисков). В штатном управлении дисками инициализация подключённых пустых носителей запускается автоматически при открытии утилиты. И система предлагает нам указать, какой мы хотим задать стиль разделов:

В окне инициализации Windows подсказывает нам, какой из стилей выбрать опцией предустановки. И выходит система из текущих условий своей работы – на диске с каким стилем разметки она установлена, в таком и предлагает проинициализировать новый носитель данных.

MBR – старый стиль, GPT же современный, более совершенный. В чём именно их разность?

Тип BIOS

Работать с незагрузочными дисками GPT и MBR можно на любых компьютерах. А вот загружать с них операционную систему – нет. Чтобы была возможна загрузка с GPT-диска, материнская плата компьютера должны быть с BIOS UEFI. Ну или как минимум с гибридным BIOS с реализацией ПО EFI в части поддержки дисков GPT. Это большая часть материнок ПК и ноутбуков, выпущенных после 2012 года. При этом в BIOS должен быть активен либо сам режим UEFI, либо режим совместимости с обычной BIOS Legacy, если таковой поддерживается.

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

Читайте также:  gern gerne в чем разница

В довольно скором будущем производители материнок ПК и ноутбуков откажутся от совместимости с BIOS Legacy, и устройства будут поставляться только с прошивкой UEFI. Например, компания Intel заявляет, что сделает это уже после 2020 года. Так что таймер отсчёта отправки MBR на свалку истории уже запущен.

Типы разделов

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

Тогда как на GPT-дисках этой заморочки нет – на нём все разделы основные, и их может быть аж 128 штук.

Видимый объём носителя

Стиль MBR не позволяет увидеть объём носителя данных больше 2,2 Тб. Если же у носителя больший объём, ему принципиально нужна GPT-разметка.

Быстродействие и восстановление данных

MBR как способ хранения сведений о разделах жёсткого диска предусматривает такое хранение сведений в одном месте. Что делает и Windows, и наши данные уязвимыми к сбоям, влекущим за собой ошибки записи этих сведений. Тогда как GPT хранит эти сведения в нескольких местах, причём равномерно распределённых по всей поверхности носителя. Это делает Windows более устойчивой к последствиям сбоя во время записи системных данных, увеличивает шансы на восстановление пользовательских файлов, привносит небольшое быстродействие в работу HDD по считыванию данных.

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

Совместимость Windows

На GPT-дисках могут работать только определённые ОС, так называемые EFI-системы – от названия ПО EFI, на базе которого функционирует прошивка UEFI. Это:

Работа 32-битных Windows, старой версии XP и ниже возможна только на дисках MBR.

Структура разделов Windows

У обычных систем Windows на MBR-дисках и EFI-систем на GPT-дисках разная по сути структура технических системных разделов. На MBR-дисках из числа системных разделов вообще может быть только единственный С, на котором размещены и сама Windows, и её загрузчик. Но чаще это схема, состоящая из двух разделов:

На GPT-дисках схема EFI-системы включает обычно три раздела:

Иногда схема может исключать раздел восстановления Windows или включать ещё один технический раздел MSR.

Загрузочные флешки UEFI

Чтобы на компьютере с активной BIOS UEFI переустановить Windows на диске GPT или просто запуститься с Live-диска для реанимации системы, загрузочную флешку необходимо создавать специальным образом. Как создавать загрузочные флешки для обоих типов BIOS – и UEFI, и Legacy, чтобы установить Windows на нужный стиль разметки диска, читайте в этой статье.

Только правильно создать флешку для UEFI мало. Во-первых, с неё нужно правильно загрузиться. Во-вторых, чтобы была возможной загрузка с установочной флешки Windows 7, в UEFI предварительно нужно отключить Secure Boot.

Как узнать, диск GPT или MBR

Какой у подключённых к компьютеру носителей информации стиль разметки — GPT или MBR? Как это узнать? В среде рабочей Windows сделать это можно средствами штатного управления дисками. Запускаем через поиск или команду «Выполнить» утилиту diskmgmt.msc. И смотрим структуру разделов Windows, как показано выше. Если носитель чисто для пользовательских данных, на нём нет Windows, вызываем на нём контекстное меню и смотрим неактивную функцию преобразования. Если это «Преобразовать в GPT-диск», следовательно, диск в стиле MBR. Если «Преобразовать в MBR», то, соответственно, у диска стиль GPT.

В разы проще эта информация представлена в бесплатной утилите Show Disk Partition Style от разработчика Sordum. Она портативная, просто скачиваем её, запускаем и видим простенькую табличку с указанием на стиль разметки всех подключённых к компьютеру носителей информации.

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

Как создать GPT- и MBR-разметку

Жёсткий диск получает стиль разметки при инициализации средствами Windows или сторонними менеджерами. О чём, собственно, и говорилось в самом начале статьи. В процессе установки Windows на пустой диск – на незанятое пространство, стиль разметки задаётся автоматически.

Если в BIOS компьютера активен режим UEFI, то автоматически будет выбран стиль разметки GPT. Но ежели на компьютере нет UEFI или в BIOS указан режим Legacy, то автоматом выберется MBR.

Преобразование стилей разметки

GPT-диски могут преобразовываться (конвертироваться) в MBR, а диски MBR — в GPT. С участием штатных средств Windows этот процесс невозможен без потери разметки носителя и хранящихся на нём данных. А вот сторонние программы-менеджеры могут эту операцию проводить без потери разметки и данных носителя. А в отдельных случаях ещё без необходимости переустановки Windows. Детально о преобразовании стилей разметки читайте в отдельной статье блога.

Источник

basic data partition что это

Использую 1 жесткий диск на 1TB. Разбивка 200ГБ Windows, остальное (D)ata. Сейчас нужно от D забрать гигов 100 для Linux системы. При выполнении задачи через управление дисками в Win 10, отделить память получается, она остается не размеченой, при попытке активировать ее выдает «На выбранном отформатированном GPT-диске между разделами типа
PARTITION_BASIC_DATA_GUID находится раздел другого типа (не PARTITION_BASIC_DATA_GUID)». Прикрутил это пространство обратно к D, запустил EaseUS Partition Master 10.5 отделить опять смог, а активировать не размеченную область опять не могу, просит сделать активным раздел. Как быть? Если запустить установщик дистрибутива, он видит не размеченный раздел, но не может установиться туда. Просит сделать его корневым «/»

Мать Asus, UEFI вроде отключил действиями:
Загрузка — Поддержка USB = Полная (Full Initialization) — для обнаружения всех USB устройств
Загрузка — CSM — Запуск CSM = Enabled


В этой статье мы рассмотрим несколько утилит командой строки, которые позволят вам проверять разделы в Linux.

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

Утилита командной строки для вывода таблицы разделов диска

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

1. Fdisk (“fixed disk” – жесткий диск)

Fdisk – это популярный и мощный инструмент командной строки, используется для создания и управления таблицей разделов диска
Он поддерживает GPT, MBR, Sun, SGI и BSD таблицы разделов. Вы можете запустить команду fdisk с удобным для Вас текстовым интерфейсом. Чтобы создавать, изменять размер, удалять, модифицировать, копировать и перемещать разделы на жестком диске.

Команда fdisk выведет таблицу всех подключенных устройств:

2. Sfdisk (“scriptable fdisk” – скрипты жесткого диска)

Sfdisk по большей части работает как fdisk – выводит или управляет таблицей разделов диска. Однако, sfdisk имеет больше функций, которые не поддерживаются fdisk. В то же время вы можете пользоваться теми же возможностями, что с fdisk, к тому же Вам доступны таблицы разделов GPT, MBR, Sun и SGI.
Единственное отличие между ними заключается в том, что sfdisk не создает стандартное системное разделение для меток SGI и Sun этих дисков, как это делает fdisk.

Читайте также:  что делать если лампадка коптит

За подробным описанием обратитесь к мануалам команды sfdisk.

3. Cfdisk (curses fixed disk)

Cfdisk – это простая программа для вывода и управления разделами диска. Обладает базовым функционалом разделения с удобным для пользователя интерфейсом. Действует аналогично более мощным командам: fdisk и sfdisk, позволяет пользователю просматривать, добавлять, удалять и модифицировать разделение жесткого диска.
Используйте правую и левую стрелки клавиатуры для управление маркером на вкладках меню.

4. Parted command(“parted” — разделенный)

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

5. Lsblk (“list block” – список устройств)

Lsblk выводит информацию содержащую имя, тип, точку подключения всех доступных или конкретно установленного устройства, кроме RAM дисков.

6. Blkid(“block id” – идентификатор устройства)

7. Hwinfo (“hardware info” – информация о оборудовании)

Hwinfo по сути выводит детальную информацию про системное оборудование. Также можно запустить команду hwinfo с параметром — для вывода списка всех элементов оборудования указанного типа (в этом примере, устройства — диски и их разделы)

Для получения результатов приведенных выше – убедитесь, что инструмент hwinfo установлен в вашей системе.

Утилиты командной строки линукс для мониторинга использования пространства жесткого диска

Дальше приведен список утилит командной строки для мониторинга использования пространства диска

8. Df (“disk filesystem” – файловая система диска)

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

9. Pydf (python df)

Pydf это необычная утилита командной строки python и отличная замена df для Linux. Определенные атрибуты дискового разделения обозначаются конкретными цветами.

Однажды вы поймете, что на любом жестком диске недостаточно места, тогда вам следует:

Примечание: в случае удаления любых важных файлов в Linux возможно их восстановление.

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

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.

Windows 10 упростила процесс использования неиспользуемого пространства в дисковых разделах. Сделать дальнейшие разделы стало проще. Но новая структура не была без ошибок.

При попытке форматировать необработанное пространство или создать новый раздел из нераспределенного пространства на жестком диске в Менеджере дисков может появиться следующее сообщение об ошибке:

Выбранный диск с форматированием GPT содержит раздел, который не имеет типа PARTITION_BASIC_DATA_GUID, и ему предшествуют и следуют тип раздела PARTITION_BASIC_DATA_GUID

Выбранный диск с форматированием GPT содержит раздел, который не имеет типа PARTITION_BASIC_DATA_GUID

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

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

Чтобы решить эту проблему, пользователю необходимо преобразовать диск таблицы разделов GUID в MBR. Это можно сделать с помощью DISKPART.

1] Используйте DISKPART для преобразования GPT-диска в MBR-диск

Нажмите Win и выберите Command Prompt (Admin). Выполните следующие команды один за другим, чтобы конвертировать том GPT-диска в MBR.

Это входит в утилиту Disk Management

Здесь перечислены доступные диски

Это выбирает диск GPT — заменяет # на фактический номер диска

Он форматирует диск

Это преобразует GPT-диск в MBR

Выход из инструмента diskpart

2] Преобразование раздела диска GPT на томе диска GPT в MBR

Нажмите Win и выберите Command Prompt (Admin). Выполните следующие команды один за другим:

Перезагрузите систему и проверьте ее. Он должен быть разрешен к настоящему времени.

3] Используйте AOMEI Partition Assistant Professional

Загрузите использование AOMEI Partition Assistant Professional. Он не является бесплатным, но он предлагает пробный период, чтобы вы могли его использовать.

1] Запустите помощник AOMEI Partition Assistant в вашей системе. Его интерфейс покажет состояние жестких дисков и разделов диска.

2] В списке дисковых разделов проверьте диск, который дал вам ошибку, щелкните его правой кнопкой мыши и нажмите «Преобразовать в MBR-диск».

3] Нажмите «ОК», затем «Да» и «Применить», чтобы подтвердить процесс.

Как только AOMEI Partition Assistant завершит процесс, он автоматически перезагрузит систему.

Источник

Статья Диски GPT и MBR – разбор полётов

1. Разметка CHS и LBA;
2. Формат таблицы разделов MBR;
3. Формат таблицы разделов GPT;
4. Практика – сбор и вывод информации;
5. Заключение.
——————————————————

1. CHS и LBA – общие сведения

Таким образом, адрес конкретного сектора формируется из трёх составляющих – головка (выбирает диск), цилиндр на этом диске, и сектор на поверхности выбранного цилиндра. Рисунок ниже представляет трехмерный адрес CHS в визуальной форме:

Теперь проведём арифметические расчёты, чтобы определить макс.возможную ёмкоcть дисков с разметкой CHS. Для этого достаточно найти произведение всех значений BIOS и результат умножить на размер сектора. Для накопителей HDD, сектор в 512-байт является скорее правилом, чем исключением, хотя на твёрдотелых SSD он может достигать информационного веса в 4 Кб (его подогнали под размер виртуальной страницы ОЗУ). Но сейчас разговор об HDD, поэтому условимся считать сектор равным именно 512-байт. Тогда имеем..

цилиндров..(С): 14-бит = 16.383
головок. (H): 04-бит = 16
секторов. (S): 06-бит = 63
==========================================
16383*16*63 = 16.514.064 (всего секторов)
16514064*512 = 8.455.200.768 (всего байт)

Как видим, используя трёхмерную геометрию CHS, дисковый сервис биоса INT-13h способен оперировать накопителем с макс.размером

2. Формат таблицы-разделов в секторе MBR

Термин MBR берёт своё начало от «Master Boot Record», что в дословно переводится как «Основная загрузочная запись». MBR занимает самый первый сектор с координатами: головка(0), цилиндр(0), сектор(1). Здесь нужно отметить, что в геометрии CHS отсчёт цилиндров и головок начинается с нуля, а секторов с единицы. Однако если мы имеем дело с выстроенными в ряд логическими блоками LBA, то нумеровать эти блоки (аля секторы) принято уже с нуля – такая вот муть..

Читайте также:  headshot что это значит

Первые 446-байт до смещения 01BEh отданы в распоряжение загрузчика ОС, а следующий за ним (выделенный) 64-байтный блок и есть таблица 4-х возможных разделов диска HDD. Правда я захватил в хвосте ещё и сигнатуру 55AAh по которой BIOS делает вывод, что сектор фактически является загрузочным. Каждый раздел Partition описывает своя 16-байтная запись (одна строка в нижнем окне), итого 16*4=64 байта. Ограниченный размер данной таблицы не позволяет создавать больше 4-х основных разделов, хотя раздел может быть и расширенным, тогда в нём присутствует своя таблица, ещё для 4-х его логических томов:

32 Кб), которые мы можем подмять под себя.

Чтобы на программном уровне было проще обращаться к MBR, имеет смысл оформить этот сектор в структуру соответствующего вида. Вот что у меня из этого вышло:

Рассмотрев анатомические особенности таблицы-разделов MBR можно сделать вывод, что она действительно отжила свой век и ей давно уже пора на покой. Во-первых, чтобы при малейшем чихе не потерять навсегда терабайты своих данных, обязательно нужно иметь резервную копию этой таблицы, с её контрольной суммой. Ведь превратить в труху диски MBR проще-простого – достаточно элементарно сбросить «Boot-Flag», сменить тип по-смещению(4) на какой-нибудь от фонаря, или поменять местами два последних поля LBA. Всё.. сушим вёсла.. После этих действий, система в лучшем случае откажется грузиться, а в худшем – вообще не распознает дисковые тома, что приведёт к полной потере информации. Все эти просчёты были учтены в более современной таблице-разделов GPT – разберём её на атомы..

3. Формат таблицы-разделов GPT

Если в MBR под описатель каждого из 4-х разделов выделялось по 16-байт, то в GPT раздел «Partition» описывает уже структура размером аж в 128-байт (четверть 512-байтного сектора). Здесь нет расширенных томов как в MBR – все разделы имеют одинаковые права и являются основными, а общее их кол-во увеличено с четырёх до 128-ми. Поскольку места на харде теперь предостаточно, под GPT выделяется целых 33-сектора =16 Кб, не в пример 64-байтам в MBR. При этом основная таблица GPT продублирована резервной копией, которую в зеркальном виде забросили в самый конец дискового пространства. Общая схема занимаемых секторов представлена рисунком ниже:

Здесь видно, что первые 33-сектора заняты служебкой, а непосредственно под данные выделяются секторы начиная с LBA(34). Точная ксерокопия основной таблицы притаилась в хвосте и ждёт своего часа. При каждом включении машины, код системного EFI пересчитывает контрольную сумму GPT, которая хранится по смещению(10h) в её заголовке. При несовпадении CRC, основной заголовок вместе со-всеми записями восстанавливается из резервной копии, на автомате корректируя таким образом служебную инфу.

Программно распознать диск с разметкой GPT можно по сигнатуре «EFI PART» в начале сектора LBA(1), или-же по идентификатору типа-раздела EEh в секторе LBA(0) таблицы MBR. Ниже приводится описание полей данного заголовка, всего 1 сектор = 512-байт:

Обратите внимание, что в заголовке имеются две контрольные суммы CRC32.
Первая по смещению(10h) – сумма исключительно самого заголовка, а вторая с офсетом(58h) – всех имеющихся записей «Partition Entry». Так разрабы закрыли GPT аж на два амбарных замка, а специальная процедура дотошного EFI постоянно их проверяет. В случае малейшего несоответствия, на территории сразу включается ревун и данные тут-же восстанавливаются из резервной копии. Достопочтенный BIOS со-своим MBR о таких мелочах мог только мечтать. Остальные поля заголовка пояснений вроде не требуют.

3.2. Записи о разделах «Partition Entry «

В заключении рассмотрим формат паспорта каждого из разделов. Как упоминалось выше, таблица GPT поддерживает макс.128 разделов, и в 33-х секторах для каждого из них зарезервировано место под описатель. Лично мне не встречались диски с таким кол-вом томов, но как говорят: «лучше еврей без бороды, чем борода без еврея» – пусть лежат на чёрный день, авось когда-нибудь понадобятся.

Обратите внимание на 64-битную маску атрибутов по смещению(30h). Большая часть битов в ней отправлена в резерв, а список активных представлен ниже. Если в двух словах, то у обычных разделов маска имеет значение нуль, т.е. все биты сброшены. А если какой-то из них взведён (как-правило нулевой или под номером 63), то он означает следующее:

4. Практика – сбор и вывод информации о разделах

В практической части напишем небольшую утилиту, которая позволит динамически определить способ разметки диска MBR или GPT. Дальше, код в цикле обойдёт все записи в «Partition Table» и отрапортует о собранной информации на консоль. Это будет просто демонстрацией того, как можно подобраться на программном уровне к данным таблицы-разделов. А что дальше делать с этими данными – это уже вопрос к нашей совести. Поскольку в атрибутах разделов GPT имеется бит(60), то можно взвести его в записи любого раздела, в результате чего раздел станет доступным только для чтения, без возможности записи на него. Или-же скрыть его к чертям, установив в единицу бит(62).

Эта функция сбрасывает в буфер GUID в виде Unicode-строки, значит для вывода на консоль её нужно будет преобразовать в ASCII, просто читая по 2-байта, и сохраняя в тот-же буфер по одному (т.е. отсекать парные нули). Весь алгоритм программы можно представить так:

Мы не можем заранее знать, на машину какой разрядности попадёт наш код, 32 или 64-бит. Поэтому в таких случаях лучше писать 32-битное приложение. Если оно попадёт на х64, то отработает через её WOW64 (Windows-on-Windows). Зато 64-битное приложение вообще не запуститься на х32, и мы обломаемся по полной. Так-как большинство полей в GPT 64-битные, то придётся оперировать ими через сопр FPU. Исходник этой задумки на лексиконе ассемблера FASM представлен ниже. Инклуд с описанием структур MBR/GPT я спрятал в скрепку:

Доступ к стартовым секторам диска с правами на запись открывает большие возможности. В своё время это было излюбленное место червей и всякой нечисти, поэтому начиная с Висты, MS отобрала у нас эти права (привет Жанне Рутковской, с её «голубой пилюлей»). Читать – пожалуйста, а вот записывать в начало диска (до файловой системы), юзеру нельзя. Чтобы сидя на нарах не ждать с воли сухарей, мы всегда должны помнить об уголовной ответственности за порчу чужой информации. Поэтому всё сказанное здесь носит чисто оборонительный характер, чтобы мы были осведомлены, как при программных сбоях можно восстановить работоспособность своего накопителя. Особенно актуально это для размеченных в формате MBR дисков, где самостоятельная правка пару байт может сэкономить Вам честно заработанные шекели.

В скрепке лежит готовый исполняемый файл для тестов, исходник загрузчика из MBR, а так-же инклуд с описанием структур «Partition Table». Всем удачи, пока!

Источник

Сказочный портал