DISKPART: основные разделы GPT

1166
antonio

Для диска GPT команда Microsoft DISKPART

 list partition 

определяет некоторые разделы как Primaryи аналогично утилиту управления дисками.
Но старые первичные / расширенные разделы схемы MBR - это то, что стандарт GPT намеревается преодолеть.

Например, раздел Windows, который на жаргоне Microsoft определен как основной раздел данных (GUID EBD0A0A2-B9E5-4433-87C0-68B6B72699C7), сообщается DISKPART как Primary. По иронии судьбы, утилита Linux-коллеги fdiskправильно сообщает об этом какMicrosoft basic data

Если преобразовать диск из базового в динамический, BDP правильно сообщается с типом Dynamic Data.

Я безуспешно искал ссылку на терминологию DISKPART в отношении list partitionкоманды. Кроме того, в текущей реализации Microsoft GPT нет никаких намеков на это.

Что именно это за тип раздела? Это просто дружеское название для разделов BDP?

редактировать

Для кого-то непонятно, о чем я спрашиваю. Простите за это. Попробуйте с этим:

list partКоманда Diskpart помечает некоторые разделы GPT как Type: Primary. Поскольку в спецификациях GPT нет определения основных разделов, вы можете указать:

  1. Определение основных разделов GPT?
  2. Пример неосновного раздела GPT?
