goto end
ld
awdflash.exe oldBIOS.bin /py /sn /cc /cp /cd /sb /r
:end
За этой непонятной телегой скрывается вполне интуитивный код, командующий действиями программы-прошивальщика. Давайте разберемся, что к чему. Содержимое autoexec.bat заставляет компьютер пройти по следующим пунктам: сохранение на дискете старой версии BIOS, прошивка новой версии, а после перезагрузки компьютера (если не успеете вытащить дискету из дисковода) на место обновленного микрокода будет прошита его старая версия. Последнее пригодиться в том случае, если обновленная firmware оказалась кривой, и требуется восстановить старый микрокод из созданного бэкапа. Так мы хоть и готовимся к худшему, но надеемся все-таки на лучшее, вынимаем дискету сразу после того, как система уйдет в перезагрузку. Если после смены прошивки BIOS компьютер грузиться наотрез отказывается, преспокойно вставляем дискету обратно и давим Reset. Autoexec сам сделает нужную работу для приведения всего в исходное состояние.
Некоторые BIOS позволяют осуществить собственную перепрошивку через встроенное меню FlashRom. Зайдя в него, нужно лишь указать место расположения bin-файла прошивки (он должен находиться на дискете) и запустить процесс обновления firmware.
Как вы, наверное, уже обратили внимание, в исходном коде "батника" присутствуют странные обозначения со слешами, например, /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, как правило, публикуется производителем материнской платы на своем сайте.
Если вы таки умудрились напортачить в этом простом, но ответственном деле, попытаемся восстановить работоспособность базовой системы ввода/вывода вашей матплаты. Существуют два способа: программный и аппаратно-программный. Разберем сначала первый, так как он относительно проще. Заключается он в попытке повторной перепрошивки. Если загрузка компа доходит хотя бы до прохождения POST, и система способна загрузиться с флоппика, пихаем в него нашу системную дискету с прошивальщиком и прошивкой и повторяем процесс перепрошивки сначала. Если повезет, то вскоре монитор, как и давеча, обрадует вас родными "окошками". Если вы довели BIOS до такого состояния, что загрузка компьютера не доходит даже до POST, дела намного хуже. Либо придется навестить сервис-центр, либо, если микросхема EEPROM не впаяна в матплату, а просто туда вставляется и может быть легко демонтирована, вынимаем ее и идем туда, где нам доверят такую же материнку с таким же демонтируемым BIOS'ом