Рефетека.ру / Информатика и програм-ие

Статья: Перепрошивка 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-ом на экран какой-то обидной фразой. Но так, чтоб "зашиться" и постоянно зверствовать - это, видимо, у нас пока ещё впереди:)

- Вот, хочу BIOS перешить.

- Что, компьютер испортился?

- Нет, работает.

- С видео/памятью/винчестером проблемы?

- Да нет, всё нормально.

- Медленно? Бывает зависает? Не все игрушки идут?

- Да нет, всё отлично, всё бегает, никаких проблем.

- Хотите памяти добавить/процессор побыстрей/винчестер побольше?

- Нет, меня всё и так устраивает.

- ТАК @@@@@@@@@@@@ ПЕРЕШИВАТЬ?!?

- Так ведь старый уже стал, биос-то...

Без комментариев. Просто: "Люди, не мешайте компьютеру работать!..."

Скажу сразу, что если вам ни разу в жизни не приходилось менять firmware микросхемы базовой системы ввода/вывода и вы никогда и не задумывались о необходимости ощущения действа, то лучше ничего не трогайте! Последствия неправильной перепрошивки BIOS могут быть печальными вплоть до необходимости явки c материнской платой в сервис-центр. Зачем вообще нужно что-то вытворять с содержимым микросхемы BIOS? Если у вас все и так прекрасно работает, то совершенно незачем. В этом случае можно сделать только хуже. О необходимости смены firmware следует подумать в следующих случаях:

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

Если у вас, напротив, древняя (умеренно) системная плата, а вы купили новомодный CPU, который в сокет, в принципе, влезает, но материнка камень идентифицировать отказывается категорически. Но это может помочь только в том случае, если на сайте производителя вашей материнской платы есть новая версия firmware, и в перечне того, что исправлено в обновленном микрокоде, сказано:"да, новая версия прошивки добавляет такой-то процессор в список поддерживаемых такой-то материнской платы устройств". Если ничего такого на офф.сайте вашей материнской платы не сказано, прошивка либо не принесет никакой пользы, либо, если будет осуществлена неправильно, повлечет за собой порчу оборудования;

Содержимое микросхемы BIOS просто запоролось по каким-либо причинам (среди них неумело проделанная операция прошивки или заражение вирусом).

Ни секунды не сомневаясь в том, что вы десять раз подумали, прежде чем сделать, тем не менее считаю нужным предупредить, что автор данной статьи не несет ровным счетом никакой ответственности за проведение вами всего того, что описано ниже.

Способов перепрошивки существует три: один из среды Windows и как минимум два в DOS. Сейчас мы подробно разберем каждый из них.


Перепрошивка под Windows


Для начала нужно обзавестись необходимым набором софта. В данном случае нам потребуются программа-прошивальщик (обычно идет на CD, который поставляется в комплекте с матплатой; если там нужной программки не обнаружилось, скачайте нужный софт из Интернета, лучше с официального сайта производителя) и бинарный файл с самим микрокодом, который и будет прошит в EEPROM. Теперь, когда все готово к работе, ВЫКЛЮЧАЕМ ВСЕ АНТИВИРУСЫ и запускаем программу-прошивальщик. В ней указываем путь к бинарному файлу и запускаем процесс перепрошивки. В результате по истечении нескольких минут содержимое EEPROM будет обновлено. Такой способ примечателен простотой (не требует почти никаких знаний со стороны пользователя), но уступает по надежности перепрошивке из среды DOS. Например, после выполнения вышеописанных операций из "окошек" температура центрального процессора в BIOS может ни с того ни с сего принять отрицательное значение. Не исключены и другие "неожиданности".


Перепрошивка под DOS


Более надежна, так как процесс происходит в более спокойной "обстановке" (системных данных в ОЗУ загружено значительно меньше, поэтому и "желающих" глюкнуть будет меньше). Но DOS есть DOS со всеми присущими командной строке достоинствами и недостатками, следовательно, управление процессом перепрошивки будет производиться с помощью досовских команд. Для работы нам потребуются программа-прошивальщик, сама прошивка и дискета, отформатированная как системная и на которую все это будет записано и впоследствии загружено. Внимание! Под программой-прошивальщиком имеется в виду не та софтина, которую я упоминал в первом способе, а несколько другое ПО. Оно также должно быть скачано с офф.сайта производителя либо, что крайне нежелательно, с других ресурсов (альтернативный код, написанный сторонними разработчиками). Офф.сайт следует предпочесть всяким софтовым развалам потому, что сторонний софт может быть написан криво, а ошибки в микрокоде BIOS недопустимы и могут привести к неработоспособности всей системы и необходимости навестить сервис-центр. Итак, вы создали загрузочную дискету, записали туда прошивальщик и прошивку и уже готовы к самому процессу. Но это еще не все. Последний этап перед прошивкой - редактирование файла 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

ld

awdflash.exe oldBIOS.bin /py /sn /cc /cp /cd /sb /r

:end

За этой непонятной телегой скрывается вполне интуитивный код, командующий действиями программы-прошивальщика. Давайте разберемся, что к чему. Содержимое autoexec.bat заставляет компьютер пройти по следующим пунктам: сохранение на дискете старой версии BIOS, прошивка новой версии, а после перезагрузки компьютера (если не успеете вытащить дискету из дисковода) на место обновленного микрокода будет прошита его старая версия. Последнее пригодиться в том случае, если обновленная firmware оказалась кривой, и требуется восстановить старый микрокод из созданного бэкапа. Так мы хоть и готовимся к худшему, но надеемся все-таки на лучшее, вынимаем дискету сразу после того, как система уйдет в перезагрузку. Если после смены прошивки BIOS компьютер грузиться наотрез отказывается, преспокойно вставляем дискету обратно и давим Reset. Autoexec сам сделает нужную работу для приведения всего в исходное состояние.


