Всегда ли LBA определяет сектора как 512 байт, даже если диск отформатирован с секторами 4 КБ? Потому что я читал, что следует форматировать границы разделов так, чтобы кластеры 4 КБ совпадали с секторами 4 КБ. Я предполагаю, что эта проблема возникает, если диск отформатирован с секторами 4 КБ, но LBA назначает их каждые 512 байт. Это ли причина? Кроме того, причина в том, что геометрия логического диска отличается от геометрии физического диска — для поддержания обратной совместимости со старыми стандартами и ограничениями CHS? Если сообщаемая диском геометрия неточна, почему разделы все равно должны начинаться с сектора 63 (если это уже не всегда правильный цилиндр)?
А кластеры выровнены по началу раздела или по началу диска?
решение1
- Всегда ли LBA определяет секторы как 512 байт, даже если диск отформатирован с секторами по 4 КБ?
Да, много кода в мире было написано во времена монопольного господства 512-байтных секторов. Этот код не может работать с любым другим размером сектора, поэтому BIOS/дисковое оборудование всегда эмулирует 512-байтные сектора независимо от фактического размера сектора. Иначе 95% операционных систем просто не загружались бы с таких дисков вообще.
- Кроме того, является ли причиной того, что геометрия логического диска отличается от геометрии физического диска, необходимость сохранения обратной совместимости со старыми стандартами и ограничениями CHS?
В системе адресации CHS есть границы. 1 ≤ S ≤ 63, 0 ≤ H ≤ 255 (а иногда 0 ≤ C ≤ 1023). Это причина, по которой существует логическая геометрия, и она отличается от физической геометрии.
- Если геометрия, сообщаемая приводом, неточна, почему разделы все равно должны начинаться с сектора 63 (если это уже не всегда правильный цилиндр)?
Начиная с Windows Vista, FDISK
создает первый раздел в секторе LBA 2048 (выравнивание 1M). Он может иметь любые координаты CHS; они больше не имеют значения.
В Windows XP и предыдущих версиях первый раздел создавался в секторе CHS (C=0, H=1, S=1), который обычно соответствует сектору LBA 63 (если логическая геометрия этого диска имеет 63 сектора на дорожку). Некоторые USB-флешки имеют логическую геометрию с 32 виртуальными секторами на дорожку, поэтому первый раздел для них начинается в секторе LBA 32. В любом случае, все это не имеет никакого отношения к фактической геометрии диска, причинам производительности и т. д. — это чистая традиция, прерванная в Vista/Windows 7.
- Выровнены ли кластеры по началу раздела или началу диска?
Кластеры всегда выравниваются по началу раздела. Поэтому они могут быть не выровнены на диске, если раздел был создан в версии до Vista FDISK
и сам не выровнен.
решение2
LBA сам по себе может применяться к любому размеру сектора, но размеры сектора жесткого диска были 512 байт с момента появления ПК, и все аппаратное и программное обеспечение были жестко закодированы с этим предположением. Поэтому вместо того, чтобы ждать, пока новые системы и операционные системы будут поддерживать сектора 4K, диск будет отображаться внешне как диск с сектором 512 байт.
CHS был мертв с тех пор, как LBA48 был представлен в 2003 году. CHS ограничен 128 ГБ, поэтому любой диск большего размера не поддерживает CHS (взгляните на современный диск; на его этикетке не будет значения CHS). В случае, если все оборудование и операционные системы уже были обновлены (Windows 98 добавила поддержку LBA).
Даже с CHS физические характеристики привода не соответствовали значениям CHS. Серьёзно, ни один жёсткий диск никогда не имел 255 головок. Контроллер привода внутренне преобразовывал значения CHS в LBA.
Разделы не обязательно должны начинаться с сектора 63 – это старое ограничение DOS. DOS требовала, чтобы раздел не разделял границу цилиндра, а CHS имеет 63 сектора на цилиндр. Microsoft вплоть до Windows XP решила поддерживать совместимость с DOS (была возможна двойная загрузка Windows 98, ME и XP на разделе FAT32). До секторов 4K с этим не было проблем.
Наконец, отвечая на ваш вопрос: кластеры выравниваются по началу раздела, а не диска. Вот почему важно, чтобы ваш раздел был правильно выровнен по границе сектора.