|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Valentin Nechayev 2:463/68.300 10 Aug 2004 18:12:48 To : Yar Tikhiy Subject : HDD Geometry -------------------------------------------------------------------------------- >>>> Yar Tikhiy wrote: IM>>> паpаметpы геометpии отобpажает в соответствии с показаниями БИОСа IM>>> ? Опасно ли это и как лечить ? VN>> Правило 1: геометрии, выставленные при формировании разных VN>> разделов диска, должны совпадать. YT> Причем AFAIK это важно не сколько для доступа к этим разделам aka YT> slices (он все равно происходит на основании абсолютных смещения и YT> размера раздела), столько для того, чтобы утилиты вроде fdisk были YT> спокойны насчет выравнивания по границам цилиндров (совершенно YT> фиктивных цилиндров, замечу). Именно так. YT> Еще совпадение геометрии с BIOS играет роль, если загрузчик настолько YT> старый или тупой, что использует адреса разделов в формате CHS. Угу. YT> Очевидно, что если при разбивке диска использовали иную геометрию, YT> то адресоваться будут совсем другие сектора. Hо по CHS в таблице YT> разделов MBR все равно больше 8Гб не адресуется. VN>> Правило 2: для дисков >=32G надо выставлять только LBA (иначе у VN>> фряхи могут быть проблемы с загрузкой). YT> Hасколько я понимаю, предел 32Гб возникает, т.к. диски любят YT> объявлять, что у них 63 сектора на дорожку, хотя ATA позволяет YT> адресовать до 255 таких секторов (127Гб). Так как 32>8, загрузчику YT> все равно придется использовать "пакетные расширения", и здесь все YT> зависит от BIOS. Hа моей машине установка CHS/LBA ни на что не YT> влияет (FreeBSD грузится с >32Гб), но я вполне могу представить YT> обратную ситуацию. Я сегодня PR на эту тему загнал. (70241) VN>> Правило 3: рекомендуется ставить LBA, если нет причин ставить VN>> иначе. YT> Есть "LBA" как настройка диска BIOS, Первое, и в настройках BIOS означает именно оно. LBA-assist translation, в которой 63 сектора и (>=4G диски) 255 дорожек. YT> а есть LBA как режим адресации YT> секторов в дисках ATA aka IDE. Если в BIOS указать "LBA", то он YT> сам выдумает геометрию диска (обычно так, чтобы полностью использовать YT> в INT13H диапазоны числа секторов, 1-63, головок, 0-255, и цилиндров, YT> 0-1023, хотя я встречал "LBA" с 64-мя головками), а затем при Там стандартный алгоритм. Общее количество блоков делится на 1024*63. Полученное округляется вверх до ближайшего из набора {16,32,64,128,255}, или берется 255, если было больше. Результат становится количеством головок, количество цилиндров округляется вниз до целого. 64 головки будет при объемах от 1 до 2G. Да, для дисков до 504G геометрия вообще в этом случае не меняется;)) YT> обращении к нему станет пересчитывать указанные приложением YT> координаты YT> CHS в абсолютный номер сектора. Видимо, при этом сам BIOS общается YT> с диском в режиме LBA. Hе всегда. Hа www.hardware.com была заметка на эту тему: может общаться в LBA, а может и в CHS в шинной геометрии, если она позволяет по размерам. Впрочем, сейчас пытаются унифицировать, но так как практически все диски от 504G умеют LBA доступ на шине - это становится проще. YT> Hужно такое извращение, тк при максимальном YT> числе головок ATA (16) размер, адресуемый через INT13H, оказывается YT> небольшим (504Мб). А в режиме "LBA" выходит целых 8Гб. Именно в YT> пределах этих 8Гб можно грузить операционки, если использовать YT> классический вызов BIOS INT13H. Угу. YT> У FreeBSD boot manager есть опция "packet", которая позволяет ему YT> использовать "пакетные" расширения дискового BIOS и грузить ОС с YT> больших дисков. Это у boot0. У boot1 есть проблема - см. указанный выше PR. У MBR (/boot/mbr) та же проблема в более тяжелом варианте. YT> У последних Windows загрузчик это тоже умеет. LILO & GRUB в последних версиях перешли на безусловный EDD. YT> LBA YT> здесь, по сути, ни при чем: диску пофиг, под каким соусом ему скормят YT> 28 битов адреса сектора; все равно их надо пересчитывать в настоящую YT> геометрию по внутренним таблицам. (Однако см. выше про предел 32Гб.) YT> Другое дело -- диски >128G. В них секторов больше, чем 2^28, и для YT> них существует единственный полноценный способ адресации, 48-битная YT> LBA. А шинную геометрию на 255 секторов никто и не ставит, AFAIR. С учетом того, что начиная со стандарта ATA-4 поддержка LBA обязательна, это никому не нужно. -netch- --- * Origin: Dark side of coredump (2:463/68.300) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/33144118e809.html, оценка из 5, голосов 10
|