Правила Форума редакция от 22.06.2020 |
|
|
|
|
|
Опции темы | Опции просмотра | Language |
09.03.2007, 14:28 | #1 |
Искусство перепрошивки BIOS
Полную версию этой статьи вы можите скачать здесь:
http://sat-sputnik.mylivepage.ru/file/?fileid=2342 Часть 1. Для тех, кому лень читать, а хочется побыстрей прошить и забыть. Не буду акцентировать вопрос на том, что такое биос, какие они бывают и зачем. Раз вы это читаете, значит вам что-то уже известно. Потому начнём с обратного - развеем самые стандартные, почему-то непотопляемые мифы и заблуждения. 1. Шить биос нужно (лучше) только "своим" прошивальщиком (пример: Award - с помощью awdflash, AMI - amiflash). Бред. Однако некоторым сложно это понять и поверить - ведь на сайте производителя платы много всяческих грозных непонятных предупреждений (да ещё и на нерусском). Почему же так? Интересно - тогда дочитайте эту и прочитайте следующую часть. 2. Шить биос "на горячую" (hot swap - "хотсвапом") нужно (можно) только на точно такой же матери (таком же чипсете, с точно такой же флэшкой т.п.) Второе самое распространённое заблуждение. Имеет корни в незнании функционирования различных типов флэшмикросхем, которое, действительно, может накладывать некоторые ограничения на используемую для хотсвапа мать. Хотя если у вас есть другая точно такая же (только рабочая;) мать - это несомненный плюс. Прошивальщики. Самыми популярными являются Awdflash, AMIflash и Uniflash. Остальные являются специфичными для конкретной фирмы (например, для "родных" матерей от Intel либо Asus - свой, ибо другие могут не сработать). Я не буду касаться расшифровки ключей - этой информации полно в интернете, я остановлюсь на том, какие из них включать. ВНИМАНИЕ: запуск флэшера БЕЗ КЛЮЧЕЙ ключей (т.е., соответственно, с оными по умолчанию) может привести к ПОВРЕЖДЕНИЮ биоса, даже если вы не собирались его перешивать, а лишь полюбопытствовали либо хотели сохранить текущую версию. Это крайне редкое явление и в основном касается некоторых версий amiflash, но оно точно имеет место (сам попадался и не раз. ДОПОЛНЕНИЕ: запуск различных утилит (например, типа DMICFG), имеющихся на компактах прилагаемых к матплате (для "настройки" биоса) часто приводят к ситуации аналогичной предыдущему абзацу - повреждение биоса, даже если вы не собирались ничего делать, а лишь полюбопытствовали и ничего не перешивали. AWDFLASH. Самый популярный, но не самый лучший. Запускать с ключиками: awdflash имя_прошивки /cd/cp/py/sn/f/r В этом случае биос перешьётся без лишних вопросов (/py - Program=Y, /sn - Save=No, /f - не проверять от той ли платы это биос и биос ли это вообще и после окончания прошивки комп сразу перезагрузится (ключик /r - Reset, ежели не нужно - не писать). Ключи /cd/cp (Clear DMI, Clear PNP) настоятельно рекомендуются к ним можно добавить автоматический сброс CMOS (по умолчанию) - /cc. AMIFLASH. Не такой популярный как awdflash, но в отличие от оного - самый лучший (даже несотря на вышеупомянутые проблемы с некоторыми версиями при запуске без ключиков). Запускать с ключиками: amiflash имя_прошивки /b /n /-o /-c /-d /-r /v /-i /-k /-e /-g Если нужно сохранить старый биос, запускать с ключиками (_без_пробела_ после /s) amiflash /b /n /-o /-c /-d /-r /v /-i /-k /-e /-g/sимя_прошивки Чтоб не набирать такую кучу ключей - не поленитесь, сделайте один раз .bat-файлик с содержимым типа: c:\vc\utils\amf.exe %1 /b /n /-o /-c /-d /-r /v /-i /-k /-e /-g (или можно скачать его с этого сайта) Uniflash. В данной части его рассматривать е буду, т.к. несмотря на его реальную продвинутость, он требует некоторой подготовки/опыта со стороны пользователя. Особенности перешивки биосов на платах от Asus. Для перешивки асусовских плат не подойдут "стандартные" прошивальщики, т.к. ВСЕ асусовские биосы (начиная с самых древних Pentium1) блокируют обычные способы перешивки. Для перешивки на таких матплатах придётся использовать фирменные_асусовские_утилиты. Для самых старых плат - это pflash, для более современных - aflash (хотя во многих случаях aflash подходит и для очень старых), для совсем новых - придётся использовать утилиты под винду. В случае pflash/aflash выражение "придётся использовать" не совсем корректно, т.к., во-первых, они крайне удобны, понятны, достаточно универсальны и, главное, не пристают с вопросами, прошивая "всё, что шьётся". Во-вторых, амифлэш всё-таки можно использовать, хоть он и заканчивает работу с ошибками (точней не он, а dos4gw). В любом случае, всем счастливым обладателям асусовских плат к перешивке нужно подходить с особым вниманием ибо восстановление при ошибке дело непростое, а иногда очень даже сложное. И если вы даже имеете опыт и даже немалый - повторюсь, будьте бдительны, асусовские инженеры используют в своих творениях крайне изощрённые меры для защиты биосов, обратной стороной медали которых являются иногда возникающие серьёзные проблемы с "оживлением" - плата может "прикидываться" дохлой ("00" на POST-карте), флэшка - аналогично (при попытках перешивки на других платах), хотя реально и один и другой будут совершенно живыми, что может подтвердится установкой оных в другие точно такие же, только исправные... Если вы боретесь(-лись) с подобными глюками - внимательно прочтите главу о LPC-интерфейсе (асусовцы его давно применяли, в то время как другие стали его использовать совсем недавно)... п.с. подобное в определённой степени (желательность и/или обязательность использования "родных" фирменных прошивальщиков) касается и некоторых других производителей (как правило - известных). Например, многие платы от Abit также имеют тонкости при программировании - тот же Uniflash, вообще, предупреждает, что не дружит с этой фирмой... Основные проблемы (и сообщения об ошибках). 1. Объём файла прошивки не сопадает с объёмом флэшки. Распространённая проблема. Как правило является результатом того, что производитель использовал в разных версиях (матплат) разные флэшки (по объёму). Например, первые платы какой-то модели шли с мегабитными, а все следующие - с двухмегабитными. В некоторых случаях, если производитель не признаётся, что выпускал платы с биосы разных объёмов, это может быть свидетельством того, что плата "левая" (т.е., например, в подделке используется более дешёвая флэшка большего объёма - 4Mbit вместо 2Mbit). 2. Прошивальщик по каким-либо причинам "не соглашается" прошивать биос, утверждая, что он не от этой платы или вообще не биос. Ещё более распространённая вещь. Однако с вышеуказанными "секретными" ключиками вас больше не будут посылать… почитать даташиты. 3. Прошивальщик не может определить тип флэшки и потому не прошивает её. Это тоже частое явление. Причин тому может быть несколько: - стоит защита от перезаписи (именно это обычно и предлагают проверить матюгающиеся прошивальщики). На древних платах защита ставилась перемычками, в современных - как правило, выбирается в BIOS Setup (пунктик типа BIOS Flash Protection = En./Dis.). - данная версия прошивальщика не знает данный тип флэшки. Редкое явление - обычно возникает при попытке шить древние флэши новыми версиями либо наоборот. - всунутая хотсвапом флэшка (тип) не поддерживается самой матерью - см. дальше по FWH/LPC интерфейсам… - просто битая флэшка - убедитесь ещё раз, что вы вставили её правильно… ;) - флэшка - вовсе и не флэшка, а "однократной записи" либо вообще - с УФ-стиранием (с окошком). Верно, как правило, лишь для самых древних плат (до Pentium1) и можно определить по маркировке - она будет начинасть с цифр 27…. 4. Всё прошло благополучно, без видимых проблем и… тишина. Для восстанавления вам придётся всё ж почитать подробней - см. дальше. Часть 2. Для тех, кому это нужно/интересно, либо было лень читать первую, а теперь надо восстановить "как было"… Учитавая понятный факт, что эту статью, как правило, будут читать не для перешивки новой версии биоса, а восстановления работоспособности вообще, остановимся на различных способах перешивки. 1. Прошивка на программаторе. Банально и неинтересно - разбиваешь свинку с мелочью, выдираешь флэшку и идёшь с дискетой и пивом к ближайшим ремонтникам, владеющих приёмами борьбы программатором. Если флэшка запаяна - придётся разбить ещё одну свинку и нести всю плату. Могу посоветовать напрячь их впаять колодку - впредь при желании сможете сэкономить на третьей свинке… 2. Хотсвоп (на горячую). Берётся другая РАБОЧАЯ плата. Как уже говорилось, она не обязательно должна быть "точно такая же", "на таком же чипсете", "той же фирмы". Главное, на что стоит ориентироваться - тип/маркировка флэшки. Есть две основные "совместимые" группы: - "обычные" (в частности, именно к ним относятся все "прямоугольные" флэшки - в DIP32 корпусе) - 28xxxx, 29xxxx, 39xxxx, некоторые 49xxxx - "хабовые" (все они только "квадратные" - в корпусе PLCC32) - большинство серии 49xxxx и "родные" интеловские 82802xx Соответственно, если на плате для восстановления будет "совместимая" флэшка того же (или большего) объёма - всё должно пройти. Как сделать. Проявите фантазию - главное "во время процесса" не ронять на работающую плату чужеродные токопроводящие детали (и не проливать жидкости). Для микрушек в корпусе DIP32 - попроще. Обычно рекомендуют обвязать их нитками, чтоб выдернуть можно было полегче. Я же порекомендую найти что-нибудь типа шлейфика от старенького COM-порта и подложить его под микросхему - так и схватиться удобней и ширина как раз на микросхему и толщина кабеля не даст сильно застрять флэшке в разъёме. Картинка - варианты "ухватов" для DIP32 Для "квадратных" (PLCC32) - чуть сложней. Можно продолжить мучаться с нитками. Если есть неплохой доступ и руки не дрожат - можно банально подковырнуть иголкой в соответствующих уголках и аккуратно вынуть. Если же постоянно занимаетесь этим (перешивкой подобных) или просто хотите "чтоб наверняка" - приклейте к "спине" флэшки какую-нибудь штуку, чтоб можно было удобно вынимать/вставлять: подойдёт кусок пластмассы или даже растопить часть стержня для клеевого пистолета… В общем - это уже дело техники, в крайнем случае вы можете пойти и купить специальный "экстрактор" для PLCC32. Картинка - варианты "ухватов" для PLCC32 3. С дискеты (для некоторых самых последних - с винчестера/CD-ROM-а). В случае, когда компьютер умер не полностью и при загрузке противно хрустит дисководом и/или выдаёт надпись "BIOS checksum error" можно попытаться восстановить биос без походов к товарищу. ВНИМАНИЕ: Если у вас стоит AGP/PCI видеокарта - вы можете не увидить этого сообщения (биос чексум еррор). Для этого потребуется ISA-карточка для P1-P3-компьютеров, PCI-карта для более современных, не имеющих ISA-слотов. Хотя в большинстве современных плат бутблок (а именно он сообщает об этом грустном факте, пытаясь восстановить биос с дисковода) поддерживает вывод и на AGP-карточки. ДОПОЛНЕНИЕ: Если у вас есть POST-карта (например, встроенная в матплату), то "BIOS checksum error" просто отслеживается по ошибке "41" в самом "начале" POST-а (если вы не способны оценить "начало", то это где-то 5-6 код из тех, что вы успеет разглядеть. Код "41" в Аварде - это обращение к FDD (попытка загрузиться с дискеты), в случае AMI "бутблочные" коды попыток загрузиться с авариной дискеты - "F0-FE". В большинстве случаев для этого нужно сделать чистую системную дискету (т.е. только файлы io.sys, msdos.sys и command.com) и записать на неё файл с прошивкой (bios.bin), сам прошивальщик (awdflash.exe) и autoexec.bat с соответствующей командной строкой внутри: - для Award: "awdflash bios.bin /cd/cp/py/sn/f/r" - для AMI: "amiflash amibios.rom /b /n /-o /-c /-d /-r /v /-i /-k /-e /-g" При чём не рекомендую использовать свои имена прошивок/прошивальщиков (т.е. стоит использовать только вышеуказанные стандартные названия) - некоторые биосы (бутблоки) могут просто проигнорировать такой диск, выдавая всё то же сообщение о несистемной дискете в дисководе. Однако единого "стандарта" на процесс восстановления с дисковода всё же нет. Большинство "брэндовых" компов (т.е. фирменные Intel, HP/Compaq, Dell, IBM, Fujitsu etc) могут быть оживлены дискеткой, содержимое которой можно слить с их собственного сайта (там же должно быть подробное описание). В зависимости от современности конкретной платы/биоса (Award/AMI) на дискетке может потребоваться наличие ЛИШЬ (т.е. она, наоборот, не должна быть системной) файлов прошивальщика и прошивки или даже, вообще, только самой прошивки (когда прошивальщик встроен в биос). Короче имеются различные вариации и если к ним добавить возможность просто аппаратного сбоя самого бутблока и/или железа, то восстановление прошивки данным методом становится не самым надёжным и "многовероятным" способом (это же подтверждает и статистика). Однако, всё равно, начинать лучше именно с него - авось, повезёт и свинка уцелеет… ;) Часть третья. Для тех, кому, всё же, нужно разобраться. Азы. Что ж, если дочитали досель - значит начнём с самого начала. Которое я пропустил из-за того, что очень многие его не читают , предпочитая середину или даже сразу конец. Немного о принципах работы. "Обычная" флэшка имеет следующие сигналы: - 8 линий данных DQ0-DQ7 - 17-18 линий адреса A00-A16/17 (в зависимости от объёма: 1Mbit - 17, 2Mbit - 18) - CE# (ChipEnable) - "чипселект" (разрешение на работу с микросхемой) - OE# (OutputEnable) - RE (возможность считать байт данных) - WE# (WriteEnable) - WE (возможность записать байт данных) Короче, достаточно примитивно и понятно, даже если вы не обладаете особыми познаниями в электронике. И уже из этого видно, что уже только из-за 8-битной шины данных (в современных Nforce2 - она 128-bit) скорость выборки данных из флэшки (которая к тому же ещё больше ухудшается из-за больших задержек самой флэшпамяти) превратила бы загрузку даже самого быстрого компьютера в мучительное ожидание. Поэтому флэшка подключена особым способом к южному мосту, что позволяет "отображать" ("Shadow") её содержимое на "реальную" память, эмулируя при этом память ReadOnly (ПЗУ по-нашенски) и снимая ограничение по скорости. Опять же, из сказанного ещё один вывод: ежели вы засунули совсем нездоровую флэшку либо вставили её неправильно - пострадать может не только сама микросхема (что обычно и случается при вставлении "задом наперёд"), но и напрямую_подключённый_южный_мост (из неоднократного личного опыта). В адресном пространстве флэшка занимает самые верхние адреса E0000-FFFFF (верно для 1Mbit, для остальных аналогично, потому разберём на примере именно 1Mbit/AwardBIOS). После включения компьютера и окончании сигнала RESET# процессор выполняет свою первую команду по адресу F000:FFF0. После самой первичной инициализации происходит проверка различных контрольных сумм (их много в биосе), главная из которых - контрольная сумма E000:0-FFFF+F000:0-BFFC. Если она нарушена происходит запуск бутблока, расположенного по "самым" верхним адресам (F000:C000/E000-FFFF - последние 8/16kB), который производит инициализацию дисковода и пытается считать с него систему и/или запустить прошивальщик с прошивкой. Отсюда ещё один интересный вывод: если вы хотите принудительно запустить бутблок (для перешивки) можно испортить CRC "вручную" - закоротив адресные линии "выше" бутблочных. Например, я обычно корочу рядом расположенные A15 и A16 (pin 2 и 3) . Объём бутблока = 16kB = 2^14 в результате чего он никак не пострадает, а контрольная сумма "остального", понятно, собъётся. Если вам не совсем понятно, зачем это может быть нужно, то когда столкнётесь с запаянной флэшкой, в которую залили "похожую" прошивку - поймёте. ;) И, кстати, для линий адреса это (корочение) совершенно безопасно. После проверки CRC биос "шадовится" (операция Shadow), т.е. происходит копирование содержимого флэшки в "реальную" память, сама флэшка отключается (южным мостом), а для того, чтоб программы поверили, что обращаются к ПЗУ на область адресов биос вешаются атрибуты ReadOnly посредством программирования регистров SB (и/или MSR процессора для AMD K7/K8). Вся дальнейшая работа происходит только с "зашадовленным" образом флэшки. Вывод: Именно по этим причинам мы можем беспрепятственно вытаскивать флэшку, сразу же, как только увидим строчку "Starting Windows/DOS/linux". Если же потребуется работа именно с самой флэшкой (например, запись в неё ESCD/DMI), то для этого используются соответствующие процедуры, специфичные для каждого чипсета - нужно будет опять подключить флэшку к шине и снова отключить после окончания операции. Вывод: из-за различных способов программирования подключения/отключения флэшки (для различных чипсетов) прошивальщик должен уметь это делать, т.е. "знать" чипсет, на котором происходит перешивка. Особенности программирования микросхем Intel 28Fxxx. Если в вашей плате стоит флэшка от Intel - будьте трижды осторожны при прошивке. Дело в том, что интельные микросхемы используют аппаратную защиту бутблока. Что это значит? А это значит, что в них присутствует ещё один сигнал - RP# (pin 30) - разрешение на программирование бутблока. В двухмегабитках - это A17, 1Mbit - NC (NotConnected, не используется). Т.е. для того, чтоб корректно прошилась вся_область_флэшки на ножке RP# должно присутствовать +12V. Именно это задают распространённые на многих Socket7-матерях перемычки с названием Flash Type: Intel / Non-Intel. Вывод: Если в плате стоит Intel 28Fxxx, а разводка платы не предусматривала правильную коммутацию для программирования Intel-флэшей (что является очень распространённым явлением) - BIOS погибнет при первой же попытке перешивки без особых шансов на восстановление (на этой плате). Для перешивки Intel 28Fxxx на таких платах (без разводки RP#) нужно подать на pin30 вручную +12V, но так, чтоб оно не пошло на саму плату (а это A17) - для это можно просто отогнуть эту лапку, т.е. чтоб она не втыкалась в сам разъём.
__________________
РЕКЛАМА ЗАПРЕЩЕНА Последний раз редактировалось Явор; 07.05.2007 в 20:57.. |
|
Реклама: | беркеты | вешалка | монстр дорама кто убийца | Компьютерная фирма КНС Нева предлагает Ippon Back Comfo Pro II 850 - быстро, качественно и надежно! г. Санкт-Петербург | стулья высокие для производства в цех |
09.03.2007, 14:29 | #2 |
Re: Искусство перепрошивки BIOS
Программные особенности программирования флэшек.
Главный аспект, на который хотелось бы обратить внимание - флэшка не перепрограммируется "зараз" (сразу одним блоком) и, наоборот, нельзя перезаписать один отдельно взятый байт. Флэшка поддерживает лишь "блочную" запись (секторизация). У разных типов флэшек разная секторная организация. Например у распространённой Intel 28F001BX есть следующие блоки: 1. Первый блок, в начале, самый большой, "главный" - 112kB. В нём обычно располагается всё "тело" упакованного биоса (поэтому самый большой). 2. Дальше два одинаковых блока по 4kB - в этих адресах обычно хранятся изменяемые данные типа ESCD/DMI/CMOS/пароли и т.п. 3. Последний блок - 8kB - бутблок. Т.е. говоря техническим языком - i28F001BX имеет организацию 112+4x2+8 Достаточно понятная и логичная организация: самый большой блок в 112kB, всё равно, переписывается лишь при обновлении биоса, дальше - постоянно изменяемые данные, потому сделаны два маленьких блока (чтоб легче и быстрей было перезаписывать эти "куски") и в конце - неизменяемый обычно бутблок (специально отдельно от других - для защиты биоса в смысле возможности запуска аварийного восстановления с дисковода) - он всегда сделан отдельно, что его "не трогали" при обычных перезаписях других блоков. Некоторые флэшки имеют очень мелкую сеторизацию, например, та же SST29EE020 (2Mbit) имеет целых 2048 одинаковых секторов по 128 байт. Однако большинство, всё ж, придерживается организации схожей с вышеприведенной, потому как маленький блок имеет и свои отрицательные стороны (например, в плане более сложной защиты от перезаписи). Часть четвёртая. "Хабовые" флэши. Как всё было просто в старые добрые времена - шина адреса, шина данных, CE/WE/OE… ;) Но прогресс (особенно в отдельно взятой фирме ;) не стоял на месте и с появлением чипсетных наборов i8xx получило распространение это страшное и многим малопонятное название - "хабовые" флэшки. LPC-интерфейс. В конце 97-го года Intel решила, что у мощного процессора обязательно должен быть баальшой биос (4-8MBit и больше, хотя большинство фирм до сих пор используют в основном лишь 2Mbit), а для этого никак не хватит ног (для линий адреса) на широкораспространённых "обычных" PLCC32-флэшках. Сказано - сделано, так появился стандарт LPC (LowPinCount - "малоколичественноножное" соединение, хотя корпус по понятным причинам оставили прежним - PLCC32). Кроме возможности использования больших (до 4Gb!) объёмов флэшей одной из самых главных причин называлась скорая погибель ISA-шной шины, отстутствие которой снимало потребность разводить линии адреса/данных и позволяло ограничиться меньшим количеством линий для общения, в первую очередь, "мультика" (SuperIO) и южного моста (очевидная возможность же интеграции SIO в сам SB скромно умалчивалась;). В LPC для этого используется лишь пять проводов: LAD0-LAD3 + LFRAME# (поэтому "lowpin…"). Применительно к флэшам (т.к. использовать LPC-интерфейс могут разные устройства) этот стандарт вылился в следующее воплощение: () - в скобках - значение ножки в режиме LPC или FWH Как видно, такая флэшка может работать сразу в двух различных режимах - LPC-mode и PP-mode (Parallel-Programming). Режим работы выбирается уровнем на ножке IC (Interface Configuration Pin) во время старта компьютера- "0" - LPC-mode, "1" - PP-mode. Режим PP наиболее близок к "обычным" флэшкам и совместим с ними по многим (но не по всем) ножкам, с учётом только того, что линий адресов всего 11 (0-10), но зато они мультиплексируются, т.е. сначала выдаётся/считывается значение A00-A10, а затем A11-A21. С учётом этого (мультиплексирования адресов) и "пропажи" сигнала CE всё остальное полностью аналогично "обычным" флэшкам. В режиме LPC общение между мостом и флэшкой происходит лишь по четырёхбитной шине, а пятый LFRAME# служит в качестве стартового (для начала операции по обмену данными). Плюс LRESET# и LCLK#, которые полностью аналогичны своим собратьям на материской плате - вот и весь набор нужных проводов (остальные - опционально). В общем, это есть попытка максимально упростить интерфейс, но не скатиться до "абсолютно последовательного", типа I2C, оставив возможность использования даже режимов DMA и BusMaster-инга (которые могут использоваться, например, в устройствах типа DiskOnChip/LPC). Режим PP используется при "заводской" прошивке флэшки (он, ведь, понятно - быстрей, что и важно при массовом производстве) , а LPC - при работе в составе плат. Только вот для работы с такими флэшами нужно, чтоб южный мост умел это делать - в результате такой стандарт стал реально популярен лишь с приходом популярного Nforce2 (потому как он никогда и не слышал про ISA-шину… FWH-интерфейс. В результате достигнутых высот в области стандартизации ;) , компания Intel, с выходом чипсетных наборов i8xx продолжила нести знамя родителя новых стандартов. Так появился ещё один режим работы - FWH (FirmWareHub, от которого, собственно, и пошло название "хабовые"). Он был полностью аналогичен LPC электрически (по ножкам/разъёму), но (дальше сами догадаетесь;) - абсолютно _несовместим_ по протоколу передачи данных. Как можно прочитать в некоторых документах, это было сделано для возможности поставить в систему кроме LPC-устройства ещё и FWH, повесив их на одну и ту же шину (ведь они электрически совместимы, но при передаче пакетов данных каждый будет брать свой из-за разных протоколов), при чём "хабовых" флэшей можно было навешать до шестнадцати штук, т.к. в них появились дополнительные ID0-ID3 сигналы. (прим. автора: все мои уколы в сторону родителя x86 просьба воспринимать как шутку, хотя как известно - в каждой шутке есть доля шутки… ;) см. рис. выше. Как видно, картина совершенно аналогично LPC, только названия LAD0-3 + LFRAME# заменены на FWH0-3 + FWH4. Режим PP совершенно тот же. FWH отличается от LPC протоколом, т.е. все команды для операций имеют совершенно другие кодовые значения в полях обмена данными. Плюс возможность использовать несколько (до 16) FWH-устройств, благодаря введению новых "идентификационных" сигналов ID0-3. По умолчанию для работы в качестве флэшки на матплате принимается ID=0000 (что и запросто можно проверить, прозвонив соответсвующие ножки (9-12) на вашей интеловской плате (они все "на земле"). Вообще, универсальным способом отличить флэшку по типу хабовая/обычная можно просто прозвонив ножку pin28 - в хабовой она будет строго на земле, в то время как в "обычной" будет что-то в районе килоома ("звонить" надо в колодке самой матплаты, хотя некоторые флэшки тоже "звонятся" - для этого используйте pin16/28). Собственный "перешивочный" комплекс. Если вы по работе постоянно имеете дело с потребностью в перешивке могу дать несколько рекомендаций. Кто-то может посоветовать использовать в таком случае именно программатор, хотя я так не считаю и даже не советую. Для этого есть две простые и веские причины - во-первых, программатор не знает всех типов микрух (правильней, конечно - есть такие, что знают, но их цена исчисляется тремя нулями без преувеличения), во-вторых, даже не самый крутой программатор просто дороже. Для перешивки 99.9% флэшек (к матплатам, конечно) вам понадобятся три платы: 1. Что-нибудь подревнее, под Pentium1 - для перешивки очень распространённых Intel-флэшей 1Mbit. 2. Что-нибудь под P2 с 2Mbit-ным биосом - для перешивки остальных "обычных" 1- и 2Mbit флэшек. 3. Что-нибудь под P3 из серии i8xx - для перешивки "хабовых" флэшек. 4. (Добавлен в последней версии статьи - прим.ред.) Что-нибудь на nForce (1/2/3). В качестве п.1 я использую Asus на i430HX (конкретно - P55T2P4). Для таких случаев (1Mbit и /или Intel-флэшки) рекомендуется именно Asus по причине возможности использовать исключительно удобный асусовский прошивальщик - старый pflash или поновее aflash - элементарные в использовании, не пристают с глупыми вопросами и показывают адрес повреждённой области микросхемы в случае ошибки. В качестве п.2 я использую плату на i440BX (конкретно - PCPartner-928). Она 2Mbit-ная, что позволяет шить и 1- и 2Mbit-ные "обычные" флэшки. Тип разъёма на ней DIP32, для перешивки PLCC32 используется переходничок PLCC32->DIP32, сделанный из старой неисправной платы с PLCC32 колодкой (см. фото). Фото самодельного переходника PLCC32->DIP32 (сделан путём фигурной резьбы лобзиком по неисправным материнским платам;) плюс допаянные вручную ножки) В качестве п.3 я использую плату на i820 (конкретно - Chaintech 6CTA2). На ней стоит i82802AB (4Mbit), что позволяет шить как сами интеловские "хабы" так и "хабовые" 2- и 4Mbit-ные флэшки. В качестве п.4 я использую плату на nForce (первый который, но не принципиально) - Abit NV7-133R. Она предназначена для самых тяжёлых случаев - для перешивки "чисто" LPC-шных флэшек. /Просто многие (даже, видимо - большинство) производители плат на nForce1/2/3 (а LPC стал использоваться именно на них) обычно используют флэшки с поддержкой и LPC и FWH, что позволяет шить их на п.3)/. Вообще никаких особых условий по выбору конкретной модели или фирмы (кроме случая с Асус для Intel-флэшей) нет. Не нужно стремится брать для такой цели "крутые" и "навороченные" платы. Нужно строго наоборот - чем "безвестнее" и примитивнее плата - тем более лучший получится из неё "программатор". Т.е. для этого просто идеальны всякие Акорпы да PCPartner-ы, а вот любые платы даже с минимальными "претензиями" всегда ухудшают "универсальность". Плюс, конечно, другим важным условием является хороший и удобный доступ к гнезду флэшки. В качестве главного программного обеспечения используются amiflash (конкретно - версия 8.37, только с ключами). Он знает большинство чипсетов/флэшей и очень удобен в работе благодаря удобной коммандной строке (батфайлик для него прилагался выше). Для редких случаев, когда не справляется amiflash (некоторые типы флэшек и/или экзотные чипсеты) - используется awdflash (обязательно с ключом /f). Для тяжёлых случаев (как правило очень экзотные флэши/биосы/чипсеты, очень старые, либо, наоборот, самые новые матплаты) используется Uniflash. Он же может быть использован с целью визуальной проверки места проблем во флэшке. Плюс особенно стоит обратить на него внимание счастливым обладателям современных плат на Nforce2, использующие LPC-флэшки типа PMC (как правило - Epox/Gigabyte). PMC-шки умеют работать сразу во всех трёх режимах (LPC/FWH/PP) и, может быть, из-за этого часто "стандартные" прошивальщики некорректно их перешивают (а то и зависают в процессе перешивки) - uniflash же это делает исключительно корректно. п.с. последние версии uniflash стали настолько корректными и удобными, что теперь я в основном только им и пользуюсь... Экстремальные способы перешивки/восстановления. В некоторых совсем клиниеских случаях приходится прибегать к использованию сразу двух прошивальщиков - например, прошиваете сначала с помощью amiflash, а после этого сразу же с помощью uniflash. После первой попытки амифлэш ругнётся, что прошил некорректно, а uniflash перешьёт уже корректно. В то время как другая последовательность действий (например, сначала uniflash, а потом amiflash и т.п.) может не принести должного результата. Это, скорей всего, связано с разными алгоритмами перешивки конкретных флэшей, когда одному прошивальщику удаётся правильно сделать первую часть операции, а другому - заключительную. (п.с. и это всё, кстати, не бред сумасшедшего, а реальный опыт прошивки флэшей, например, типа AMD, имеющих нестандартную защиту от записи или флэшек, имеющих повреждённую и/или нестабильную область) Когда у вас есть под рукой только "одномегабитная" плата, а нужно прошить двухмегабитку ("обычную") можно сначала прошить первую половину (1Mbit), а потом "отдельно", вторую половину. Для этого разбиваете файл биоса на две части (по 1Mbit=128kB) с помощью любого hex-редактора и прошиваете сперва последнюю часть. После этого коротите ножку 30 (A17 в 2Mbit и NC в 1Mbit) на землю и заливаете "начальную" половину. (п.с. Ограничение данного способа может возникнуть, если флэшка не будет поддерживать нужную для такого случая секторизацию записи) Другим развитием (вариантом) предыдущей ситуации может быть заливка лишь "конечной" части (по сути нам нужен лишь бутблок). После этого таким образом "недошитая" микросхема вставляется в родную плату, где автоматически из-за неоответствия CRC начнёт грузится бутблок. С помощь которого уже в родной плате всё можно будет банально восстановить "с дискетки". Прошивка флэшек с различными напряжениями перерограммирования. Различные типы флэшей рассчитаны на разные вольтажи программирования. Самые распространённые - это 12V/5V для старых плат, для современных, это 3.3V/3V/2.7V и меньше. Теоретически, для каждого типа нужно выставлять нужное конкретной флэшке напряжение с помощью перемычек на матплате (если такие, конечно, имеются). Практически же получается, что флэшки с более меньшим напряжением программирования совершенно благополучно шьются более высоким напряжением. Т.е. если на матери стоит 5V-овая флэшка (например, большинство серии 29xxxx), то флэшки с более низким уровнем перепрошивки тоже на ней прошьются на ура без всяких претензий по его завышенному значению. И без хоть какой-то вероятности повреждения более низковольтных клиентов. В случае обратного соотношения - перешивка 12V-овых флэшек на 5V-овых матерях (или с перемычками установленными на 5V) тоже часто имеет благополучный исход. Хотя здесь он уже и не является правилом - поэтому при программировании микросхем серии 28xxxx (большинство которых - 12V) - будьте бдительны по поводу правильно выставленных перемычек и не стоит пытаться их перешивать хотсвопом на современных платах (т.к. 12V-ые были лишь P1-P2), т.е. чем древней, тем больше шансов на корректную перешивку. Если перемычки на плате не подписаны - можете просто померять напряжение на pin32 (справа сразу от ключа, если смотреть ключом вверх). В самом крайнем случае, если на плате нет перемычек - можно отогнуть эту ногу из сокета и подать на неё 12V "вручную" (например прямо от разъёма БП).
__________________
РЕКЛАМА ЗАПРЕЩЕНА |
|
26.03.2007, 22:06 | #3 |
Re: Искусство перепрошивки BIOS
Почему не стоит перешивать BIOS.
Хочется остановится на нескольких самых распространённых проблемах "нужности" перешивки BIOS. Так сказать, десятка самых распространённых мифов и заблуждений. 1. "Вот, хочу купить себе ещё памяти "такой-то", но у меня нет "таких-то" разъёмов на материнской плате, какой BIOS перешить, чтоб всё заработало?" После перешивки BIOS на плате нового ничего не вырастет, а потому, естественно, и память нужно брать только ту, что поддерживает материнская плата. 2. "Вот, хочу процессор разогнать, какой-такой мне BIOS перешить, чтоб выбор частоты был в биос, а не перемычками (появилось в BIOS поднятие напряжения/изменение коэффициента/UDMAxxx и т.п.)?" Аналогично п.1. В дополнение можно лишь добавить (и обобщить): BIOS осуществляет лишь ПОДДЕРЖКУ имеющихся возможностей платы. И ни каким количеством нулей и единиц не способен добавить даже хоть одну "малюююсенькую перемычечку"... 3. "Я тут новый процессор (видеокарту) купил, пришёл домой, смотрю - а у меня, оказывается, другой разъём. Может мне помочь перешивка биоса?" Не может. См. пп.1-2. 4. "Мне сказали, что у меня пентиум-1, а я хочу поставить пентиум-2 (3, 4 и т.д.). Как мне перешить BIOS, чтоб он поддерживал пентиум-2 (3, 4 и т.д.)?" Никак. См. пп. 1-3. 5. "У меня есть плата (нашёл, подарили, не помню от куда), так она не работает, надо на ней BIOS перешить. Правда, может быть, она не включается из-за того, что я как-то раз её к блоку питания неправильно подключил (на работающую отвёртку/скрепки уронил, наступил (совершенно случайно, два раза), нескольких деталек не хватает и т.п.), но это навряд ли..." BIOS является важной частью материнской платы. Но не всё зависит ТОЛЬКО от его работоспособности. Не надо считать его перешивку панацеей от любой неисправности (и причиной). Особено, если на плате - "...ну, там, пару деталек кто-то выпаял"... 6. "Не нравится мне мой AMIBIOS (Award), можно его поменять на AwardBIOS (AMI)?" BIOS не имеет возможости изменять как в Winamp-е "skins" (к сожалению, наверно. Всё намного сложнее. Каждый конкретный BIOS пишется под конкретную плату. Производителю платы нет смысла платить дважды лишь для удовлетворения запросов истинных "эстетов" и делать два варианта BIOS под одну и ту же плату. Поэтому в случае "проклятого АМИ" просто "поставить любимый Авард" нельзя, за исключением действительно очень редких случаев, когда в природе всё ж существуют два варианта прошивки (и всё равно, как правило, один из них "более свежий"). 7. "У меня на экране появились какие-то точечки (изображение стало дребезжать, не те цвета и т.п.). Это видимо BIOS испортился, надо перешить." Вообще, BIOS может иметь отношение к проблемам изображения, но ТОЛЬКО из-за высталения в BIOS Setup некорректных значений (не поддерживаемых установленной видеокартой) связанных с работой видео. Миф о том, что "мой друг перешил и у него всё пошло" в основном имеет природу банального "Clear CMOS" при перешивке, т.е. сброс всех значений на "заводские", а для этого совершенно не обязательно "перешивать". В любом случае, если всё работало, ничего в BIOS Setup не менялось и вдруг пришёл "откуда_не_возмись" - первым делом проверьте саму проблему, т.е. монитор и видеокарту, а если с ними точно всё в порядке, узнайте, не "экспериментировал" ли кто с настройками в ваше отсутствие. 8. "У меня в Ворде (Excel-е, Access-е, Тетрисе, минёре и т.д.) пропала менюшка (не изменяется шрифт, не сохраняются данные, не отсылается сообщение и т.п.), надо перешить BIOS." BIOS не проверяет орфографию, не подсматривает карты и не расставляет мины. И хотя он тоже является программой, но уж совсем не влияет на работу офисных приложений. Как говорится: "Все претензии к дяде Биллу", хотя в 99.9% других случаев больше подходит: "Читайте хэлпы, они - рулез". 9. "У меня были вирусы на винчестере, я их всех удалил, но они постоянно откуда-то появляются. Мог вирус залезть в BIOS?" Теоритически возможность "прошиться" вирус в BIOS есть, но эта процедура крайне сложна, поэтому они (вирусы) "ограничиваются" (всего лишь просто его (кода BIOS) уничтожением. Поэтому можно не переживать - в BIOS вирус не залазит и всегда, даже в случае просто "брюсвиллисовской "неистребимости, можно (и нужно) найти "рассадник". Правда, я как-то слышал про какой-то особенно извращённый подвид, который в дополнение ко всем своим "зверствам" заменял сообщение, выводимое BIOS-ом на экран какой-то обидной фразой. Но так, чтоб "зашиться" и постоянно зверствовать - это, видимо, у нас пока ещё впереди 10. - Вот, хочу BIOS перешить. - Что, компьютер испортился? - Нет, работает. - С видео/памятью/винчестером проблемы? - Да нет, всё нормально. - Медленно? Бывает зависает? Не все игрушки идут? - Да нет, всё отлично, всё бегает, никаких проблем. - Хотите памяти добавить/процессор побыстрей/винчестер побольше? - Нет, меня всё и так устраивает. - ТАК @@@@@@@@@@@@ ПЕРЕШИВАТЬ?!? - Так ведь старый уже стал, биос-то... Без комментариев. Просто: "Люди, не мешайте компьютеру работать!..."
__________________
РЕКЛАМА ЗАПРЕЩЕНА |
|
06.04.2007, 22:04 | #4 |
Re: Искусство перепрошивки BIOS
BIOS Inside BIOS – все, кто более-менее сталкивался с компьютером, слышал про это слово. Для того, чтоб основательно разобраться в этом вопросе, разберём всё по порядку. Материнская плата - куча больших и маленьких, квадратных и прямоугольных микросхем, нашлёпанных между многочисленными разъёмами и связанные друг с дружкой паутиной дорожек-проводников, часть которых видна, а часть нет (современные платы имеют 5- 6-тислойный монтаж). Одна из многих микросхем представляет собой микросхему памяти, смешного по теперешним меркам объёма - от 64кБ у 486-х до 512кБ у Пентиум-3 с интегрированными компонентами («стандарт» для 486-х - 64kB, Pentium-1 - 128kB, Pentium-2/3 - 256kB). При чём её содержимое сохраняется при отсутствии питания, это - ПЗУ (Постоянное Запоминающее Устройство) или, по-буржуйски, ROM (Read Only Memory - Память Только Для Чтения). В ней-то и прописан объект исследований - программа BIOS (Basic Input/Output System – Базовая Система Ввода-Вывода). Итак, первое: «биос» - это программа. Просто под этим словом часто понимается и сама микросхема памяти, где она (программа BIOS) записана. Ещё под этим словом имеют в виду одну из подпрограмм – “BIOS Setup”, которая запускается обычно по клавише “Del” во время загрузки компьютера. Но мы под словом «биос» будем иметь в виду именно саму программу. Отсюда второе: это программа, а значит, состоит из подпрограмм. А зная, что делает каждая из подпрограмм, можно понять всю суть работы BIOS. Разберём по порядку все этапы (подпрограммы) работы BIOS. Нужно добавить, что они выполняются последовательно, и, если на каком-либо этапе произойдёт сбой, BIOS останавливается и сигнализирует об ошибке (чаще всего, начиная противно пищать в динамик). Итак, включили питание, всё в порядке, в том числе присутствует и процессор. Главная большая квадратная микросхема на плате (чипсет) делает сброс всех и вся (Reset). В результате процессор переходит по адресу ПЗУ и начинает выполнять записанную в нём программу BIOS (здесь и далее будем брать в качестве примера BIOS от Award, как более распространённый, хотя всё нижеизложенное большей частью с некоторыми поправками будет верно и для др. производителей BIOS). 1. Первоначальная инициализация и программирование всей логики - настройка всего этого высокотехнологичного "металлолома" на рабочий ритм. Любой малейший сбой уже на этом этапе обозначает полную неработоспособность системы. При условии исправности главных компонентов (блока питания, материнской платы и процессора) это чаще всего является результатом некорректно выставленных перемычек, например, задающих частоту работы процессора выше его возможностей («переразгон»). Как правило, при ошибке на этом этапе ничего не происходит - ничто не пищит, тёмный экран, компьютер прикидывается совсем дохлым. Что можно посоветовать в такой ситуации? – Стандартно. Если уж совсем никак не выходит, прочтите, наконец, инструкцию по эксплуатации (мануал). 2. Определение типа и количества памяти, её расположения по слотам. Для работы компьютера, естественно, нужна память. Здесь определяется её тип, количество и расположение её по гнёздам (для корректного программирования контроллера памяти). Думаю, знакомое явление, связанное с проблемой памяти (во всех смыслах, когда при включении компьютер начинает противно пищать. Это может быть из-за того, что вы забыли её (память) вставить; вставили, но не так; вставили, и так, но BIOS (плата, т.е. чипсет) её (её тип) не знает (не поддерживает); ну, или, вставили, и так, и знает, но тогда она неисправная. Здесь первый совет - используйте (покупайте) только ту память (тип), которую поддерживает ваш BIOS (плата, чипсет). Это крайне актуально в свете теперешнего обвала цен на память DIMM, когда нужно учитывать, что современная память может быть совершенно не знакома старым и даже относительно "молодым" материнским платам. 3. Проверка целостности кода BIOS путём подсчёта контрольной суммы. Если контрольная сумма не совпадает с подсчитанной, BIOS "решает", что он повреждён и запускается аварийная программа восстановления BIOS. На экран выводится сообщение типа "BIOS checksum error", система обращается к дисководу с целью загрузиться с него и запустить программу перешивки. Если же дисковод выключен/отсутствует или в нём нет дискеты/не загрузочная, то компьютер останавливается. Кстати, на старых машинах (Pentium1-2) при установленной PCI- или AGP-видеокарте, сообщение об ошибке может и не выводиться на экран, для этого нужна старенькая ISA-видео. Поэтому, если у вас установлена PCI/AGP-видеокарта и нет дисковода/ выключен, то при такой ошибке может вообще ничего не произойти - компьютер просто будет молчать. Ну, а если дисковод включен и, вдруг, весёлым утром, вы просыпаетесь, включаете компьютер, а он, кроме дурацкого подмигивания лампочкой дисковода и пожёвывания забытой дискеты, ничего не делает да не хочет ничего показывать даже на третьем одолженном у соседа мониторе, знайте – придётся «шить-перешивать», надо было предохраняться, вирусы не шутки (хотя могут быть и другие происки врагов) Здесь второй совет - не пробуйте редактировать содержимое BIOS обычным шестнадцатеричным редактором и потом перешивать отредактированную версию - придётся мучаться (или тратиться), чтобы вернуть "как было". Даже более опытным пользователем, знающим, что такое программа modbin, нужно взять на заметку – modbin не всегда корректно вычисляет контрольную сумму и на многих платах, после изменения, например, заставки или, чтоб появлялась какая крутая надпись, типа «Pentium – VIII 33.3GHz», можно запросто столкнуться с вышеописанной ситуацией. Замечено на многих платах от Chaintech, некоторых Asus, MicroStar и других, при чём это в основном «породистые» производители. Вообще, данная ситуация (checksum error) возникает довольно частенько: и при неправильной перешивке - плачевно, и при установке памяти, совсем неизвестной BIOS-у (плате, чипсету) - обратимо, и при жестоком разгоне - в основном обратимо, но иногда и плачевно. Соответственно, решение возникших в результате этого проблем достаточно просто и понятно - поставить нужный тип памяти, "отразогнать" систему, ну, а если не помогло - перешить "родной" BIOS. 4. Определение типа процессора и его частоты. Если BIOS не "узнает" процессор (его тип - модель/стэппинг), то система как бы должна остановится. Но чаще всего на экран просто выводится что-нибудь смешное типа "80486DX2 at 66MHz" для первых Pentium-ов (так обычно старые биосы ругаются на AMD K6-2) или вдруг Intel Celeron Coppermine воспринимается за Pentium III. В любом случае компьютер или не заработает, или же будет работать некорректно, а то и опасно для самих процессоров (например, в случае "незнания", выставив неверное напряжение питания процессора). Соответственно, очередной совет - перед тем как приобрести себе новый процессор убедитесь, что ваша плата/ BIOS его поддерживают. В этом смысле не всегда правильно руководствоваться тем, что написано в инструкции на плату (мануале) или на самой плате. Документация на плату обычно не самая свежая и на момент её печати производитель мог и не подозревать, что когда-то появится вот такой "крутой" процессор, вот на «столько много» мегагерц. Поэтому в ней может быть и не указано, что она поддерживает этот процессор, хотя в «последнем» (самой «свежей» версии) BIOS будет его полная поддержка. Ограничения чаще всего связаны как раз не с возможностями биоса-чипсета, а с невозможностью установить нужное напряжение питания процессора, которое у всё более новых процессоров всегда понижалось, а установленный на плате блок питания процессора не был на это рассчитан. 5. Основная настройка чипсета и прочей логики. Главная настройка/программирование переменных чипсета. Часть значений BIOS устанавливает сам, по умолчанию (задаётся производителем платы), а часть может задать/изменить пользователь в подпрограмме BIOS Setup, куда обычно попадают, нажимая Del при загрузке. Переменные, заданные в BIOS Setup записываются в специальную CMOS-память (в старых системах отдельная микросхемка, а с Пентиум-1 она встраивается в сам чипсет). Именно возможностями этого пункта и отличаются «крутые для разгона» платы, где можно задать множество настроек, влияющих на скорость (и стабильность) всего компьютера, в первую очередь, подсистемы памяти. Совет «гонщикам»: перед тем как запрограммировать переменные, BIOS «смотрит» нажата ли клавиша “INS”, и если да, то устанавливает все значения «по умолчанию». А это может оказаться крайне полезно, особенно когда выбор частоты процессора/памяти был «случайно» задан «за слишком» круто. 6. Проверка CMOS-памяти, исправности батарейного питания. CMOS-память - это совсем маленькая по объёму память (256 байт), которая благодаря своей технологии (CMOS- или КМОП- технологии, по нашему) потребляет очень мало энергии. Поэтому для достаточно долгой беспрерывной работы ей хватает маленькой трёхвольтовой батарейки. CMOS-память крайне важна для работы всего компьютера (в ней хранится вся конфигурационная информация), поэтому она также проверяется на контрольную сумму и при ошибке система просто останавливается, плата не запустится. Вместе с CMOS-памятью проверяется наличие и исправность батарейки, питающей её. В результате ошибки, BIOS выдаёт соответствующую надпись (что-то типа “CMOS-checksum error” или “Battery Low Level”, если батарейка разрядилась). Если в CMOS-е по каким-либо причинам (например, в результате разгона, севшей батарейки, после перешивки BIOS) будет просто беспорядочная информация, компьютер может совсем не запуститься. Поэтому, в любом случае, в подобной ситуации всегда есть смысл «сбросить CMOS» (перемычка Clear CMOS, расположенная обычно рядом с батарейкой) или же проверить напряжение батарейки, оно не должно быть меньше трёх вольт. Здесь ещё один комментарий: логично было бы предположить, что во время работы компьютера, батарейка должна подпитываться для подзарядки. Так вот, оказывается, есть такие супер-платы, где об этом забыли подумать, и когда батарейка садится, они тихо- мирно издыхают из-за вышеописанной проблемы. Расстроенные обладатели таких супер-плат отдают их скупщикам как металлолом, а последним остаётся просто перешить BIOS/заменить батарейку и получить абсолютно рабочую плату. Правда, до того, как она опять не вырубится таким же способом. Не буду показывать пальцем, что за монстры придумывали такие перлы, скажу только, что, видимо, не зря название этой фирмы начинается с самой последней буквы буржуйского алфавита. 7. Установка подпрограмм низкоуровневой работы с железом. Именно здесь записываются в память все подпрограммы обработки прерываний: от клавиатуры и таймера до видео и винчестера. От правильной реализации этого пункта во многом зависит и скорость, и стабильность, и совместимость системы. Поэтому из-за некорректной работы именно этого пункта сыпятся всякие проклятия и обвинения платы в глючности А значит, именно в этот пункт чаще всего и вносятся изменения, – выходят новые версии BIOS, где исправляются замеченные ошибки. Характерный, ещё свежий пример – проблема, с которой столкнулись счастливые обладатели Атлонов на ВИА-шных платах с Лайв-звуком от Креатив. Очередной совет: если свежекупленная плата, ну, просто дико радует вас своей стабильностью и только какой-нибудь проклятый 3D- Mark-ообразный тест постоянно подвешивает систему или после просыпания компьютера (из Suspend Mode) вдруг куда-то пропадает мышка, или любая другая, не совсем логичная, экзотичная, неадеквадная реакция со стороны почти любимца – не расстраивайтесь, не кричите, что нет в жизни счастья, идеальных женщин и материских плат, – а просто зайдите на страничку производителя вашей платы, там вполне может оказаться свежая прошивочка, где как раз и будут заборены эти столь досадные недоразумения. Ещё один момент происходит на данном этапе, который, кстати, отражает тот факт, что и лично процессор (совершенно не разогнанный) может быть повинен в возникающих ошибках. Думаю, все помнят, что, как ни странно, поговорка о том, что не ошибаются только компьютеры, не совсем верна. Ошибаются. И на ноль они успешно делят, и два плюс два у них не четыре получается, в общем, тоже грешны. Конечно, эти ошибки очень мелкие и, как уверяют маркетологи, могут случиться раз в тысячелетия. Но скорости растут, тысячелетия сжимаются до дней, а то и минут. Потому в Intel-процессорах начиная с PentiumPro (семейство P6, в которое входят и P-2/Celeron/P-III/P4) ввели что-то типа «набортного BIOS» самого процессора – изменяемый микрокод его команд. Ведь проще заменить микрокод программно, просто включив новый код с найденной и исправленной ошибкой, в свежую прошивку BIOS, а не отзывать назад проданные процессоры и менять их на новые, которые не будут твердить, что 2+2=3.9999999999. В общем, на этом этапе, кроме всего прочего, происходит ещё и инициализация внутреннего микрокода процессора. Но не все ошибки (именно процессора) можно исправить/уже исправлены подобным способом (обновлённый микрокод). Все равно остаётся несколько десятков, пусть встречающихся в основном лишь теоретически, но однозначных багов. Это надо помнить – нет ничего идеального. 8. Обнаружение и инициализация видеоадаптера, клавиатуры, мыши (PS/2), дисковода. Настройка контроллера ввода-вывода (LPT, COM1, COM2), других PNP-устройств. На этом этапе происходит поиск видеоадаптера, управление передаётся Video BIOS адаптера, который инициализирует видеокарту и выводит её заставку. Если видеокарта не обнаружена, система опять же противно пищит. Также контроллером опрашивается, подключена ли клавиатура: если да, то происходит её внутренний самотест, если нет, то выдаётся соответствующее сообщение об ошибке (если это не запрещено в BIOS Setup). Инициализируется мышь-PS/2 и дисковод. Если мыши нет, отключается её прерывание (IRQ12). Во многих последних платах появилась возможность освободить также и прерывание дисковода (IRQ6), если он отсутствует/не используется. Происходит настройка параметров Super I/O (так зовут микросхему контроллера ввода-вывода) в соответствие с переменными, записанными в CMOS (которые, в свою очередь, задаются в BIOS Setup). Тут же происходит поиск других PNP-устройств и распределение между ними прерываний. …Поделись прерыванием своим и оно к тебе ещё не раз вернётся… Некоторые замечание на эту тему. **Если ваша «крайне» плагэндплэйная карточка постоянно «залазит не туда», не забывайте, что, как правило, во всех BIOS есть возможность вручную распределить прерывания в BIOS Setup. **Часто, когда в системе много устройств, прерываний может просто не хватать. В этом случае можно порекомендовать отключить «неиспользуемые» прерывания. Но не “жадничайте”, т.к. если прерывание для USB можно и отключить (особенно если у вас и разъёма такого то и нет), то, например, отключение прерывания для вашей видеокарты, если у вас стоит 3D-ускоритель, будет плачевным – Windows предстанет пред вами в аскетичной 16-цветной палитре. **Ну, а если у вас вообще что-нибудь антикварно-неплагэндпэйное, нужно быть внимательным и не использовать «уже кем-то занятых» прерываний для этих устройств. Обычно это касается стареньких звуковых карточек, которые пытаются отбить прерывание у принтера (IRQ7) или сетевых карт, всячески требующих IRQ3 от COM2 (туда же сунутся многие не-PNP ISA-модемы) - нужно вырубать COM2 в соответствующем разделе BIOS Setup. 9. Отображение на экране типа/частоты процессора, основного теста памяти, лого EnergyStar. Кроме определения типа процессора происходит и определение его частоты. Как правило, это происходит следующим способом. В процессоре есть специальный регистр, который увеличивается на единицу за каждый такт. BIOS засекает время (примерно 1/18-я секунды – период таймера), смотрит сколько нащёлкает за это время тактов и получает частоту.Но частота, конечно, получается примерная, не всегда «круглая», поэтому BIOS берёт ближайшее «круглое» значение из зашитой в него «таблицы частот». Кстати, именно из-за того, что частота берётся из таблицы, многие платы с процессорами, частота которых превышает последнюю строчку из этой таблицы, будут писать, например, «AMD K6-2™ at 400MHz» и для К6-2 400 и для К6-2 450 и для К6-2 500. «Таблица частот» в системах Pentium-III/Athlon была бы совсем громадной, поэтому там “округление” происходит по специальному алгоритму. Также на этом этапе выводится лого EnergyStar и происходит проверка всей памяти путём последовательной записи и проверки. 10. Детектирование IDE-устройств. Предварительно происходит программный сброс контроллера HDD. Если диски ранее были продетектированы в BIOS Setup, то их параметры берутся из CMOS. Если стоит режим Auto, они детектируются на данном этапе. После происходит поиск других IDE- устройтсв: CD-ROM, Zip-Drive и др. Обнаруженные Primary-IDE устройства получают прерывание IRQ14, на Secondary-IDE – IRQ15. Тут хотелось бы отметить крайне важную для теперешнего времени проблему – ограничение со стороны BIOS/интерфейса IDE на поддержку HDD большой ёмкости. Когда-то, давно, большой ёмкостью считались винчестеры ёмкостью более 512Mb. Это было первое ограничение. Потом, в некоторых системах – 2Gb. Но большинство старых Pentium1 ограничивается использованием максимум 8Gb- тных винчестеров. Следующая планка самая проблемная. Если предыдущие проблемы можно было обойти разными способами, потому как BIOS Setup просто показывал неправильные параметры диска, то, начиная с 32Gb, он просто отказывается детектировать их вообще. Поэтому, совет: eсли Вы счастливый обладатель даже не самой старой Socket7-системы или имеете совсем «беспородистую» систему на Slot1/Socket370, то при выборе нового диска ограничьтесь лучше HDD 30Gb максимум, иначе точно придётся модернизировать вашу старушку. Платы “взрослых” производителей, точнее их последние версии BIOS, как правило, рассчитаны на использование HDD большой ёмкости. 11. Поиск других BIOS (например, BIOS SCSI-контроллера). В системе также могут присутствовать другие устройства имеющие свой BIOS. При их обнаружении, управление передаётся им для инициализации обслуживаемых ими устройств. Замечание. Некоторые SCSI-контроллеры не имеют собственного BIOS. Но во многие BIOS, как «породистых» так и не очень, производителей, по этому поводу встраивается небольшая подпрограммка (или несколько) для работы с самыми распространёнными типами адаптеров. Эта подпрограмма и выполняют роль функции BIOS адаптера. 12. Передача управления загрузочному (boot) сектору. Ну и на конец, последний этап. Опрашивая устройства в порядке, предписанном в BIOS Setup, управление передаётся программе- загрузчику. Все дальнейшие действия по загрузке компьютера уже выполняет именно он. Информацию позаимствовал у коллег с www.rom.by
__________________
РЕКЛАМА ЗАПРЕЩЕНА |
|
Эти 12 пользователя(ей) сказали cпасибо за это полезное сообщение: |
07.05.2007, 21:07 | #5 |
Re: Искусство перепрошивки BIOS
Восстанавливаем BIOS Статью по Восстанавливаем BIOS вы можите скачать в doc файле. размер: 200кб Берем здесь: http://sat-sputnik.mylivepage.ru/file/?fileid=2344
__________________
РЕКЛАМА ЗАПРЕЩЕНА |
|
Эти 6 пользователя(ей) сказали cпасибо за это полезное сообщение: |
09.05.2007, 16:45 | #6 |
Re: Искусство перепрошивки BIOS
FAQ Настройка BIOS размер файла: 200кбБерем здесь:--> http://sat-sputnik.mylivepage.ru/file/?fileid=2378
__________________
РЕКЛАМА ЗАПРЕЩЕНА |
|
23.07.2007, 23:56 | #7 |
Ответ: Искусство перепрошивки BIOS
Настройка BIOS Более подробно Справочник по настройке и ошибках BIOS Setup. Описание большинства настроек BIOS Setup и возможных аппаратных ошибок, которые иногда появляются во время прохождения POST-теста.
http://sat-sputnik.mylivepage.ru/file/?fileid=2716
__________________
РЕКЛАМА ЗАПРЕЩЕНА |
|
Эти 3 пользователя(ей) сказали cпасибо за это полезное сообщение: |
28.08.2007, 13:04 | #8 |
Ответ: Искусство перепрошивки BIOS
POST Code Перечень пост кодов и их расшифровка
http://sat-sputnik.mylivepage.ru/file/?fileid=2860
__________________
РЕКЛАМА ЗАПРЕЩЕНА |
|
Эти 4 пользователя(ей) сказали cпасибо за это полезное сообщение: |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема аккамуляторных батарей и перепрошивки для SE k750i | mothes | Sony Ericsson | 16 | 04.12.2009 15:08 |
Проблема с SE k750 после перепрошивки в w800 | RedHill | Sony Ericsson | 10 | 02.12.2009 07:58 |
Вернуть к жизни без перепрошивки | BeerKiller | Прошивки и прошивальщики | 8 | 22.10.2009 22:23 |
Прооблема после перепрошивки BIOSa | canalla1333 | Скорая помощь | 9 | 12.04.2008 12:32 |
|
|