0
Каждый раздел GPT эквивалентен основному разделу MBR. Я не думаю, что терминология сбивает с толку. Daniel B 6 лет назад 0
Как вы получаете этот раздел? На моем жестком диске GPT он имеет [ESP] (https://en.wikipedia.org/wiki/EFI_system_partition) и [MSR] (https://en.wikipedia.org/wiki/Microsoft_Reserved_Partition) в качестве системных разделов. Biswapriyo 6 лет назад 0
@DanielB: Первичные, расширенные соответствующими логическими разделами _all_ заменяются новыми разделами GUID, поэтому выбор не такой автоматический. Кстати, если каждый GUID = основной раздел, то столбец `Type` становится бесполезным. Возможно, только BCD = primary, но я не нашел явной ссылки, отсюда и пост. antonio 6 лет назад 0
@Biswa: по умолчанию [макет Win10] (https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions#recommendedpartitionconfigurations) - System-MSR -Windows-Recovery, используя имена типов `diskpart`: System-Reserved-Primary-Recovery, и это то, что я получаю с` list part`. Я не понимаю, что вы подразумеваете под «системным разделом». Неофициально все они являются обязательными системными разделами, формально (спецификации UEFI и MS) только ESP. antonio 6 лет назад 0
Нет, в GPT нет такой вещи, как расширенные и логические разделы. Он имеет только основные разделы. У него есть типы разделов, да. Так же как и MBR. Эти GUID ничего не делают. Как и расширение файла, они чисто информативные. Программное обеспечение может или не может заботиться о них. Linux, например, нет. Ничто не мешает мне пометить мой раздел `/` как swap, а мой раздел swap как FreeBSD ZFS в GPT. Это тоже ничего не меняет. Daniel B 6 лет назад 0
@DanielB: «У GPT нет такой вещи, как расширенные и логические разделы». Но это именно то, что я написал: «Все они заменены разделами GUID» и таблицей разделов GUID (GPT). Затем вы добавляете: каждый раздел GUID = основной раздел. Но `Ctrl-F` не находит понятия« первичный раздел »в [PDF-файле с описанием UEFI] (http://www.uefi.org/sites/default/files/resources/UEFI%20Spec%202_6.pdf). При этом _ что означает `diskpart`, когда он помечает некоторые (только некоторые) разделы как тип` Primary`_? Какие разделы являются «первичными» в смысле «diskpart», а какие нет. antonio 6 лет назад 0
Я не специалист по `diskpart` конкретно, но я подозреваю, что он, как и` parted` в Linux, просто применяет "основное" имя ко * всем * разделам GPT. Если вы хотите понять, что происходит с вашим GPT-диском, вы можете использовать мой инструмент [GPT fdisk (`gdisk`)] (http://www.rodsbooks.com/gdisk/). , который был разработан с нуля для использования на GPT-дисках. Он показывает вам структуры данных GPT, не фильтруя их через «объектив MBR». (Он использует сокращенные обозначения кода типа, но вы можете увидеть и использовать истинные GUID кода типа, если это необходимо.) Rod Smith 6 лет назад 1

2 ответа на вопрос

1
Rod Smith

Терминология может сбить с толку, потому что некоторые из них являются скорее вопросом общепринятой практики, чем того, что определено в официальных документах стандартов, и потому что люди часто неправильно используют термины. Существуют также различия в том, как люди относятся к вещам в разных кругах. Например, пользователи Windows часто называют разделы «дисками», тогда как в Linux термин «диск» обычно относится к физическому жесткому диску, а в macOS термин «том» часто используется для разделов. Это как шутка о британском и американском английском: мы разделены нашим общим языком.

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

Это отличается от кода типа раздела. В MBR это 1-байтовое значение, часто (но не всегда) представленное в шестнадцатеричном формате, например 0x07 для NTFS (или HPFS) или 0x0c для FAT-32 LBA. В GPT код типа представляет собой 16-байтовое значение GUID, например, EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 для раздела «базовых данных» Windows (обычный раздел FAT или NTFS) или C12A7328-F81F-11D2-BA4B- 00A0C93EC93B для системного раздела EFI (ESP). Эти коды типов GPT неудобны и трудны для запоминания людьми, поэтому большинство инструментов либо не представляют их явно, либо представляют их, сопоставляя их с именем или мнемоническим кодом. Однако эти сопоставления, как правило, уникальны для конкретных программ, поэтому то, как их представляет программа А, скорее всего, будет отличаться от того, что делает программа В. Также обратите внимание, что отображение из кодов типа MBR в GPT не 1: 1. Иногда там довольно четкое отображение (например, MBR 0x83, который предназначен для файловых систем Linux, который четко отображается на 0FC63DAF-8483-4772-8E79-3D69D8477DE4 в GPT); но в других случаях может не быть эквивалента в одной схеме таблицы разделов или в другой (например, GPT 21686148-6449-6E6F-744E-656564454649, который предназначен для загрузочного раздела BIOS, который не имеет эквивалента MBR), или один код в одном Система может отображать несколько кодов в другом (например, в GPT EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, или в раздел базовых данных Windows, который отображается на несколько кодов типа MBR).

Спасибо. Что меня сводит с ума, так это то, что они не дают никакого объяснения термина «первичный» тип в человеке «diskpart». Конечно, он используется для обозначения раздела с основными данными (`EBD0A0A2-B9E5-4433-87C0-68B6B72699C7`), но никто не знает, является ли это единственно возможным случаем. antonio 6 лет назад 0
@antonio вы можете "попробовать и посмотреть", используя `set id =` в diskpart; или даже просто проверить любой диск с установкой Linux Tom Yan 6 лет назад 1
0
Tom Yan

Вы просто делаете неправильную аналогию. Разделы в таблице разделов MBR также имеют типы разделов, но они не являются первичными / расширенными / логическими, но они:

https://en.m.wikipedia.org/wiki/Partition_type#List_of_partition_IDs

Это просто в таблице разделов MBR тип в форме однобайтового идентификатора (иногда называемого кодом), в то время как в GPT тип находится в форме GUID.

Поле заполнено «первичным» просто потому, что в GPT нет смысла создавать еще один термин для раздела. Вы можете утверждать, что Microsoft могла бы оставить поле пустым, но я полагаю, что это не их стиль, поскольку они, вероятно, опасаются, что пользователи будут паниковать, когда увидят, что такое поле оставлено пустым.

ИМХО, разделы GUID, заменяющие основной / расширенный / логический, - это не аналогия, а факт, и это имеет отношение к названию самой схемы GPT. Однако я не обсуждаю маркетинговые решения, а только понимаю, что такое первичный раздел GPT, поскольку он нигде не определен. Вы не объясняете, почему некоторые «поля заполнены« первичными », а некоторые нет. Можете ли вы добавить изменения для этого? antonio 6 лет назад 0
@antonio Ваш вопрос почти недействителен, потому что в некоторой степени не существует такой вещи, как «основной раздел GPT», потому что в GPT есть только один способ иметь записи разделов. Что касается того, что именно `Type: Primary` ссылается на diskpart для GPT-диска, я предполагаю, что это любой не специальный (на глаз Windows) GUID. Я еще не подтвердил (но на самом деле я бы не стал проверять; я имею в виду, почему?) Tom Yan 6 лет назад 0
@antonio Даже Microsoft сама по себе не имеет ничего общего с такими вещами. Недавно я прочитал что-то подобное в экзамене MCSA от Microsoft Press: `В версиях Windows до 2008 года используется правильная терминология в оснастке« Управление дисками ». Меню позволяют создавать разделы на базовых дисках и тома на динамических дисках. Windows Server 2012 R2 использует термин том для обоих типов дисков и позволяет создавать любые доступные типы томов, будь то диск базовый или динамический. Поэтому в основном они говорят: «Да, это не правильно, но нам все равно» Tom Yan 6 лет назад 0
@antonio Я думаю, что даже возможно, что diskpart будет иметь такую ​​логику для поля Тип: скажем, MBR диск; если это основной раздел с кодом типа `ef`, выведите` system`; если это основной раздел с любым другим кодом типа, выведите `primary`; если это логический раздел, выведите «логический». Tom Yan 6 лет назад 0
Просто чтобы уточнить: когда я прошу объяснить мне «определение основных разделов GPT», я пишу это именно потому, что Diskpart использует термин для GPT-дисков, а для меня это своего рода бессмысленный термин. Что касается того, что вы пишете дальше, идея использования «Первичного» в качестве остаточного термина, когда нет ничего лучше, является разумным объяснением, но все же довольно странно от имени MS, поскольку они сами придумали конкретный (и, следовательно, лучший) термин : "Разделение основных данных". Теперь Linux `fdisk`,` parted` и т. Д. Используют жаргон MS, а они нет. antonio 6 лет назад 0