Вконтакте Facebook Twitter Лента RSS

Функции BIOS и перепрошивка. Правда и мифы о повреждённом BIOS Что значит перепрограммировать на уровне биоса

BIOS (Basic Input-Output System - основная система ввода-вывода) - это программа, доступная компьютеру без обращения к диску и содержащая код, необходимый для управления ключевыми устройствами системы (клавиатурой, видеокартой, дисками, портами и другой периферией). Зачем нужно обновление? Логично предположить, что, если BIOS не нуждается в дисковых накопителях, для его хранения используется принципиально другой носитель информации, всегда доступный независимо от состояния дисковой системы, что, собственно, и позволяет компьютеру самостоятельно загружаться. Долгое время таким носителем информации являлась микросхема ROM (Read Only Memory). Соответственно, изменить BIOS было если не безнадежным, то крайне проблематичным делом.
Полная стаья- читаем дальше!

Однако, как известно, компьютерные технологии развиваются чрезвычайно стремительно, и со временем, когда необходимость в простом и доступном рядовому пользователю перепрограммировании BIOS стала очевидной, на смену микросхеме ROM пришла EEPROM (Electrically Erasable and Programmable Read Only Memory), известная также как Flash ROM. Такой тип микросхем позволяет перезаписывать находящуюся в них информацию с помощью специальных программ, что максимально упрощает процесс обновления BIOS. Часто эта микросхема устанавливается на материнской плате в специальную панель. Таким образом если по какой-либо причине чип выйдет из строя, его легко можно будет заменить.
Необходимо уточнить, что понятие Flash ROM не во всех случаях эквивалентно понятию Flash BIOS. Хотя почти всегда эти термины обозначают одно и то же, можно встретить материнские платы, которые не позволяют обновлять BIOS программно, несмотря на то, что на них установлена микросхема Flash ROM. Т. е. возможность модернизации BIOS с помощью программы без извлечения его из материнской платы должна быть предусмотрена разработчиками самой платы. Как правило, этот момент четко оговаривается в руководстве пользователя.
Существует несколько причин, почему приходится обновлять BIOS.
- Появление нового оборудования, поддержки которого просто не могло быть в момент выхода в свет оригинальной версии. Чаще всего это новые процессоры. Согласитесь, несколько неприятно видеть при загрузке компьютера надпись Pentium II, в то время как на самом деле у Вас последняя модель Pentium 4 Coppermine. Однако, помимо чисто внешних проявлений совместимости, новый BIOS может нести в себе поддержку новых функций процессора (например, блокировку серийного номера) или же возможность настройки ранее недоступных параметров (изменение латентности кэш-памяти второго уровня у Pentium III Katmai). Со временем скорее всего возникнет необходимость поддержки не только процессоров, но и другого оборудования: это и жесткие диски, максимальный объем которых вдруг некстати окажется ограниченным, и приводы CD-ROM или ZIP-Drive, которые можно использовать в качестве загрузочных устройств, и т. д.
- Выход нового программного обеспечения. Эта проблема была чрезвычайно актуальна, когда несколько лет назад появилась ОС MS Windows 95, поддерживающая стандарт Plug and Play. Для того, чтобы реализовать его в полной мере, понадобится совместимый с ним BIOS. В настоящее время эта проблема практически не актуальна, так как все современные материнские платы изначально комплектуются PnP BIOS. Но это вовсе не означает, что появление нового ПО больше не является серьезной причиной для модернизации BIOS. Так, с выходом MS Windows XP и MS Windows 2000 стало необходимо, чтобы BIOS полноценно поддерживал стандарт ACPI, регулирующий энергопотребление компьютера.
- Производительность компьютера. Для ее повышения новая версия BIOS может оказаться очень полезной. Достаточно вспомнить хотя бы тот же пример с возможностью изменения латентности кэш-памяти второго уровня у ранних моделей Pentium III. Производители многих материнских плат включили эту опцию в свои BIOS, спустя значительный промежуток времени после выхода данных моделей процессоров в свет. Кроме того, на производительность самым решительным образом могут повлиять изменения в инициализации регистров набора системной логики.
- Расширение возможностей конфигурирования. Часто обновление BIOS значительно разнообразит поведение компьютера. Вам станет доступна и загрузка с любого установленного в системе жесткого диска, и автоматическое включение компьютера в определенный момент времени, и интеллектуальный мониторинг за состоянием системы, позволяющий, например, регулировать скорость вращения вентиляторов в зависимости от температуры, и многое другое.
- Исправления мелких ошибок и недоработок, как правило, не влияющих на работу большинства пользователей, но все-таки отрадно, что в новых версиях BIOS их уже нет.
- Наконец, совсем недавно поводом к модернизации BIOS могла оказаться проблема совместимости текущей версии с 2000 годом.
Несмотря на то, что обновление BIOS сулит множество преимуществ, может статься, что ваша система выйдет из строя. Естественно, нет никакой гарантии, что новая версия BIOS решит все накопившиеся проблемы. Не секрет, иногда, чтобы максимально использовать новые функции, требуется переустановить ОС. Поэтому, если Ваш компьютер работает стабильно, а новая версия BIOS не содержит суперкардинальных и насущно важных изменений, настоятельно рекомендую излишне не экспериментировать.

Подготовка к обновлению
В нашей статье речь пойдет исключительно об обновлении Award BIOS. Такой выбор обусловлен тем, что данный производитель наиболее популярный среди разработчиков материнских плат.
Прежде чем приступать непосредственно к модернизации BIOS, советую уточнить несколько немаловажных деталей. Во-первых, выясните, кто является производителем Вашей материнской платы, какова ее модель и возможно ли программное обновление BIOS. Проще всего это узнать из руководства пользователя, идущего в комплекте с материнкой либо с готовым компьютером.

