|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Yar Tikhiy 2:5020/118 10 Aug 2004 11:41:07 To : Valentin Nechayev Subject : Re: HDD Geometry -------------------------------------------------------------------------------- On Tue, 10 Aug 2004 08:29:47 +0400, Valentin Nechayev wrote: IM>> паpаметpы геометpии отобpажает в соответствии с показаниями БИОСа ? Опасно IM>> ли IM>> это и как лечить ? VN> Правило 1: геометрии, выставленные при формировании разных разделов диска, VN> должны совпадать. Причем AFAIK это важно не сколько для доступа к этим разделам aka slices (он все равно происходит на основании абсолютных смещения и размера раздела), столько для того, чтобы утилиты вроде fdisk были спокойны насчет выравнивания по границам цилиндров (совершенно фиктивных цилиндров, замечу). Еще совпадение геометрии с BIOS играет роль, если загрузчик настолько старый или тупой, что использует адреса разделов в формате CHS. Очевидно, что если при разбивке диска использовали иную геометрию, то адресоваться будут совсем другие сектора. Hо по CHS в таблице разделов MBR все равно больше 8Гб не адресуется. VN> Правило 2: для дисков >=32G надо выставлять только LBA (иначе у фряхи VN> могут быть проблемы с загрузкой). Hасколько я понимаю, предел 32Гб возникает, т.к. диски любят объявлять, что у них 63 сектора на дорожку, хотя ATA позволяет адресовать до 255 таких секторов (127Гб). Так как 32>8, загрузчику все равно придется использовать "пакетные расширения", и здесь все зависит от BIOS. Hа моей машине установка CHS/LBA ни на что не влияет (FreeBSD грузится с >32Гб), но я вполне могу представить обратную ситуацию. VN> Правило 3: рекомендуется ставить LBA, если нет причин ставить иначе. Есть "LBA" как настройка диска BIOS, а есть LBA как режим адресации секторов в дисках ATA aka IDE. Если в BIOS указать "LBA", то он сам выдумает геометрию диска (обычно так, чтобы полностью использовать в INT13H диапазоны числа секторов, 1-63, головок, 0-255, и цилиндров, 0-1023, хотя я встречал "LBA" с 64-мя головками), а затем при обращении к нему станет пересчитывать указанные приложением координаты CHS в абсолютный номер сектора. Видимо, при этом сам BIOS общается с диском в режиме LBA. Hужно такое извращение, тк при максимальном числе головок ATA (16) размер, адресуемый через INT13H, оказывается небольшим (504Мб). А в режиме "LBA" выходит целых 8Гб. Именно в пределах этих 8Гб можно грузить операционки, если использовать классический вызов BIOS INT13H. У FreeBSD boot manager есть опция "packet", которая позволяет ему использовать "пакетные" расширения дискового BIOS и грузить ОС с больших дисков. У последних Windows загрузчик это тоже умеет. LBA здесь, по сути, ни при чем: диску пофиг, под каким соусом ему скормят 28 битов адреса сектора; все равно их надо пересчитывать в настоящую геометрию по внутренним таблицам. (Однако см. выше про предел 32Гб.) Другое дело -- диски >128G. В них секторов больше, чем 2^28, и для них существует единственный полноценный способ адресации, 48-битная LBA. -- Yar --- ifmail v.2.15dev5 * Origin: Chemistry Department of Moscow State University (2:5020/118) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/116831461b1a0.html, оценка из 5, голосов 10
|