Обновление BIOS из BIOS


Некоторые BIOS позволяют осуществить собственную перепрошивку через встроенное меню FlashRom. Зайдя в него, нужно лишь указать место расположения bin-файла прошивки (он должен находиться на дискете) и запустить процесс обновления firmware.


Ключи autoexec


Как вы, наверное, уже обратили внимание, в исходном коде "батника" присутствуют странные обозначения со слешами, например, /py /sy /cc. Это ключи, которые определяют действия autoexec.bat во время перепрошивки. Приведу краткую аннотацию предназначений каждого ключа:

«/?» – Помощь. Если вы хотите творить самодеятельность в «Award Flash Memory Writer», обязательно ознакомьтесь с файлом справки программы.

Пользуясь ключами "/Py" и "Pn" можно разрешить/запретить запись в микросхему BIOS. Последнее полезно в том случае, если вы хотите не перепрошивать, а лишь сделать бэкап существующей версии.

Указываем «/Sy», чтобы сохранит предыдущую версию до начала перепрошивки либо «/Sn», чтобы отменить сохранение. В первом случае нужно будет дать добро (если вы уверены в целесообразности смены firmware) на вопрос "Do You Want To Save BIOS (Y/N)" программы. Ключ "/Sn" пригодиться в случае, если обстоятельства заставляют прошивать без монитора.

«/CC» — Очистить CMOS после программирования. Лучше применять этот ключ, так как иной раз для успешной смены прошивки необходим сброс настроек CMOS. Действие «/CC» аналогично извлечению питающей BIOS батарейки или манипуляций со сбрасывающей установки CMOS перемычкой. Применяйте данный прием, если физический доступ к системной матплате затруднен.

«/CP» — Обнулить таблицу «PnP (ESCD) Data» после программирования. Указывайте этот ключ в autoexec.bat, если при старой версии firmware не распознаются какие-либо подключенные к матплате PnP-устройства. Того же результата можно добиться использованием параметра «Reset Configuration Data» в меню «PnP/PCI Configuration CMOS SetUp».

«/CD» — Обнулить пул «DMI Data» после программирования. DMI – это база данных, в которой содержится вся информация о компьютерной системе в целом. «/CD» будет полезен как при неопределении PnP-устройств, так и при замене любого компонента системы.

«/SB» — Не программировать «BootBlock». Загрузочный блок, который при старте системы выполняется в первую очередь. При этом он крайне редко изменяется, поэтому необходимость перезаписывать его возникает с такой же частотой. Перезаписывайте «BootBlock»только в случае, если об этом вас просят на офф. сайте производителя материнской платы. Если производителем материнской платы не оговорено противное, нет необходимости перепрограммировать «BootBlock». Кроме того, сбой при его программировании может привести к невозможности восстановления процессора программными средствами. Некоторые матплаты несут на борту перемычку «BootBlock Protection». Если она установлена, без указания в autoexec.bat ключа «/SB» программирование BIOS будет невозможно или приведет к ошибкам.

«/SD» — Сохранить данные DMI пула в файле. Область DMI может быть сохранена для последующего использования программным обеспечением. Хоть ключ и упоминается в файле справки «Award Flash Memory Writer», его использование не дает никакого результата. Попросту говоря, это параметр не работает.

«/R» — Выполнение перезагрузки по окончании процесса перепрошивки. Полезна при смене firmware с помощью bat-файла.

«/Tiny» — Использовать меньше оперативной памяти.

Без указания этого ключа утилита «AwardFlash» пытается загрузить в оперативную память весь файл BIOS для последующего его программирования. Если в процессе выполнении записи, несмотря на все принятые в процессе подготовки к обновлению, меры программа выдаст сообщение «Insufficient Memory», повторите процедуру, но уже «/Tiny». Теперь бинарный файл будет помещаться в ОЗУ не целиком, а блоками.

«/E» — Возврат в DOS по окончании процесса перепрошивки.

«/F» — Программировать средствами системного BIOS. Большинство современных BIOS содержат процедуры записи «FlashROM». Используя ключ «/F», программа «AwardFlash» программирует «FlashROM» алгоритмами, которые находятся в текущей версии BIOS. Если материнская плата выполнена с такими конструктивными особенностями, что использование алгоритмов «AwardFlash» Writer не приводит к успешному результату, следует воспользоваться ключом «/F».

«/LD» — Обнулить настройки 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


Если вы таки умудрились напортачить в этом простом, но ответственном деле, попытаемся восстановить работоспособность базовой системы ввода/вывода вашей матплаты. Существуют два способа: программный и аппаратно-программный. Разберем сначала первый, так как он относительно проще. Заключается он в попытке повторной перепрошивки. Если загрузка компа доходит хотя бы до прохождения POST, и система способна загрузиться с флоппика, пихаем в него нашу системную дискету с прошивальщиком и прошивкой и повторяем процесс перепрошивки сначала. Если повезет, то вскоре монитор, как и давеча, обрадует вас родными "окошками". Если вы довели BIOS до такого состояния, что загрузка компьютера не доходит даже до POST, дела намного хуже. Либо придется навестить сервис-центр, либо, если микросхема EEPROM не впаяна в матплату, а просто туда вставляется и может быть легко демонтирована, вынимаем ее и идем туда, где нам доверят такую же материнку с таким же демонтируемым BIOS'ом

Рефетека ру refoteka@gmail.com