В противном случае придется воспользоваться программой BIOS-Info (ftp://ftp.heise.de/pub/ct/ctsi/ctbios13.zip , 28 Кб), предоставляющей исчерпывающую информацию о производителе материнской платы и текущей версии BIOS. Но если и тут Вам не повезло, попытайтесь еще раз. Итак, в самом начале загрузки компьютера (например, когда на экране отображается процесс тестирования памяти) нажмите кнопку Pause. В результате загрузка будет временно приостановлена и в левом верхнем углу, сразу под логотипом Award Software, вы увидите, какая версия BIOS у Вас установлена, а в нижней части экрана обнаружите такую строку: 02/15/2000 - i440BX - ITE867 - 2A69KS2IC - 00
Нас интересует девятизначный набор цифр и букв (в данном случае - 2A69KS2IC). Первые пять знаков (2A69K) сообщают, какой чипсет, следующие два - код производителя материнской платы (S2), оставшиеся два символа обозначают модель платы (IC). По адресу http://www.ping.be/bios/numbers.shtml Вам помогут расшифровать все эти знаки, то есть Вы точно определите модель и производителя материнской платы. Чтобы выяснить тип установленной микросхемы BIOS, предварительно сняв наклейку, посмотрите на ее маркировку.
Многие производители материнских плат тем, кто желает успешно обновить BIOS настоятельно рекомендуют соблюдать ряд условий. Вот они:
1. Если Ваша система разогнана, обязательно переведите ее в штатный режим.
2. Отключите (Disable или Off) в BIOS Setup все пункты, в которых встречается слово Shadow (раздел Bios Features Setup). Поскольку доступ к оперативной памяти (RAM) осуществляется значительно быстрее, чем к ROM, многие производители компьютеров помещают в BIOS Setup опцию, позволяющую копировать BIOS материнской платы и видеокарты из ROM в RAM. Соответственно, уменьшается объем доступного ОЗУ, что может негативно сказаться на процессе обновления.
3. Отключите в BIOS Setup все функции автоматического управления питанием компьютера (раздел Power Management Setup).
4. Отключите в BIOS Setup функции кэширования системного и видео BIOS (System BIOS Cacheable и Video BIOS Cacheable в разделе Chipset Features Setup).
5. Установите перемычку управления записью BIOS - если таковая существует на Вашей плате - в разрешающее положение (за более подробной информацией обращайтесь к руководству пользователя материнки).
Как только Вы успешно справитесь с модернизацией, не забудьте вернуть все установки в исходное положение.

Поехали!
Итак, получив тем или иным способом все необходимые сведения и убедившись, что программная модернизация BIOS на Вашей плате возможна, а также все хорошенько подготовив, можете непосредственно приступать к обновлению. Для этого Вам понадобятся два файла - программа AwardFlash (последняя версия которой всегда доступна на сайте http://ic.doma.kiev.ua/inside/award/flash.htm) и файл с обновлением BIOS, обычно имеющий расширение *.bin.
А обновления BIOS Вы найдете на сайте производителя Вашей материнской платы - единственно надежном источнике. Никогда не используйте для модернизации файлы, в происхождении которых Вы не уверены!
Нужно отметить, что AwardFlash поддерживает как параметры командной строки, так и диалоговый режим работы. Последний в данной статье не рассматривается, так как зачастую он лишь усложняет процесс обновления BIOS и обладает недостаточными возможностями. Более того, свойства командной строки позволяют полностью автоматизировать модернизацию BIOS, избавляя пользователя от ввода каких-либо данных. Поэтому остановимся на этом вопросе подробнее. Как и большинство других программ для перезаписи Flash BIOS, AwardFlash следует запускать только из реального режима DOS (Disk Operation System) до старта Windows или других многозадачных ОС.
Здесь необходимо сделать маленькое, но важное отступление. Совсем недавно фирма Award Software анонсировала новую программу для модернизации BIOS, предназначенную для MS Windows NT 4.0 и MS Windows 2000 (Award NT Flash Utility Version 1.00). Кроме того, и такие производители материнских плат, как Asus (http://cgi.asus.com.tw/cgi-bin/dl.asp?filename=mb/flash) и Gigabyte (http://www.gigabyte.com.tw/gigabyte-web/news/a_bios.htm) предлагают пользователям обновление BIOS из MS Windows. Причем в данном случае поддерживается также MS Windows 95/98. Однако модернизация BIOS из Windows - это, скорее, исключение из правила, по крайней мере, на данном этапе. Доказательством тому служит тот факт, что программа от Award Software на сегодняшний день поддерживает лишь два чипсета - Intel 810 и Intel 820. Поэтому в статье речь идет исключительно об обновлении BIOS с помощью DOS-версии AwardFlash, являющейся универсальным инструментом для модернизации Award Flash BIOS на любой материнской плате.
Если Вы работаете в MS Windows 9x для запуска AwardFlash выберите в меню загрузки системы (вызывается в самом начале загрузки клавишей F8) пункт Safe Mode Command Prompt Only или же стартуйте с предварительно созданной системной дискеты. Последний вариант предпочтительнее, посему в дальнейшем остановимся на нем. Предварительно рекомендую отформатировать дискету и перенести на нее системные файлы. Затем скопируйте на нее утилиту AwardFlash и файл с обновлением BIOS, условно обозначим их как awdflash.exe и newbios.bin. Дискету оставьте открытой для записи.
После этого создайте на дискете файл autoexec.bat следующего содержания:
@echo off
if exist oldbios.bin goto old
awdflash.exe newbios.bin oldbios.bin /py /sy /cc /cp /cd /sb /r
goto end
:old
awdflash.exe oldbios.bin /py /sn /cc /cp /cd /sb /r
:end
Теперь дискета содержит все необходимые для обновления файлы: awdflash.exe, newbios.bin, autoexec.bat и системные (как правило, это msdos.sys, io.sys и command.com). Ничего другого на диске быть не должно! На первый взгляд может показаться, что приведенный autoexec.bat излишне сложен. Однако данную универсальную дискету Вы сможете использовать не только для обновления BIOS, но и для того, чтобы вернуться к предыдущей версии - в случае неудачной модернизации.
Если Вы загрузитесь с дискеты первый раз, произойдет обновление, и в файле oldbios.bin будет сохранена текущая версия BIOS. При повторной загрузке будет запрограммирован ранее сохраненный oldbios.bin. Поэтому сразу после модернизации, как только компьютер перезагрузится (в нашем случае это произойдет автоматически), необходимо обязательно вынуть дискету из дисковода!
Конечно же, набор параметров утилиты AwardFlash, использованный в примере, лишь рекомендация, она поможет Вам обезопасить процесс обновления BIOS. Квалифицированный пользователь может добавить или убрать некоторые из них, однако настоятельно советуем не делать ничего такого, в чем Вы не уверены на все 100 процентов
Для особо любознательных приведем описание параметров командной строки утилиты AwardFlash 7.70. Ее синтаксис таков:
AWDFLASH [Имя Файла1] [Имя Файла2] ...]
Имя Файла1: имя файла для программирования
Имя Файла2: имя файла для сохранения предыдущей версии BIOS
Значения параметров (к регистру не чувствительны):
/? - Помощь. Перед работой с Award Flash Memory Writer, пользуясь этим ключом, внимательно ознакомьтесь с возможностями ПО.
/Py или /Pn - Ответ на запрос программирования BIOS "да" (Y) или "нет" (N). С помощью ключа /Pn можно запретить программирование микросхемы Flash ROM. Эта опция используется для сохранения текущей версии BIOS или получения ее контрольной суммы без модернизации. Создание резервной копии позволяет восстановить предыдущую версию BIOS. По умолчанию используется значение /Py.
/Sy или /Sn - Ответ на запрос о сохранении предыдущей версии BIOS "да" (Y) или "нет" (N). По умолчанию используется значение /Sy. В этом случае перед программированием микросхемы Flash ROM требуется подтвердить процедуру сохранения по запросу: Do You Want To Save Bios (Y/N). Ключ /Sn рекомендуется использовать в *.bat файлах для режима автоматического программирования в системах без монитора.
/CC - Очистка CMOS после программирования. Если есть риск, что новая версия BIOS формирует в CMOS массивы данных, отличающиеся от уже имеющихся, следует воспользоваться данной опцией, обновляющей старые версии BIOS. В такой ситуации могут возникнуть проблемы со стартом материнской платы. Программное обнуление CMOS позволяет избежать поиска перемычки Clear CMOS на платах с утерянной документацией либо в тех случаях, когда доступ к плате затруднен.
/CP - Обнуление таблицы PnP (ESCD) Data после программирования. Информация о PnP устройствах хранится в блоке данных ESCD. Ключ /CP эквивалентен параметру Reset Configuration Data в меню PnP/PCI Configuration CMOS Setup. Использовать данный ключ стоит, если выполняется переход через несколько версий BIOS, либо установлены новые PnP карты и без обновления блока данных ESCD со стартом материнской платы возникнут проблемы.
/CD - Обнуление пула DMI Data после программирования. DMI - это база данных, содержащая информацию о компьютерной системе в целом. Рекомендуется, как при работе с ключами /CP и /СС, так и при замене какого-то компонента компьютерной системы.
/SB - Запрет программирования BootBlock. Загрузочный блок, первый выполняемый во время старта материнской платы модуль, очень редко изменяется. Если производители материнской платы особо не оговорили этот пункт, перепрограммировать BootBlock не стоит, например, иногда сбой может привести к тому, что Вы не сможете обновить BIOS программными средствами. Если на Вашей плате установлена перемычка BootBlock Protection, без ключа /SB программирование BIOS будет невозможным или возникнут ошибки верификации.
/SD - Сохранение данных DMI пула в файле. Сохраненную область DMI можно использовать в ПО в дальнейшем. Несмотря на то, что данный параметр стоит в списке, выводимом с помощью ключа /?, все мои попытки его использовать не дали никакого результата. Попросту говоря, это параметр не работает.
/R - Выполнение системного RESET после программирования. Позволяет автоматически перезагрузить компьютер после окончания программирования FlashROM. Опция полезна для работы через *.bat файл.
/Tiny - Сокращение объема используемого ОЗУ. Если не используется ключ /Tiny, для дальнейшего программирования AwardFlash пытается загрузить в оперативную память весь файл BIOS. Если, несмотря на все Ваши усилия, при записи возникает сообщение Insufficient Memory, следует использовать ключ /Tiny. То есть в ОЗУ данные из файла BIOS будут загружаться и программироваться блоками.
/E - Возврат в DOS после программирования. Например, Вам надо самому убедиться, что предыдущая версия BIOS сохранена правильно.
/F - Программирование средствами системного BIOS - большинство из них сегодня содержат процедуры записи Flash ROM. С помощью ключа /F, AwardFlash программирует алгоритмами, находящимися в текущей версии BIOS. Если использование алгоритмов Award Flash Writer не дает положительных результатов, воспользуйтесь данным ключом.
/LD - Очистка CMOS после программирования и запрет вывода системного сообщения "Press F1 to continue or DEL to setup". В отличие от ключа /CC, данная опция имеет ряд особенностей. А именно, после обнуления CMOS при установленных по умолчанию параметрах при следующей загрузке сообщение "Press F1 to continue or DEL to setup" не появится.
/CKS - Отображение контрольной суммы файла в формате XXXXh. Полезно использовать с ключом верификации.
/CKSxxxx - Сравнение контрольной суммы файла с XXXXh. Если совпадений нет, выводится сообщение: "The program file"s part number does not match with your system!". Как правило, производитель материнской платы выкладывает на своем сайте значение XXXXh для каждого файла обновления BIOS.
Изучив параметры утилиты и изменив их по своему усмотрению (или же оставив все, как в рекомендованном примере), можете обновлять BIOS. Для этого просто загрузитесь с подготовленной дискеты. Если все сделано правильно, после загрузки компьютера на экране Вы увидите, как идет процесс обновления (ни в коем случае не прерывайте его!). Когда он подойдет к концу - система перезагрузится. Как только это случится, сразу же извлеките дискету из дисковода, иначе начнется повторная загрузка. К чему это может привести, смотри выше.
Вот, собственно, и все. Можно приступать к конфигурированию свежезапрограммированного BIOS. Но не всем, а только тем, у кого все прошло без проблем.

Как решать проблемы?
Непосредственно в процессе работы AwardFlash, к сожалению, могут возникать ошибки, о чем пользователь оповещается соответствующим сообщением. Остановимся на данном вопросе подробнее:
Insufficient memory (Недостаточно памяти). Данное сообщение говорит о том, что не был соблюден ряд условий, которые мы подробно обсуждали ранее. Нужно отключить кэширование системного и видео BIOS, а также все виды Shadow Memory. Кроме этого, вообще не должны быть загружены никакие программы (в том числе драйверы, отвечающие за уплотнение диска типа drvspace.bin), кроме, разумеется, AwardFlash. Если, несмотря на предпринятые меры, проблема не решена, используйте параметр /Tiny (существует только в версиях 7.xx).
The program file"s part number does not match with your system (Программируемый файл не соответствует вашей системе). Такое сообщение появляется при попытке запрограммировать не подходящий для вашей платы BIOS. Однако, если применен параметр /Py (как в нашем примере), проверка на соответствие не производится. Поэтому всегда пользуйтесь только теми файлами BIOS, происхождение и назначение которых вам известно.
Unknown Type Flash (Неизвестный тип микросхемы) может возникнуть в случае неисправности микросхемы FlashROM и еще в некоторых достаточно специфических случаях.
Program Chip Failed (Ошибка программирования микросхемы). Возникает при программировании микросхем Intel FlashROM 28F001. Дело в том, что эта микросхема имеет аппаратно защищенный BootBlock, размером 8 Кб. Для программирования BootBlock и блока, в котором хранится BIOS, используются различные напряжения. Чтобы избежать случайных повреждений как FlashROM, так и материнской платы, BootBlock данного типа микросхем не программируется по аппаратному запрету, поэтому и появляется предупреждение.
Доскональное описание двух последних проблем (ориентированное, в основном, на специалистов) вы найдете по адресу http://ic.doma.kiev.ua/inside/award/flash.htm
Однако, подобные сообщения об ошибках - далеко не самое страшное, что может произойти непосредственно во время обновления BIOS. Иногда возникает ситуация, когда новый BIOS еще не до конца запрограммирован, а старый к тому времени уже стерт. Одна из причин - банальное отключение электроэнергии даже на самый незначительный промежуток времени. После этого компьютер просто не сможет загрузиться. Тут нужно рассмотреть два варианта.
В лучшем случае, удастся сохранить в рабочем состоянии BootBlock. Например, если при программировании, как и было рекомендовано, использовался параметр /SB. В этом случае вы загрузитесь, хотя и в очень ограниченном режиме. Сразу после перезагрузки будет проверена контрольная сумма BIOS и на экране может появиться сообщение:
Award BootBlock BIOS v1.0
Copyright c 1998, Award Software, Inc.
BIOS ROM checksum error
Detecting floppy drive A media:
Но чаще всего, чтобы увидеть данную надпись, необходимо использовать ISA-видеокарту, так как вывод информации на PCI- или AGP-видеоадаптеры далеко не всегда возможен из-за неполной инициализации чипсета. Поэтому процедуру аварийного перепрограммирования FlashBIOS рекомендуется производить с уже установленной ISA-видеокартой. Особенно если, несмотря на все рекомендации, вы не подготовили ту самую дискету, помните? Но если дискета на месте - просто с нее загрузитесь. Именно в этом и заключается ценность сохранения BootBlock. Ряд производителей материнских плат рекомендуют: прежде чем выполнять восстановительные работы, отключите в системе все периферийные устройства, кроме видеокарты и дисковода. (Кстати, не все ISA-видеокарты "одинаково полезны", наилучшие результаты могут быть получены с применением карт на чипе Cirrus Logic CL-GD5422.)
Итак, после загрузки с дискеты произойдет восстановление старого BIOS из предусмотрительно сохраненного файла oldbios.bin. Далее действуйте сообразно причине сбоя. Если вы вместо нового BIOS случайно запрограммировали текст своей любимой песни, достаточно восстановить работоспособный BIOS. Если же сбой произошел не по вашей вине, просто удалите с дискеты файл oldbios.bin (и только его!) и снова с нее загрузитесь.
Иногда, если загрузиться с дискеты не удается, рекомендуют подключить дисковод к отдельному ISA MIO контроллеру, что все-таки позволит инициализировать дисковод и, соответственно, восстановить BIOS.
Хотелось бы еще замолвить несколько слов об экзотических технологиях, позволяющих относительно безболезненно восстановить работоспособность системы. Во-первых, некоторые материнские платы производства Intel имеют специальную перемычку Flash Recovery. Если установить ее в положение recovery mode, даже при том, что компьютер до этого не подавал вообще никаких признаков жизни после неудачного обновления BIOS, можно будет загрузиться с помощью BootBlock. Когда все будет восстановлено, не забудьте вернуть Flash Recovery jumper в исходное положение.
Во-вторых, недавно фирмой Gigabyte Technology (http://www.gigabyte.com.tw/) была внедрена в производство технология DualBIOS. Как видно из названия, материнская плата комплектуется двумя микросхемами Flash ROM, что позволяет, если один BIOS дал сбой, загрузиться с помощью другого. Вслед за Gigabyte аналогичные технологии (например, TwinBIOS на платах производства Chaintech Computer (http://www.chaintech.com.tw/)) используют некоторые другие производители материнских плат.
Однако такие решения - скорее исключение, чем правило, хотя бы потому, что в угоду потенциальным разрушителям BIOS производитель несет и перекладывает на всех своих потребителей дополнительные расходы. Поэтому следующую часть статьи мы посвящаем пользователям, о которых не позаботились разработчики материнских плат. Специально для них мы опишем метод, позволяющий восстановить настолько поврежденный BIOS, что никакими программными средствами проблему решить не удалось. Как говорится:

:А если ничего не помогло?
Сразу стоит оговориться, все, описанное ниже, не имеет никакого отношения к методу Hot-swapping.
Итак, для восстановления BIOS аппаратными средствами нам понадобятся (помимо самой микросхемы Flash ROM с испорченным BIOS) следующее:
- любая материнская плата с исправно работающим BIOS;
- дискета с программой Award Flash и двумя файлами обновления BIOS - для восстанавливаемой и для работающей материнской платы;
- две панели (например, SLC-32 - 32-контактная широкая панель DIP);
- одна микросхема Flash ROM (например, ATMEL 29C020 DIP 32);
- два нагрузочных резистора (10 кОм, 0.125 Вт);
- двухпозиционный переключатель;
- паяльник.
Дабы исключить возможную путаницу в названиях и упростить объяснения, обозначим вышедший из строя BIOS как "свой", а работающий как "чужой".

Для начала соорудим простое приспособление, которое нам поможет восстановить BIOS. Называется оно IC-Flasher, состоит из двух панелей, одной микросхемы Flash ROM и двух резисторов. Подробную схему этого устройства ищите на сайте разработчиков - http://ic.doma.kiev.ua/support/testbios/icr.pdf , 36 Кб, а чтобы описать его в рамках этой статьи будет использовано схематическое изображение.
Рассмотрим процесс создания IC-Flasher по пунктам.
1. Микросхема U1 припаивается всеми выводами, кроме вывода Chip Enable к нижней панели X2.
2. Верхняя панель X1 припаивается к микросхеме U1 всеми выводами, кроме вывода Chip Enable.
3. Выводы Chip Enable микросхемы U1 и панелей X1 и X2 соединяются с переключателем SW1 и нагрузочными резисторами R1 и R2.

Теперь, когда устройство готово, за дело! Прежде всего вынимаем из "чужой" материнской платы микросхему с работающим BIOS и устанавливаем вместо нее IC-Flasher. При этом переключатель SW1 должен стоять в положении "Верхняя панель" (2-3). Естественно, эту операцию нужно производить при отключенном питании и максимально осторожно - дабы не повредить поверхность материнской платы.
Затем в верхнюю панель устанавливаем "чужую" микросхему BIOS и загружаем компьютер с подготовленной заранее дискеты. Отметим, в данном случае запуск Award Flash из файла autoexec.bat недопустим! Поэтому, чтобы не вводить все необходимые параметры вручную, рекомендуется создать файл, аналогичный описанному ранее autoexec.bat, но с другим именем.
После загрузки ОС (операционной системы) и до выполнения программирования BIOS установите переключатель SW1 в положение "Нижняя панель" (1-2). Теперь начинаем! Микросхему U1 запрограммируйте именно с помощью "чужого" файла BIOS. Для чего? Чтобы, благодаря микросхеме U1, можно было загрузить "чужую" материнскую плату.
Вы справились? Тогда снова отключите питание и замените "чужую" микросхему в верхней панели X1 на "свою". Переключатель SW1 при этом остается в положении "Нижняя панель" (1-2).
Итого, снова загружаем компьютер с той же дискеты, переводим переключатель SW1 в положение "Верхняя панель" (2-3) и программируем теперь уже "свой" файл BIOS. Затем вновь выключаем компьютер, вытаскиваем из "чужой" материнской платы IC-Flasher и возвращаем "чужую" микросхему на место. Из IC-Flasher, в свою очередь, вытаскиваем "свою" микросхему с восстановленным BIOS, которую и вставляем уже в "свою" плату.
Вот, собственно, и все.

BIOS на экране монитора появится предупреждающее сообщение примерно следующего содержания:

The BIOS is currently being updated. DO NOT REBOOT OR POWER DOWN until the update is completed (typically within three minutes)... (В настоящее время происходит обновление BIOS. До завершения процесса модификации (обычно в течение трех минут) не перезагружайте и не выключайте систему.) Если невнимательно отнестись к этому предупреждению или если в процессе обновления BIOS что-нибудь случится, произойдет повреждение базовой инфраструктуры ввода-вывода. Это означает, что перезапустить систему и повторить процедуру обновления BIOS будет довольно сложно. В подобном случае остается только одно - заменить микросхему flash ROM. Именно поэтому я все еще пользуюсь своим верным программатором ППЗУ; для системных плат, использующих «гнездовую» конструкцию микросхемы flash BIOS, перепрограммирование и установка подобной микросхемы занимает всего несколько минут. Для приобретения программатора обратитесь к компании Andromeda Research (смотрите список Vendor List на прилагаемом компакт-диске). Во многих современных компьютерах микросхема flash BIOS впаивается в системную плату, поэтому идея о ее замене и последующем перепрограммировании является спорной. Но в то же время это не означает, что единственный выход из положения состоит в замене системной платы. В большинстве системных плат, содержащих впаянную микросхему flash BIOS, для этого используется специальная процедура Recovery BIOS. Представьте себе, что какое-либо маловероятное событие привело к аварийному прерыванию процедуры обновления BIOS. В этом случае для восстановления базовой инфраструктуры ввода-вывода необходимо выполнить ряд определенных действий, представленных ниже. Для этого потребуется, как минимум, системная плата с подключенными к ней блоком питания, динамиком и накопителем на гибких дисках, настроенным как дисковод А:. 1. Измените положение перемычки flash Recovery на системной плате на Recovery. Практически на всех системных платах Intel она существует. Перемычка может находиться в двух положениях - Recovery/Normal. На рис. 5.2 отображено расположение этой перемычки на системной плате Intel SE440BX. 2. Вставьте в дисковод системный диск с программой обновления BIOS (который был создан на шаге 5 предыдущей инструкции) и перезагрузите компьютер. Поскольку в BIOS осталась лишь небольшая часть кода, процедура поиска видеоадаптера отсутствует. Другими словами, на экране вы ничего не увидите. Ход выполнения восстановления BIOS можно отслеживать с помощью индикатора активности дисковода. Как только система издаст звуковой сигнал и индикатор зажжется, значит, начался процесс восстановления. Рис. 5.2. Расположение перемычки flash Recovery на системной плате Intel 3. После того как индикатор активности дисковода погаснет, выключите питание компьютера. 4. Измените положение перемычки flash Recovery на Normal. Теперь при включении питания система должна нормально загрузиться. Замечание Описанную процедуру можно использовать для обновления BIOS множества компьютеров. Для этого необходимо предварительно сохранить на системной дискете новую версию BIOS с уже обновленного компьютера.
Использование инфраструктуры IML В некоторых старых моделях компьютеров IBM и Compaq вместо Flash BIOS используется система IML (Initial Microcode Load - начальная загрузка микрокода). В данном случае часть BIOS записывается в скрытую область жесткого диска и считывается при включении питания. Естественно, основная часть BIOS находится в микросхеме на системной плате. Обновление этой BIOS осуществлялось с помощью специальной программы. Системный раздел, помимо кода базовой инфраструктуры ввода-вывода, содержит полную копию установочного, диагностического или эталонного диска (Setup, Diagnostics или Reference Disk), которая обеспечивает установку и настройку инфраструктуры во время перезагрузки компьютера. Это свойство позволяет изменить конфигурацию инфраструктуры без загрузки с указанного диска. Основным недостатком этого метода является то, что код базовой инфраструктуры ввода-вывода записан на жестком диске; при неправильном подсоединении установочного жесткого диска система не сможет функционировать должным образом. рекомендуется заметить, что в этом случае стандартная загрузочная системная дискета не подходит, так как загрузиться можно только с дискеты Reference Disk. Внимание! Подобная схема делает обновление жесткого диска весьма проблематичным. Настоятельно рекомендую избегать систем, содержащих ILM BIOS, так как настройка их конфигурации - крайне хлопотное дело.

Данный обзор нас побудил написать тот факт, что многие клиенты СЦ при сдаче материнской платы в ремонт просят не «отремонтировать плату», а «всего лишь восстановить или переписать BIOS», не до конца понимая суть проблемы, хотя сама проблема с BIOS довольно многогранна и далеко не всегда имеет место быть. Для того, чтобы сэкономить ваши деньги и время, мы постараемся прояснить данный вопрос, разложив по пунктам как основные, так и некоторые сопутствующие сведения.

Перепрограммировать содержимое микросхемы Flash-памяти, где хранится стартовый код, т. е. BIOS (далее — микросхема BIOS) — возможно всегда, и стоимость этой процедуры действительно дешевле (иногда в разы), чем «электронный» или «аппаратный» ремонт платы. Для решения подобных вопросов в нашем сервисном центре применяется профессиональное оборудование зарубежного производства (Slovakia). Для перепрограммирования микросхема BIOS с платы демонтируется. Метод программирования ISP (In System Programming, то есть «внутрисистемно» или «внутрисхемно») мы не практикуем ввиду меньшего уровня надёжности и стабильности. Адаптеры для популярных типов корпусов микросхем, на слэнге иногда называемые «панельками» или «колодками», у нас, конечно же, имеются, ну а если нужного адаптера нет, — теоретически, можно распаять непосредственно на микросхему, в зависимости от рентабельности данного мероприятия. В наличии есть следующие адаптеры: SOIC-8, PLCC-32, PLCC-44 (ZIF), TSOP-40, TSOP-48. Список поддерживаемых микросхем достаточно обширен и его можно скачать в виде текстового файла — иногда это может быть полезным, чтобы понять, сможем ли мы вам помочь с программированием. Не забывайте, правда, одну тонкость: если нужная марка микросхемы в списке отсутствует, то это ещё не значит, что наше оборудование с ней не справится (проконсультироваться по телефону в этом случае не будет лишним). Работа со многими типами памяти производится по унифицированным алгоритмам, которых относительно немного, и есть вероятность, что зная этот алгоритм, мы можем подобрать аналог для работы. Как правило, кроме алгоритма нужно подобрать чип с такой же организацией шины адреса и данных, такой же объём и, желательно, — бренд. Проверку на строгое соответствие идентификатору, конечно же, необходимо отключить в настройках ПО программатора. Необходимо понимать, что такой «фокус» не пройдёт в случае нетиповых микросхем памяти или устройств для специфичного применения, например микроконтроллеров.

Факторов, незначительно усложняющих данную процедуру (в смысле, усложняющих как по времени, так и по стоимости) — всего два. Это отсутствие самой прошивки, особенно в случае редкости модели платы (т.е. отсутствие файла с содержимым BIOS в бинарном формате на каком-либо носителе, предоставленном заказчиком, из-за чего нам придется дополнительно искать ее в Internet; к тому же, очень важно ещё и не ошибиться в ревизии устройства, которые могут быть с разным и несовместимым кодом BIOS даже для одной и той же модели), и второй фактор — отсутствие «панельки» для микросхемы Flash на плате (или, в простонародии — «кроватки» или просто адаптера; справедливо, в основном, для корпусов типа PLCC-32 c J-образными выводами, если плата относительно старая, на современных встречается адаптер для корпусов DIP-8), вследствие чего, перед процедурой программирования необходимо производить паяльные работы по выпайке микросхемы, а затем ещё и по запайке её обратно после программирования. Однако суммарная стоимость данной процедуры с учетом всех «осложнений» всё равно остается ниже стоимости «аппаратного» ремонта платы. Заметим, что всё вышеперечисленное справедливо только для тех случаев, когда сама микросхема Flash-памяти исправна, а «неисправно» лишь её содержимое, см. ниже.

По статистике ремонтов материнских плат, проблемы с BIOS крайне редки и составляют, приблизительно, не более 5 % (да и ремонтом в прямом смысле это назвать нельзя). Остальные 95 % ремонтов — это либо поиск неисправного электронного компонента и его замена с помощью паяльного оборудования (иногда требуется подбор аналога компонента), либо поиск и восстановление разрушенной пайки (редко). Имейте это в виду, если вы самостоятельно строите предположения о проблемах BIOS вашей платы, если сама неисправность возникла «на ровном месте, из ничего» (или «вчера работало, выключил, сегодня включил — не работает... припоминаю, был, вроде, «скачок» питания... наверное, BIOS слетел...»). По нашей статистике, большинство клиентов «грешат» на проблемы с BIOS только на тех основаниях, что «на самой плате всё чисто, вентиляторы крутятся, нет прогоревших или оплавленных элементов и механических повреждений, ни одна микросхема не греется сверх нормы, и мы с платой вообще ничего не делали» . Поверьте, с технической точки зрения подобный диагноз если и не абсурден, то явно недостаточен — диапазон неисправностей материнских плат, как и любой другой сложной электронной техники, слишком широк, чтобы оценивать его только «на глаз». Про вероятность сказано выше — это реальные, зафиксированные нами в течение нашей длительной практики, факты.

Если неисправность платы возникла непосредственно после явных воздействий, повышающих вероятность сбоя с BIOS в десятки раз по сравнению со штатной эксплуатацией — то диагноз «необходимо перепрошить BIOS» наиболее оправдан, т. е. дает максимальную результативность при ремонте и минимальный риск получения отрицательного конечного результата. Под воздействиями мы имеем в виду, в основном, человеческий фактор, т. е. попытку самостоятельного перепрограммирования (обновления) BIOS пользователем с помощью специальных утилит от производителей плат (AWDFLASH, AMIFLASH, UNIFLASH), либо манипуляции с самой микросхемой вообще. При этом могут возникнуть следующие проблемы:

Электрический (или, если хотите, «электронный») сбой в самой плате;
 - сбой питания (помеха) в процессе программирования;
 - «выключили свет» в процессе программирования (произошло отключение питания);
 - запрограммирована, по ошибке, не та версия BIOS или не для той ревизии платы;
 - неверно отработало служебное ПО (зависло в процессе программирования или стирания МС BIOS);
 - неверно отработало служебное ПО (некорректно определило тип микросхемы Flash-памяти);
 - разряд статического электричества, который способен повредить как саму МС BIOS, так и её содержимое (такое возможно, если по каким-либо причинам микросхему вынимали из панельки или неаккуратно транспортировали и прочее);
 - проявившаяся деградация самой микросхемы, см. ниже (потребуется её замена).

В подобных случаях мы рекомендуем не ремонтировать плату, а именно запрограммировать содержимое BIOS в микросхему Flash-памяти, так как это быстрее и дешевле, а вероятность положительного конечного результата (т. е. того, что плата заработает после процедуры перепрограммирования) — практически 100 %, судя по статистике ремонтов.

Отдельно остановимся на пункте «Неверно отработало служебное ПО». По нашей статистике, достаточно много проблем возникает именно тогда, когда пользователь обновляет BIOS, используя утилиты для Windows. Для наибольшей гарантии успеха при обновлении мы настоятельно рекомендуем, по возможности, использовать утилиты, работающие в среде MS-DOS (с использованием соответствующего загрузочного диска или «флэшки»), либо утилиты, встроенные непосредственно в саму программу BIOS.

Микросхемы Flash-памяти, применяемые для хранения стартового кода, т. е. микропрограммы BIOS — склонны к деградациям различного рода. Однако деградации крайне редки и при штатной эксплуатации практически не встречаются. Сами деградации могут быть самые разные, и конечное их проявление — собственно, неисправность микросхемы (неверный ответ chip_ID, невозможность программирования, стирания, чтения определенных ячеек памяти и прочее). Отдельно стоит упомянуть о ситуации, когда до определенного момента компьютер работал отлично, но именно после попытки обновить BIOS — последний оказался неисправен, т. е. старт платы больше произвести не удалось, хотя аппаратных сбоев не было (предположим), ПО отработало без ошибок, версия самого BIOS подобрана верно и т. д. Причина в частично деградировавшей микросхеме Flash-памяти, точнее, определённых её ячеек. Суть в том, что основная область ячеек памяти микросхемы при штатной эксплуатации работает только на чтение при включении питания (перед POST) и «износ» ячеек невозможно заметить — всё работает. Но при первой же записи всего адресного пространства (т. е. обновлении BIOS) определённая ячейка «не выдержала» (точнее, определенные биты по определенным адресам в массиве памяти утратили свойство хранить информацию, и этот факт «выплыл» наружу — перед программированием микросхема стирается). Ещё замечены сбои, имеющие массовый характер и являющиеся следствием выхода из строя внутреннего контроллера в МС BIOS и искажения информации, передаваемой как по внешней, так и по внутренней шине данных — например, после чтения «свежезаписанной» микросхемы можно увидеть, как в считанном дампе обнулён каждый четвертый байт из восьми. Подобные «сюрпризы» при ремонте возможно выявить только в процессе программирования с предварительным стиранием и никак иначе (любое программирование на профессиональном оборудовании обязательно включает в себя полный программно-аппаратный контроль процесса с отображением результатов процедур).

Основные причины деградаций и неисправностей микросхем Flash-памяти — банальное старение, скрытый брак микросхемы, скачки (превышения) питающего напряжения из-за некачественного БП и повышенный «износ записью» определённых ячеек. Дело в том, что запись в микросхему BIOS производится не только при обновлении версии, а ещё и всякий раз, когда обновляется реестр PnP устройств, или т. н. DMI pool или ESCD (Extended System Configuration Data). Это блок памяти, длиной обычно 1024 байта, где хранятся текущие системные установки, в частности, касающиеся конфигурации устройств на шине PCI и схемы распределения прерываний. Область реестра обновляется всякий раз, когда из слотов вынимают или, наоборот, подключают какие-либо платы расширения, контроллеры, видеокарты, звуковые карты, или меняют CPU или тактовую частоту и коэффициент умножения CPU (вне зависимости от способа контроля и установки этих параметров, т. е. джамперами-«перемычками» или программно). Непосредственно момент записи в вышеуказанную облась микросхемы обычно сопровождается сообщениями типа "Building DMI pool", "Updating DMI information", "Updating ESCD". Подчеркнём, что вышеперечисленное также может служить причиной сбоя при неблагоприятных условиях. Исходя из сказанного, можно резюмировать следующее — если конфигурация вашего ПК не обновляется, то запись в микросхему BIOS никогда не производится в процессе штатной работы — производится только её чтение, «износ» от которого крайне невелик. Количество же циклов «стирание-запись-чтение» всегда ограничено у любой запоминающей микросхемы, и далеко не факт, что деградация не наступит в пределах срока MTBF, заявленных производителем или спецификациями на конкретный чип. В заключение отметим, что подобная ситуация не у всех материнских плат. В некоторых платах можно обнаружить маленькую микросхему (как правило, рядом с микросхемой Южного Моста), у которой 8 выводов (тип корпуса — SOIC-8). Это т. н. Serial EEPROM небольшого объёма, и все операции записи реестра идут именно туда. На наш взгляд, это наиболее грамотное решение, т. к. количество циклов и устойчивость к деградациям у таких микросхем в разы выше, чем у Flash-памяти, применяемой для хранения кода BIOS. Поэтому, на т. н. «тестовые компьютеры» мы рекомендуем устанавливать именно такие платы, с отдельной внешней Serial-EEPROM, как правило, что-то типа 93С66 от Atmel и пр. (не путать с такой же или похожей EEPROM для хранения настроек интегрированных звукового и «сетевого» (LAN) чипсетов и расположенной, как правило, в непосредственной близости от последних!). Также отметим, что в некоторых платах в определённую область микросхемы BIOS сохраняются всякий раз ещё и настройки параметров материнской платы (BIOS Settings) при "Save setup and exit" (или резервируются при определённых условиях — например, так делает технология Asus O.S. Profile). Таким образом, получается, что даже при отсутствии внешних повреждений микросхемы — нет стопроцентной гарантии того, что она исправна и не «изношена», и что не потребуются дополнительные затраты на её приобретение (или приобретение аналога) после попытки переписать содержимое микросхемы, пусть даже и на профессиональном оборудовании.

Всегда следует помнить, что даже если содержимое микросхемы BIOS оказалось действительно повреждено без влияния человеческого фактора — это далеко не всегда может быть разовый сбой (в факт которого больше всего хочется верить пользователю). Это может быть и следствие каких-либо неполадок, например, брака самой материнской платы, брака микросхемы BIOS или её износа (именно такого износа, который может не проявиться при последующем программировании), некачественного питания и прочее. Однако по статистике ремонтов, в случае аппаратной исправности микросхемы Flash и только неисправности содержимого самого BIOS — после перезаписи корректной версии BIOS, компьютер, в большинстве случаев, работает без сбоев очень долгое время (то есть случаев рецидива мы, в основном, не наблюдали). Однако нами, всё же, были замечены серийные сбои и регулярные рецидивы произвольного разрушения содержимого микросхемы BIOS на определённых моделях плат на Socket-478 (продолжительность нормальной работы после перезаписи — около 6-12 месяцев), но причины подобных симптомов не представляется возможным выяснить ввиду спонтанного проявления неисправности (это же относится и к любым электронным неисправностям, условия для проявления которых, в силу технических причин, невозможно или крайне трудно смоделировать искусственно). К тому же, как мы упоминали, причин великое множество, да и процент подобных рецидивов крайне низок, что не может не радовать.

Если микросхема BIOS имеет физические или термические повреждения (вскрытие или прогорание корпуса, потемнение бумажной наклейки, оплавление голографической наклейки, вспучивание) — её бесполезно не только программировать (что само собой разумеется), но и искать замену микросхемы, так как, в подавляющем большинстве случаев, при подобных симптомах оказывается неисправен Южный Мост на материнской плате (официальное название — South Bridge), производить замену которого во многих случаях нерентабельно в силу различных причин (основная из которых — отсутствие в распоряжении ремонтника исправной микросхемы ЮМ по адекватной входной цене). Основная причина таких симптомов — превышение питающего напряжения, неисправность БП, брака самого ЮМ или пробой по входу USB. В случае микросхем с корпусом типа DIP (выводы с двух сторон и направлены вниз, в основном применялись в платах класса не выше Пентимум-3, т. е. чипсет не позднее intel BX, ну или некоторые старые платы Socket-462) добавляется ещё причина, связанная с установкой микросхемы в панельку наоборот, т. е. не в соответствии с ключом, т. к. микросхему в корпусе PLCC вставить наоборот просто невозможно — мешают чисто механические ограничения панельки (один из углов как бы срезан под 45 градусов, т. е. является, собственно, ключом). В этом случае, вероятность получить исправную плату только с помощью замены микросхемы и перепрограммирования BIOS — примерно 50-60 %, но в данный момент платы с микросхемой Flash-памяти в корпусе DIP не выпускаются, встречается только PLCC-32 исполнение. В современных платах (например, чипсет Intel P35) микросхемы BIOS выполнены в корпусе типа SOIC-8, запаянного на плату. Как правило, у микросхемы 8 выводов, программирование производится по последовательной шине I2C (IIC, Inter Integrated Circuit) , алгоритм (тип протокола) — SPI Write (Serial Peripheral Interface от компании Motorola) . В некоторых случаях аналогичные МС бывают и в корпусе DIP-8 (и установленного в панельку).

Вопреки распространенному мнению среди неопытных или начинающих пользователей, подчёркиваем, что любые неисправности чипов Flash-memory — в полном смысле слова именно аппаратные (с точки зрения внешних проявлений) и никакому программному ремонту не поддаются. То есть например, если определённый чип определённого производителя выдаёт на программаторе (или на спец. ПО) неверный ID, т. е. уникальный идентификатор типа микросхемы, — то переписать этот ID ни на каком «супер-программаторе» невозможно: аппаратная организация МС таких возможностей не предоставляет. К тому же, даже если в ПО программатора принудительно отключить проверку ID и, всё же, попытаться «прошить» микросхему, то это не увенчается успехом — ПО программатора сообщит об ошибке, как правило, уже на стадии стирания микросхемы, не говоря уже о программировании или корректной верификации записанного содержимого. Также ни одна стандартная EEPROM или т. н. Firmware HUB не поддерживает режим «скрытия дефектов», т. е. определенных сбойных ячеек памяти, аналогично жёстким дискам. Подобные «продвинутые новшества» присутствуют, как правило, только в микросхемах для более серьёзного применения, например DOC (DiskOnChip). Эти устройства применяются в качестве мобильных «электронных» накопителей в т. н. одноплатных компьютерах (про них — ) и embedded-системах для индустриального применения, см., например, информацию о бренде M-Systems на английской версии Wikipedia). В целом, DOC можно назвать прародителем современных твердотельных накопителей — SSD.

Если диагноз пользователя о проблемах с BIOS основывается на явной симптоматике (например, компьютер при старте явно или косвенно пишет на экране английским текстом о проблемах с BIOS), то гарантия получения положительного конечного результата после программирования микросхемы BIOS крайне высока, но, опять же, не стопроцентна, вне зависимости от происхождения неисправности (человеческий фактор, либо, «само-собой»), т. к. с таким симптомом встречаются «хитрые», т. е. нестандартные аппаратные неисправности материнской платы (но, очень редко). Резюмируем — процент получения положительного результата от программирования микросхемы BIOS при сообщениях на экране типа "Bios ROM Checksum error" или "Detecting floppy drive A: media" — стремится к 100 %. Однако прежде чем перепрограммировать МС BIOS, рекомендуем убедиться в полной исправности ОЗУ вашего ПК с помощью временной замены на заведомо исправные совместимые модули памяти (SIMM, DIMM, RIMM, DDR и т. п. — в данном случае это совершенно не важно — деградациям и сбоям подвержены любые модули). Принцип в том, что первоначальные операции, а именно — распаковка и подсчёт контрольной суммы содержимого BIOS, производятся, разумеется, непосредственно в ОЗУ и, если оно неисправно, мы рискуем получить сообщение о неверной контрольной сумме BIOS при совершенно исправной микросхеме и её содержимом. И всё это — ещё даже не начиная POST (PowerOnSelfTest). Также отметим, что наличие каких-либо сообщений при старте ПК, связанных с повреждением содержимого BIOS, говорит о том, что в самой МС уцелел т. н. бут-блок (boot block — небольшой программный код, выполняющий первоначальную инициализацию и распаковку основного блока кода), и, в некоторых случаях, есть возможность перепрограммировать содержимое МС BIOS, не демонтируя МС из материнской платы (загрузив файл BIOS через, например, дисковод 3.5" или USB-Flash), но для подобных процедур необходимо соблюдение определённых правил и последовательности действий, зависящих от модели платы и прочих факторов, и удаётся это не всегда.

Резюмируя вышесказанное, можно сделать следующий вывод: ремонт платы и восстановление BIOS — разные процедуры и путать их не следует, так как в случае ремонта платы вы не рискуете ничем и, соответственно, не оплачиваете работы по ремонту в случае получения неудачного результата (или оплачиваете только предварительную диагностику). В случае проведения процедуры восстановления BIOS — вы платите только непосредственно за эту процедуру, и риск получения неудачного результата лежит только на вас, т. е. на Заказчике. Сервисный инженер в данном случае ни при чём — он честно сделал всё, о чем вы его попросили (кстати, в подавляющем большинстве случаев — в вашем присутствии, т. е. под вашим контролем процесса). Так что, «прошивать» или нет — решать вам.

Рано или поздно большинство пользователей ПК сталкиваются с проблемами, решить которые может только модернизация системной BIOS. Кроме этого, многие подготовленные пользователи обновляют BIOS своей материнской платы каждый раз после выхода новой версии, предупреждая саму возможность возникновения таких проблем. Мы подробно рассмотрим универсальный и удобный инструмент — утилиту AMIFlash, пригодную для обновления BIOS всех производителей и обладающую богатыми возможностями тонкой настройки.

Альтернативы нет

Существует достаточное количество программ, предназначенных для модернизации BIOS. Среди них есть универсальные (как, например, AwardFlash, UniFlash, ECSFlash, AMIFlash) и специальные — к примеру PhoenixPhlash, которая может использоваться только совместно с конфигурационным файлом для определенных материнских плат. Однако именно AMIFlash от American Megatrends является лучшим универсальным инструментом модернизации большинства системных BIOS. Утилита обладает несколькими неоспоримыми достоинствами, выгодно отличающими ее от других аналогичных программ и делающими ее в своем роде уникальным продуктом.

Итак, чем же она хороша?

Во-первых, эта утилита написана с использованием технологии DOS/4G от Tenberry Software , которая позволяет снять многие ограничения, накладываемые на программы в среде операционной системы DOS, а именно:

  • преодолеть лимит 640 KB основной памяти и обеспечить доступ практически ко всей памяти, используя защищенный режим работы центрального процессора;
  • минимизировать использование тех самых 640 KB — программа занимает от 5 до 20 KB основной памяти;
  • получить полный и прямой доступ к любому аппаратному устройству, например PCI-to-ISA Bridge или Firmware HUB.

Последний момент особенно важен. Технология DOS/4G открывает 32-битовый доступ к памяти и пространству I/O-портов, что позволяет производить прямую адресацию всех регистров чипсета. Управление этими регистрами, в свою очередь, позволяет осуществлять операции в адресном пространстве микросхемы Flash. На практике это означает, что становится возможным прочитать из FlashROM код производителя и тип микросхемы, чтобы выбрать правильный алгоритм для записи/чтения данных.

Отметим, что такое, казалось бы, простое решение, как применение DOS/4G, не используется другими производителями утилит для обновления BIOS, например Award Software. В недавнем прошлом попытка всеми силами уменьшить размер flash-утилиты, пусть даже в ущерб качеству и возможностям, выглядела логичной. Ведь размер файла ограничен объемом накопителя FDD, в "былые времена" составлявшим 360 KB. Однако сейчас, когда привычной уже давно является емкость FDD 1,44 MB, подобный "традиционный" подход выглядит несколько странным.

Во-вторых, AMIFlash можно использовать для модернизации не только AMI BIOS, но и любого другого производителя (хотя такая возможность, конечно же, нигде не заявлена). Это достигается благодаря наличию модулей поддержки соответствующих чипсетов и микросхем FlashROM. По всей видимости, American Megatrends основной упор делает на распространение этой утилиты среди своих партнеров, которые доставляют программный продукт до конечных пользователей. Подтверждением этому служит тот факт, что сама утилита появилась на сайте AMI совсем недавно, а ее описание там вообще отсутствует (есть только небольшой readme-файл, идущий в комплекте с самой программой). Кроме того, на Web-сайте производителя утилиты далеко не всегда доступна последняя версия, поэтому найти ее можно по адресу http://ic.doma.kiev.ua/inside/ami/flash.htm . Отметим, что, несмотря на общую универсальность, в настоящее время AMIFlash не поддерживает обновление Award BIOS на материнских платах, оснащенных чипсетами Intel i810 и i815.

И наконец, в-третьих, программа обладает модульной структурой, позволяющей оперативно и безболезненно добавлять поддержку новых типов микросхем и чипсетов. Ценность такого подхода становится все более очевидной при стремительном увеличении количества видов используемых в материнских платах Flash-микросхем. Так, последняя версия утилиты включает в себя 92 модуля поддержки чипсетов, в том числе и такие экзотичные, как SMSC VictoryBX-66 и Transmeta TM3200/TM5400 , и 59 модулей поддержки микросхем FlashROM.

Ключи к успеху

Теперь рассмотрим правила использования этого могучего инструмента модернизации BIOS. Как известно, прежде чем приступать к обновлению BIOS, необходимо произвести ряд несложных манипуляций, являющихся залогом успешного обновления. Поэтому опишем вкратце порядок действий, предшествующих запуску самой утилиты. При этом предполагается, что у нас уже есть необходимый файл обновления BIOS и сама утилита.

Итак, для начала необходимо подготовить компьютер к процессу модернизации. Для этого нужно сделать следующее.

1. Обязательно перевести систему в штатный режим, если она разогнана.

2. Отключить в BIOS Setup все функции, предназначенные для защиты BIOS от перепрограммирования. Как правило, такая возможность предусмотрена, чтобы предотвратить несанкционированную запись в BIOS FlashROM, и используется для защиты от вирусов типа CIH.

3. Установить перемычку управления записью BIOS, если таковая имеется на материнской плате, в разрешающее положение.

Естественно, после успешной модернизации BIOS все измененные таким образом установки необходимо вернуть в исходное состояние.

Далее можно непосредственно приступать к обновлению BIOS. Для этого нужно загрузиться с системной дискеты, на которой, помимо системных файлов, должны присутствовать сама утилита (amiflash.exe ) и файл с обновлением BIOS (newbios.bin ). Здесь следует сделать важное замечание: если планируется использовать AMIFlash для модернизации BIOS 4 Mb (524288 байт), то сохранение предыдущей версии BIOS на дискете объемом 1,44 MB будет невозможно, так как сама программа занимает немногим более 500 KB, и свободного места на загрузочной дискете не останется.

Утилита AMIFlash может работать как в диалоговом режиме, так и в режиме командной строки. В отличие от AwardFlash, диалоговый режим предоставляет такие же широкие возможности конфигурирования, как и командная строка, поэтому далее будут параллельно рассмотрены оба режима запуска программы (на примере версии 8.26.14).

Основной экран программы состоит из четырех частей (рис. 1).

  • Main Menu — доступные пункты меню.
  • Go ahead — опции, доступные для текущего пункта меню.
  • Information — сведения о важных для модернизации BIOS компонентах системы (чипсет, тип и размер FlashROM). Если в этом окне в любом из пунктов появилась надпись Unknown , то выполнять программирование не следует, это может привести к разрушению микропрограммы BIOS. Обычно такая ситуация возникает, если данная версия AMIFlash не содержит необходимых компонентов чипсета или FlashROM, установленных на системной плате, или же не выполнены подготовительные пункты, описанные выше. Кроме того, не стоит забывать, что плата или FlashROM может быть просто неисправна.
  • Help/Message — небольшая подсказка по текущему пункту меню.
    Поскольку практически вся информация, вводимая в диалоговом режиме, может быть также передана с помощью параметров запуска, мы сразу же опишем синтаксис командной строки утилиты и в дальнейшем наряду с диалоговыми возможностями будем приводить описания соответствующих ключей.

Итак, AMIFlash из командной строки запускается следующим образом:

Большинство опций может быть как включено, так и деактивировано, для чего непосредственно перед ключом (т. е. сразу после косой черты) ставится знак "-" (минус, без кавычек). Такая возможность необходима, так как программа может запоминать текущее состояние каждого ключа и записывать во внутренний файл конфигурации. Соответственно если опция по умолчанию включена, ее всегда можно отключить из командной строки. Справку по всем доступным ключам можно получить традиционным способом, запустив утилиту с параметром /? или /H.

Теперь вкратце остановимся на каждом из пунктов меню программы и соответствующих им ключах.

Go ahead — запуск процедуры обновления BIOS. Однако прежде необходимо указать имя файла для модернизации и в случае необходимости — имя файла для сохранения текущей версии BIOS. Для этих целей служит следующий пункт меню.

File — задание имен файлов с новой BIOS и для сохранения старой версии. Отметим, что нажатие Enter в этом экране запускает обновление BIOS. Поэтому если есть необходимость предварительно установить некоторые параметры модернизации, нужно просто ввести в соответствующие поля имена файлов и нажать клавишу Escape . С помощью командной строки можно указать лишь имя для нового файла BIOS. Для этого необходимо запустить AMIFlash следующим образом: amiflash.exe newbios.bin . Передача в программу имени файла для сохранения не поддерживается, однако можно сохранить текущую BIOS в файле с помощью ключа /S: amiflash.exe /Soldbios.bin . При использовании этого ключа диалоговый режим не активируется, т. е. сразу после сохранения файла происходит выход из программы и возврат в командную строку.

Switch — применяется для установки параметров обновления BIOS (рис. 2). Каждому параметру соответствует ключ командной строки (более подробно см. вставку).

Следующие два пункта меню — Part List и Chipset List — позволяют вручную задать типы компонентов системы, необходимых для корректной модернизации BIOS: микросхему FlashROM и чипсет, на основе которого сделана материнская плата. Практическая необходимость в использовании этих двух пунктов меню может возникнуть лишь в том случае, если данные компоненты не определились автоматически или же определились неправильно. Излишне говорить, что устанавливать тип микросхем вручную стоит, только будучи абсолютно уверенным в правильности производимых действий. Для повторной инициации автоматического определения микросхемы FlashROM и чипсета служит отдельный пункт Auto Detect .

Module — как уже было сказано, программа имеет модульную структуру. Каждый поддерживаемый чипсет (ID = 0) или микросхема FlashROM (ID = 1) представлен отдельным модулем, с которым можно провести ряд операций: удалить, сохранить в отдельный файл или добавить новый модуль из внешнего файла. Последнюю операцию можно также осуществить с помощью ключа командной строки/U , где file — имя файла, содержащего добавляемый модуль. К сожалению, описание формата модулей является закрытой информацией, поэтому добавление новых модулей пользователем не представляется возможным.

Дополнительные возможности

Помимо перечисленных выше, AMIFlash обладает также рядом возможностей, которые доступны только при использовании командной строки.

Ключ /A[+] инициирует обновление BIOS в автоматическом режиме без какого-либо вмешательства пользователя. Чипсет и установленная микросхема FlashROM определяются автоматически. Использование постфикса "+" разрешает оконный интерфейс, в противном случае обновление происходит в режиме командной строки. Применение данного ключа подразумевает обязательное указание имени файла обновления BIOS в командной строке. Все настройки в этом случае следует проводить только с помощью параметров командной строки, так как диалоговый режим становится недоступным.

Ключ /T[n] может быть использован только в сочетании с ключом /A и задает количество попыток перепрограммирования BIOS в случае, если первая попытка не привела к желаемому результату. Значение параметра n изменяется в пределах 0—65535.

Ключ /Q отключает вывод каких-либо сообщений во время обновления BIOS.

Ключ /X задает режим, при котором запрещается используемое по умолчанию автоматическое определение типа FlashROM и набора системной логики.

Ключ /P открывает "секретный" пункт меню Security (рис. 3), позволяющий:

  • установить пароль на вход в этот пункт меню при следующих запусках программы;
  • удалить этот пароль, если он был ранее установлен;
  • указать, какие пункты меню будут доступны при следующих запусках программы;
  • изменить сообщение, которое отображается в нижней части экрана (по умолчанию там выводится "For PCI system board only").

Очевидно, что максимальную пользу из этой функции могут извлечь производители материнских плат, распространяющие AMIFlash вместе со своей продукцией.

После подробного описания возможностей AMIFlash мы приведем оптимальную конфигурацию утилиты для модернизации BIOS — в основном для тех читателей, которые не вполне уверенно чувствуют себя среди многочисленных ключей, опций и параметров.

Итак, для обновления системной BIOS следует выполнить описанные ранее подготовительные шаги 1—3 и создать.bat-файл (например, ami.bat ) следующего содержания:

Действие параметров в обоих случаях прозрачно: Boot Block перепрограммироваться не будет, установленные пароли останутся активными, перед программированием будет произведена проверка целостности самого файла с новой BIOS и его соответствия данной материнской плате, а после перепрошивки BIOS установки CMOS Setup примут значения по умолчанию и выполнится автоматическая перезагрузка системы. Остается надеяться, что при соблюдении приведенных выше рекомендаций этот последний пункт выполнится успешно, уже с новой версией BIOS. Удачной модернизации!..

P. S. Когда статья была практически закончена, вышла в свет AMIFlash версии 8.27.0A. Несмотря на то что количество возможных параметров командной строки сократилось до четырех (если верить ключу /?), описанные в данной статье параметры перешли в разряд недокументированных и продолжают работать так же, как и в версии 8.26.14. Кроме этого, упразднена опция "BIOS functions are called by ROM file" и добавлена "Check Feature ID/Check BIOS ID".

Параметры обновления BIOS с помощью AMIFlash Boot Block Programming (ключ /B) — разрешение программирования BootBlock — загрузочного блока, который первым выполняется при старте системы. Он крайне редко претерпевает изменения, и обычно нет необходимости перепрограммировать BootBlock, если производителем материнской платы в описании новой BIOS не сказано обратное. Следует помнить, что сбой при программировании BootBlock может привести к невозможности восстановления BIOS программными средствами, поэтому рекомендуется эту опцию отключить. NVRAM Programming (ключ /N) . В привычном понимании NVRAM (Non-Volatile RAM) — это постоянное запоминающее устройство с автономным батарейным питанием, предназначенное для хранения переменных, доступных пользователю в CMOS Setup. В данном контексте под NVRAM подразумевается область хранения переменных ESCD. BIOS functions are called by ROM file. Включение опции разрешает вызов функции записи Flash из системной BIOS. Иначе функция перепрограммирования вызывается непосредственно из утилиты AMIFlash. Если материнская плата выполнена с такими конструктивными особенностями, что использование алгоритмов AMIFlash не приводит к успешному результату, следует включить эту опцию. Load CMOS defaults (ключ /C). Позволяет сразу после программирования загрузить установки BIOS по умолчанию (BIOS Default). Сброс пароля BIOS при установке параметров CMOS по умолчанию. BIOS file checksum verify (ключ /V). Включение проверки контрольной суммы содержимого BIOS. В случае несовпадения на экран выводится сообщение "The BIOS ROM file checksum is BAD". BIOS file tag check (ключ /I). Проверка файла BIOS на соответствие материнской плате. Путем сравнения специальных меток, одна из которых содержится в файле BIOS, а другая хранится в области DMI, однозначно определяется материнская плата и программой делается вывод о взаимном соответствии файла BIOS и платы. Clear CMOS after programming done (ключ /E). Очистить CMOS после программирования. Эта опция позволяет избежать ситуации, когда новая версия BIOS формирует массивы данных в CMOS, отличающиеся от уже имеющихся. В таком случае возможны проблемы со стартом материнской платы. Программное обнуление CMOS эквивалентно использованию специальной перемычки "Clear CMOS". GPNV data area reserving (ключ /G). Резервирование области для журнала событий GPNV (Green PC Non-Volatile Buffer). Выполнение данной опции возможно только на материнских платах с поддержкой GPNV. В противном случае пользователь предупреждается об отказе от резервирования: "The system BIOS has no GPNV support. This function will be disabled". Disable USB (ключ /L). На этапе программирования микросхемы Flash запрещается USB, независимо от ее текущего статуса. Выключение этой опции позволяет оставить статус шины USB в системе неизменным. Для пущей безопасности рекомендуется эту опцию включать.

Что такое BIOS, я думаю, объяснять не надо. Но можно повторить еще раз: BIOS - набор программ (Firmware), записываемый в ПЗУ на материнской плате (сейчас только в стираемое ПЗУ - Flash-микросхему) и предназначенный для диагностики и конфигурации компьютера, выполнения процедур дискового ввода-вывода, работы с видео (для шины PCI) и т.п. Flash-микросхему можно перепрограммировать ("залить" новый BIOS, полученный от производителя материнской платы). Обновление BIOS выполняется по следующим причинам:

  • в старой версии были обнаружены ошибки, исправленные в новой версии;
  • обеспечение совместимости с новыми устройствами (HDD более 8.4 Гб, LS-120, ZIP-drive и т.д);
  • добавление новых функций материнской платы.

Само обновление осуществляет программа-прошивальщик. Для AWARD BIOS она чаще всего называется AWDFLASH, хотя у производителя Вашей платы могут быть и свои прошивальщики.


Где и как искать новый BIOS

Искать новый BIOS нужно на сайте производителя материнской платы, т.к. BIOS от другой платы может подойти только случайно. Найдя сайт производителя, нужно зайти в раздел "Support" или подобный ему и скачать файл (чаще всего это самораспаковывающийся архив, который может содержать внутри и программу-прошивальщик). Здесь Вам нужно будет точно знать модель и ревизию платы. Если на сайте производителя нет инструкций о том, где искать маркировку, посмотрите на самый крайний ISA-слот. На нем почти наверняка есть наклейка со штрих-кодом. Подпись под штрих-кодом - серийный номер платы (он уже может помочь), а где-то рядом будет и модель платы. Иногда ревизия платы пишется на наклейке на ПЗУ. Если этой информации недостаточно, попробуйте обратиться в службу технической поддержки производителя (написав электронное письмо, например). После того, как модель определена, нужно найти раздел со списками новых BIOS"ов для этой платы. Почитайте список того, что добавлено или исправлено в новых версиях. Если ничто из перечисленного Вас не касается, BIOS лучше не перешивать.

Если новый BIOS скачан, нужно подобрать нужный прошивальщик. Для AWARD BIOS это AWDFLASH.EXE. Но всегда лучше использовать либо тот, который рекомендует производитель, либо тот, что поставлялся вместе с платой на дискете или CD. Бывает, что прошивальщик не подходит, так что обратить внимание на его выбор стоит.


Подготовка к обновлению BIOS

Хотя процедура обновления проста и тривиальна, всегда находятся люди, которые сделают что-то не так. Поэтому не лишними будут несколько советов.

Обновление BIOS всегда производится только из-под чистого DOS"а. Если Вы не уверены, что знаете, как попасть в чистый DOS до загрузки Windows, используйте загрузочную дискету. Для подготовки ее в DOS-сессии запустите обычный FORMAT A:, после чего - SYS A: (или FORMAT A: /S). После сообщения "System transferred" или "Системные файлы скопированы" удалите с дискеты все, кроме файлов IO.SYS, MSDOS.SYS и COMMAND.COM (проверьте, видны ли скрытые файлы в Вашем файл-менеджере). После этого на дискету нужно записать программу-прошивальщик (AWDFLASH.EXE). Скачанный BIOS должен быть файлом с расширением BIN (распакуйте, если надо). Файл.BIN фактически является архивом LZH (с файлом ORIGINAL.TMP внутри), его распаковывать не надо ни в коем случае. Проверьте дискету на читаемость. Не следует защищать ее от записи, потребуется туда же записать старый BIOS (вообще-то это нужно сделать сразу, при покупке платы - см. параметры запуска AWDFLASH).


Процедура обновления для AWARD BIOS

Запуск прошивальщика нужно выполнять из-под чистого DOS. Никаких других программ не должно быть загружено. Если Вы не знаете, как это сделать, используйте загрузочную дискету. Итак, порядок таков:

  1. Перегрузитесь и войдите в SETUP.
  2. Отключите оба кэша (внутренний, внешний) в разделе Advanced Setup.
  3. Включите там же загрузку с дискеты (Boot Sequence поставьте "A,C,CD_ROM").
  4. Если у Вас есть возможность отключать опцию перезаписи Flash программно (на Chaintech-платах), отключите ее (Flash Protection в Chipset Setup).
  5. Выйдите из Setup.
  6. Загрузите систему с дискеты.
  7. Запустите прошивальщик (о параметрах запуска AWDFLASH см. ниже).
  8. Введите имя файла с расширением (повторяю, файл должен быть с расширением BIN. Если EXE - он еще не распакован, если TMP - уже слишком распакован).
  9. На запрос о сохранении старого BIOS ответьте утвердительно и введите имя файла (только не поверх нового, конечно).
  10. Начнется обновление BIOS и побежит полоска прогресса. Если что-нибудь случится в это время (зависнет машина, пропадет электричество, включится холодильник), вам не повезло по-настоящему.
  11. После сообщения о необходимости перезагрузки системы можно выключить компьютер на несколько минут.
  12. После новой загрузки зайдите в Setup и включите все, что было выключено. Рекомендуется сделать Load Setup Defaults и поставить Reset Configuration Data в положение Enabled (это в PNP/PCI Config).


После обновления BIOS

Вполне возможно, что новый BIOS будет работать не так, как того хотелось бы, или не будет работать вообще. Тогда остается только повторить процедуру "заливки" для старого BIOS (если Вы его сохранили, конечно). Но не стоит торопиться восстанавливать старый BIOS. Возможно, что достаточно будет внимательно просмотреть Setup в поисках неправильно установленных опций. Также можно воспользоваться и программой-прошивальщиком - она не только прошивает BIOS, но умеет делать еще кое-что.


Случай неудачной "заливки"

Если по какой-либо причине компьютер не загружается после обновления BIOS, есть способ восстановить BIOS. Перепрограммирование Flash-микросхемы на материнской плате товарища подробно описано на страницах газеты и возвращаться к этому нет смысла. Но есть и более простой способ - BootBlock BIOS (правда, не на всех платах это возможно). Дело в том, что при программировании часть BIOS не перезаписывается. Эта часть BIOS позволяет запустить машину с загрузочной дискеты, правда, понадобится еще видеокарта ISA (или VLB). В общем, идея в том, что при загрузке с дискеты запускается прошивальщик и восстанавливает BIOS. Для этого на дискете должен быть файл AUTOEXEC.BAT со строкой AWDFLASH <файл.BIN> /PY /SN. Опробовать этот способ мне, правда, не приходилось, и работает он или нет, я не знаю.


Командная строка программы AWDFLASH

Эти параметры предназначены не для перезаписи BIOS:

/CC - очистка CMOS (энергонезависимой памяти с некоторыми параметрами конфигурации),

/CP - очистка данных о Plug&Play устройствах,

/CD - очистка DMI-информации (детальная информация о конфигурации материнской платы),

/Sn - не сохранять старый BIOS,

/Pn - не выполнять программирование Flash (используется для сохранения старого BIOS).

Эти параметры используются при выполнении программирования BIOS:

/CC, /CP, /CD, /Sn, /Pn - то же самое,

/Py - выполнить перезапись BIOS из указанного файла,

Пример: AWDFLASH NEWBIOS.BIN /PY OLDBIOS.BIN /SY.

/E - выйти в DOS после окончания,

/R - осуществить перезагрузку после окончания.

Вообще, желательно запускать AWDFLASH с параметрами /CP /CD.


Возможные сообщения программы AWDFLASH

В ходе работы программа-прошивальщик может выдавать такие сообщения:

  1. Program files or part number does not match with your system - несоответствие версии BIOS и используемого прошивальщика. Можно проигнорировать это сообщение или поискать другую версию AWDFLASH.
  2. Flash utility cannot find the BIOS update file - введенное имя файла некорректно, проверьте.
  3. Insufficient memory - Вы запустили прошивальщик не из-под чистого DOS"а либо прошивальщик глючит.
  4. Erase chip fail или подобное сообщение - три варианта - защита от записи Flash (программно или аппаратно), микросхема не Flash или чип поврежден.
  5. File Size Error или File Read Error - либо файл с BIOS`ом таковым не является, либо дискета запорчена.
  6. Unknown Flash Type - микросхема вряд ли подойдет для этого прошивальщика.
© 2024 Про уют в доме. Счетчики газа. Система отопления. Водоснабжение. Система вентиляции