Вопрос или проблема
После выбора “Guided – Use entire disk” при установке Ubuntu Server 12.04 я обнаружил, что первый раздел начинается с сектора 34. Почему именно с этого сектора, а не с первого?
(parted) print
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sda: 5860533168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 34s 390659s 390626s fat32 boot
2 390660s 890660s 500001s ext2
3 890661s 5860533118s 5859642458s
(parted)
Если вы предпочитаете использовать байты в качестве единиц измерения:
(parted) unit B
(parted) print
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sda: 3000592982016B
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17408B 200017919B 200000512B fat32 boot
2 200017920B 456018431B 256000512B ext2
3 456018432B 3000592956927B 3000136938496B
Размер метки EFI обычно составляет 34 сектора, поэтому разделы начинаются с сектора 34. Это означает, что ни один раздел не может начинаться с сектора ноль (0).
Ответ Колина Иана Кинга верен; однако следует отметить, что жесткие диски, использующие технологию Advanced Format (физические сектора размером 4096 байт и логические сектора размером 512 байт), требуют, чтобы начальные сектора разделов были кратны 8 для достижения оптимальной производительности. См. эту статью, которую я написал, для всех подробностей. Сегодня (конец 2012 года) большинство инструментов разметки по умолчанию выравнивают разделы на границах 1 МБ (2048 секторов). Поскольку 2048 — это кратное 8, такие разделы работают нормально с этими дисками. Большинство дисков, продаваемых сегодня, и, безусловно, большинство из более крупных моделей, используют Advanced Format. Поэтому, если вы не уверены, что ваш диск не использует Advanced Format, лучше всего выровнять на границах 8 секторов. Обратите внимание, что 34 не делится на 8; 40 — это минимальный начальный сектор для GPT-диска с стандартным размером таблицы разделов, который хорошо работает с дисками Advanced Format.
Какую версию Ubuntu вы устанавливаете, Кент? Я не проверял недавно, но думал, что последняя версия или две использовали выравнивание разделов секторов на 2048. Если вы устанавливаете что-то более старое, возможно, стоит рассмотреть установку более новой Ubuntu, так как она предоставит вам гораздо более современное программное обеспечение.
Если установлено на GPT-диск, сектор 34 — это первый сектор, который может быть использован, так как сектора 0-33 являются резервными секторами, используемыми для защитной MBR, заголовка GPT и таблиц разделов GPT. Это разумное объяснение того, почему он начинается с сектора 34.
Я согласен с ответами от “Colin Ian King” и “Rod Smith” (для дисков с технологией 512e Advanced Format), НО использование 34s или 40s как начального сектора раздела приводит к ПРЕДУПРЕЖДЕНИЮ “Предупреждение: результатирующий раздел не выровнен должным образом для лучшей производительности.” при выполнении “parted -a optimal /dev/sdb mkpart first-partition 34s 40s
” или “parted -a optimal /dev/sdb mkpart first-partition 40s 47s
” (при выполнении “parted mkpart” конечный сектор включается, и использование 40s…47s приводит к размеру раздела в 8 секторов, который бы хорошо выровнялся по выравниванию 4 KiB, которое следует использовать на дисках 512e AF).
ПОТОМУ ЧТО, согласно Поддержке жестких дисков с большими секторами в Windows Vista: … в Windows Vista, начальное смещение по умолчанию будет в секторе 0x800 (2048s) … 2048s*512B = 1048576B = 1MiB
И parted выровнял старт/обработку разделов с Windows Vista: parted.git: https://git.savannah.gnu.org/gitweb/?p=parted.git;a=blobdiff;f=libparted/labels/dos.c;h=0a606e506e11030e7f9d1d17e0deec67a7a5d594;hp=fda8a79ed1c4ca813256459720f7be5d963c662d;hb=51e774269002a7a9c0aecf497d4d98486c918918;hpb=40bfba3a317f33e7bc55fdd8cd5073ac69ae280a
И поэтому первый раздел должен начинаться с: 1048576B = 1MiB (выполнение “parted -a optimal /dev/sdb mkpart first-partition 2048s 2055s
” на диске 512e (конечный сектор, конечно, может быть выбран >=2055s, это просто минимум)).
Ответ или решение
Когда пользователь выбирает опцию «Руководствоваться — Использовать весь диск» во время установки Ubuntu Server 12.04 и замечает, что первый раздел начинается с сектора 34, это может вызывать вопросы о причинах такого выбора стартового сектора. Давайте разберёмся в теории, примерах и практическом применении, чтобы понять, почему это происходит.
Теория
Основная причина заключается в использовании GUID Partition Table (GPT) — современной и более функциональной системы разметки диска по сравнению с MBR (Master Boot Record). GPT предоставляет множество преимуществ, таких как поддержка более крупных дисков и большего количества разделов. Однако структура GPT требует резервирования первых нескольких секторов для хранения своей метаинформации.
GPT состоит из следующих элементов, которые занимают начальные секторы диска:
-
PMBR (Protective MBR): Это первый сектор на диске, часто именуемый как сектор 0. Он служит для защиты GPT-дисков от случайного удаления или модификации программами, которые не поддерживают GPT.
-
GPT Header: Этот сектор содержит информацию о самом GPT, включая количество и размер разделов.
-
Partition Entry Array: Это серия записей, которые описывают каждый из разделов. Обычно они занимают несколько секторов.
Для стандартных настроек GPT первые 34 сектора зарезервированы для вышеупомянутой информации, что и делает сектор 34 первым доступным сектором для размещения данных пользовательского раздела, тем самым объясняя, почему первый раздел начинается именно с этого сектора.
Пример
На примере диска с 512-байтными логическими и 4096-байтными физическими секторами, партитонный таблица GPT может быть такой:
(parted) print
Model: ATA WDC WD30EZRX-00M (scsi)
Disk /dev/sda: 5860533168s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Number Start End Size File system Name Flags
1 34s 390659s 390626s fat32 boot
2 390660s 890660s 500001s ext2
3 890661s 5860533118s 5859642458s
Первый раздел начинается с сектора 34, а не с нулевого сектора, из-за резервации первых 34 секторов для работы GPT.
Практическое применение
Эта информация важна по следующим причинам:
-
Совместимость с другими системами: Использование стандартной структуры GPT позволяет обеспечить лучшую совместимость с различными операционными системами и утилитами по работе с дисками.
-
Оптимизация производительности: Дополнительная технология Advanced Format, применяемая в современных жёстких дисках, требует, чтобы начала разделов были выровнены по 4096 байт. Хотя сектор 34 не является оптимальным с точки зрения этой технологии, выравнивание по 2048 секторам (1 MiB) было более поздним стандартом и было принято в новых версиях Ubuntu и других современных системах.
-
Обновления и совместимость: Использование более свежих версий Ubuntu и других операционных систем автоматически обеспечивает более оптимальное выравнивание разделов, что приводит к улучшенной производительности хранения и долговечности оборудования.
Понимание способа разметки дисков, а также требований различных технологий накопителей, позволяет избежать возможных проблем с производительностью и долговечностью вашей системы. Это также помогает принимать осведомленные решения при конфигурации новых систем или модификации существующих.