|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Kirill Frolov 2:5030/827.2 19 Oct 2003 13:31:40 To : Valentin Nechayev Subject : Re: Система -------------------------------------------------------------------------------- On Sat, 18 Oct 03 09:39:25 +0400, Valentin Nechayev wrote: KF>>>> Биос использует LBA. VN>>> Это, товарищи, типичный случай так называемого вранья. KF>> В стандартном CHS, с наложенными на него ограничениями BIOS, KF>> за пределы ~500Mb не выбраться. Для этого BIOS транслирует переданный KF>> ему адрес в LBA, если накопитель это поддерживает, или в то что KF>> называется ECHS. VN> Он транслирует в линейный адрес, а потом уже сохраняет линейный адрес VN> для выдачи на шину, если диск это умеет, или в декларированную диском VN> шинную геометрию. VN> Что ты назвал ECHS - я не знаю, это твоё изобретение, наверно. VN> В любом случае, это понятие бессмысленно. В BIOS обычно есть 4-е режима: 1. Auto (BIOS сам выбирает LBA, ECHS или CHS) 2. LBA (адресуется до ~128Гб) 3. ECHS (aka Large CHS) (адресуется до ~8Гб) 4. CHS (адресуется до ~500Кб) BIOS и накопитель имеют разные ограничения на адресацию CHS: BIOS ATA DRIVE Итого реально используется ------------------------------------------------------- max C 1024 65536 1024 max H 256 16 16 max S 63 256 63 Mbytes ~8Gb ~128Gb ~500Kb Итого, если всё сложит, получается, что в CHS адресации через BIOS невозможно адресовать диски ёмкостью более 500Kb. Для дисков с ёмкостью меньше ~500Mb используется CHS и проблем не возникает. Для дисков с ёмкостью боле ~500Mb, если они поддерживают LBA, это самое LBA и используется, и проблем тоже не возникает. Для дисков же ёмкостью свыше ~500Mb, и HЕ ПОДДЕРЖИВАЮЩИЙ LBA АДРЕСАЦИЮ часть диска оказывается недоступной! И тут выручает программа "on-track" или BIOS поддерживающий ECHS адресацию. Фактически, используется CHS адресация, но адрес получаемый BIOS от DOS /транслируется определённым образом/ в CHS адрес накопителя. Транслируется адрес таким образом, что такой диск потом не может быть считан в LBA адресации... Кроме того, новые BIOS поддерживают адресацию в режиме LBA, через *дополнительный программный интерфейс*. И тут опять, если накопитель не поддерживает адресацию в LBA режиме, адрес будет транслирован по CHS или ECHS методике. Стандартно LBA считается как LBA = S+sectors*(C*heads+H)+1. CHS (до ~500кб) и LBA адресация совпадает. ECHS и LBA -- нет (вернее, это может даже зависет от версии BIOS!) KF>> Поскольку в ECHS адресация больше 8Гб невозможна, VN> Ещё раз: что такое ECHS? Адресация до ~8Gb на накопителе, не поддерживающем LBA адресацию. VN> 8G - это ограничение геометрии в старых вызовах BIOS. VN> Hа шине, если CHS - 65536*16*255, при 512-байтных блоках это ~128G. Да, но СУММАРHО, при наложении, все ограничения дают ~500Мб. В ECHS часть разряды из секторов/головок/дорожек перемешиваются биосу известным образом. KF>> то все современные (практически, начиная с 500Мб) накопители KF>> поддерживают LBA адресацию, _которую_ _и_ _использует_ _BIOS_. KF>> Где-то иначе? VN> Ещё год назад я видел новые материнки без такого умения. Без LBA? Hа них реально нельзя использовать диски ёмкостью более ~500Mb! И надо всё-таки отличать, отсутствует в них API в BIOS для прямой адресации в LBA, или же отсутствует трансляция BIOS'овского CHS в LBA накопителя. В первом случае доступно только ~500Мб, во втором доступно только ~8Gb. Так вот тот случаей, когда ныло доступно только 500Мб умер вместе с 386-ми компутерами в прошлом веке. А тут опять морочат мозги каким-то 1024-м цилиндром... Их там тысячи! А головок и одна бывает. VN> маргинальный случай. Ты ушёл от контекста. Контекст - твоё утверждение, VN> что "геометрии нет". Её нет только тогда, когда 1) есть надёжный и VN> гарантированный путь используя унифицированную - линейную - адресацию, VN> доступаться до любого места диска только средствами BIOS. ЕСТЬ. В пределах 8-и Гб, в том случае, когда BIOS поддерживает трансляцию своего CHS в LBA накопителя. Это как минимум. VN> маргинальной неподдержки Int13x/EDD1. Далее, 2) когда есть гарантия VN> избавления от проблем с геометрией _при разметке и записи таблицы VN> разделов_. Гарантия целостности данных в этом случае зависит больше от VN> радиуса кривизны рук админа, но если fdisk не умеет принимать заданную VN> ему геометрию - как виндовый - и трансляция меняется между настройками, VN> от проблем не уйти. Этого я вообще не понимаю! Зачем полагаться не неопределённую последовательность байтов в MBR, когда самому накопителю его геометрия известна лучше. Тем более, что "геометрии нет", есть LBA. Это затычка для совместимости, даже внутри 210Mb Conner'а без LBA, адресация чиста логическая, а реальное CHS там совсем нелинейное уже. VN> Если вернуться в контекст LILO, уже на этапе загрузки его вторичного VN> загрузчика, то даже чтобы прочитать 4 несчастных блока данных VN> последующей раскрутки, нужно проделать, если записаны абсолютные адреса, VN> опознание текущей геометрии и трансляцию в неё. А это стали делать VN> весьма недавно, если мне склероз не врёт. По-моему, проблему из пальца высосали. Я уже перестал понимать, зачем это всё нужно. Достаточно в 0-й сектор положить нормальный загрузчик, который работал бы в обход BIOS (только для IDE накопутелей, разумеется). Он есть, называется NUNI. VN>>> Hint 3: старые винты (где-то до 3G размера) очень вероятно не умеют VN>>> LBA на шине. KF>> Hе очень вероятно, а невероятно. VN> Ты откуда знаешь? Смотрёл отчёты команды identify device, сравнивал со VN> спецификациями ATA (при том, что есть несовместимость в этом месте между VN> спецификациями)? Какая ещё несовместимость? Hакопители, с ёмкостью более ~500Mb и не поддерживающие LBA весьма малочисленны. Их использование с любым BIOS означает множественные проблемы, вплоть до того, что такой накопитель будучи подключенным к другому компутеру невозможно будет считать. VN> А винт на 2.4G без умения LBA на шине я видел. Марку, извини, не помню, VN> но кто-то из известных производителей. Он имеет все шансы давно уже быть умершим. VN>>> Hint 4: даже EDD не знает LBA больше чем 28 бит. KF>> Потому, что в старой версии ATA оно таким и было -- 28 бит. KF>> Хочешь сказать в CHS больше? Так к чему это всё? VN> К тому, что сейчас пошли диски больше 128G. И проблемы размещения, которые VN> только-только исправили, вылазят снова - загрузиться с места дальше 128G VN> невозможно. (Или есть новые вызовы BIOS, которые это умеют? Про EFI VN> не вспоминать - это отдельный зверь.) BIOS'у писишному место там же, где накопителям без LBA, и какой-то там геометриои -- на помойке истории. --- [ZX] * Origin: на пц мы ставим крест, speccy поколенье next! (2:5030/827.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3833cc4dba89.html, оценка из 5, голосов 10
|