Не слишком сложно предположить, что исторические «экзерсисы» волнуют-интересуют крайне «узкий круг ограниченных лиц». Если Вы себя к таковым относите — тут можно найти все подробности, в том числе лично принять участие в архивебологических раскопках с целью нахождения раритетных подверсий (например, v1.0-1.1, v4.x) awdflash . Ну, а для всех «нормальных» изложу описание работы с awdflash на примере как-то мною разобранной версии с цифрами 8.64 . Нонче уже есть более свежие (например, V8.73) потому чуть позже просто внесу поправки-уточнения.
2. Запускать только под DOS .
Программа старенькая (сколько лет — скажу позже и отдельно 😉 ), потому писалась, понятно, «чисто» для DOS. При попытке запустить-таки ее из-под Windows — достаточно корректно матернется, что многозадачные ОС ей строго противопоказаны. Не пробовал запускать ее под линуксами сотоварищи, но есть веские основания, что «пошлет туда же».
Касаемо требований уже к самому DOS-у, то как многократно его пережившая, четко отлавливает наличие «зловредных» для нее всяческих менеджеров виртуальной памяти и пр. (в результате шлет все туда же, куда и любителей «пускатьподвинду»). Однако, опять же, «береженого — Бог бережет», потому простое правило — запускаем из-под «голого DOS-a. Который, правда, в последнее время, стремительно уходит в прошлое, однако в критических ситуациях (к которым обязательно относится любая перешивка любого биоса) по-прежнему остается безальтернативным средством. После, как буду еще корректировать все изложенное, выложу какие-нибудь варианты его раздобыть и установить, ежели под руками не найдется.
3. Описание ключей.
При запуске с ключиком / ? выдает следущий, достаточно понятный и логичный набор: AWDFLASH v8.64 (12/14) (C)Phoenix Technologies Ltd. 2005 All Rights Reserved
Usage: AWDFLASH [FileName1] [FileName2] [/ [/ . ]] FileName1 : New BIOS Name For Flash Programming FileName2 : BIOS File For Backing-up the Original BIOS ?: Show Help Messages py: Program Flash Memory pn: No Flash Programming sy: Backup Original BIOS To Disk File sn: No Original BIOS Backup Sb: Skip BootBlock programming Wb: Always Programming BootBlock cd: Clear DMI Data After Programming cc: Clear CMOS Data After Programming cp: Clear PnP(ESCD) Data After Programming LD: Destroy CMOS Checksum And No System Halt For First Reboot After Programming Tiny: Occupy lesser memory QI: Qualify flash part number with source file E: Return to DOS After Programming R: RESET System After Programming F: Use Flash Routines in Original BIOS For Flash Programming cks: Show update Binfile checksum cksXXXX: Compare Binfile CheckSum with XXXX
NVMAC:XXXXXXXXXXXX NVGUID:XXXXXXXXXXXXXX Support nForce Input MAC,GUID Function,with «/wb» to update MAC and GUID.
Командная строка запуска стандартная — имя прошивальщика, далее имя файла прошивки, которую хотим зашить в биос. Если желаем сохнанить копию биоса перед прошивкой — также далее указываем имя файла для этого.
В самом конце идут ключи . Наиболее популярные, предназначенные для того, чтобы в процессе прошивки awdflash «не задавал лишних вопросов»:
py — (от P rogramm Y es) — Да , точно, абсолютно уверен — прошивать ! pn — (от P rogramm N o) — Нет , прошивать не надо ! sy — (от S ave Y es) — Да , сохранить копию перед прошивкой. sn — (от S ave N o) — Нет , сохранять не надо . e — Выйти в DOS после окончания процесса прошивки.
Данные ключики, думаю, вполне понятны даже для тех, кто впервые столкнулся с перешивкой биос, потому в особых комментариях не нуждаются. Например, зная их, уже можно написать себе bat-файлик, где будут указаны нужные ключики. Вообще, полезно выработать привычку использовать в хозяйстве подобные вещи — один раз разобрался, сделал «на свежую голову» командный файл со всеми настройками-ключами, записал его на дискету (флэшку и т.д) да забыл как страшный сон. И когда придет время воспользоваться — не придется снова лезть в гугль и снова что-то читать-вспоминать, что там за «хакерские» ключики и кто что обозначает. Кстати, последний ключик (/ e — Выход в DOS) рекомендую использовать — «на всякий пожарный». Дабы если вдруг в самый последний момент вспомнится, что был зашит «не совсем тот» (чаще — «совсем не тот») — можно было еще что-то предпринять. Хотя по секрету могу сказать, что даже если этот ключ не был введен, а в процессе прошивки выяснилось, что зашито не то и на экране лишь пугающая надпись «Нажмите F1 для перезагрузки» — помните об «хакерской» уловке — нажать клавишу F10 . Даже несмотря на ее отсутствие в списке возможных, awdflash (при чем любой версии ) резко и послушно вернется в DOS. Где будет возможность еще раз прошить (не-)нужный биос.
Итак, по ходу мы уже можем записать для себя две основные комбинации ключиков. Одна для того, чтобы просто сохранить биос : awdflash имя_копии / pn / sy / e
Все просто — НЕ перешивать , ДА — сохранить , и ВЫЙТИ в DOS после сей процедуры.
Такую комбинацию используем ПЕРЕД прошивкой для сохранения копии. Не рекомендую «смешивать» прошивку нового биоса и сохранение старого (в одной операции/запуске). Спешка в данном процессе строго противопоказана, а запустить два бат-файла не такое и утомительное дело. Кстати, о второй комбинации, для прошивки нового биоса, с учетом рассмотренных выше ключей, получим: awdflash имя_прошивки / py / sn / e
Также просто — Да — перешивать , НЕ сохранять , и ВЫЙТИ в DOS после сей процедуры.
Предыдущей комбинацией мы уже сохранили биос, потому еще раз это дело совершенно ни к чему. А в случае частой перешивки биоса подобный подход (с разделением операций сохранения-прошивки) тоже крайне удобен — нет смысла каждый раз сохранять биос, достаточно одной первой, самой старой копии, и для прошивки можно будет запускать собственно лишь «прошивочную» комбинацию, помня, что «всякий пожарный» случай мы уже учли в начале опасных мероприятий.
Теперь постепенно будем разбирать все «более хакерские» ключики. сс — (от С lear C MOS) — Очистить CMOS после прошивки.
Даже далекие от «железных» подробностей (компьютера), как правило, обязательно слышали про CMOS . В простом случае это есть » энергонезависимая память «. Т.е. то место, куда перед выключением компьютера заносятся настройки биоса (в том числе выбранные Вами в BIOS-Setup). Известная также большинству «батарейка в компьютере» — как раз и питает эту «энергозависимую память». Выняв которую на некоторе время (от 5-30 секунд по техусловиям до получаса-«на ночь» при навсякислучайном подходе) можно не менее успешно очистить CMOS. В частности, именно поэтому (сброс сохранненых ранее настроек, которых бывает совсем немало) я данный ключик не рекомендую к использованию. Вероятность того, что новая прошивка не заработает по этому поводу — мизерная, плюс у Вас обязательно будет возможность исправить ситуацию после вынув батарейку . Потому в «рекомендуемую» прошивочную комбинацию я его не включаю.
Следущие популярные и еще «более хакерские» ключики: сp — (от С lear P nP) — Очистить область ESCD после прошивки. сd — (от С lear D MI) — Очистить область DMI после прошивки.
Что это за хитрые ESCD(PnP)- и DMI-области, думаю, подробно объяснять смысла нет. Вкратце — в них хранится информация о конфигурации компьютера и по сути это также можно считать «энергонезависимой памятью». Просто размер CMOS (выше рассмотренной «энергонезависимой памяти») исчисляется всего лишь байтами (от 128 в старых до 512 в современных системах), а размер ESCD/DMI исчисляется килобайтами. Однако в отличие от ключика / сс (очистки CMOS), данные два ключа настоятельно рекомендуются к использованию, т.к. по статистике незапуск системы с некорректными записями в ESCD/DMI крайне вероятен. При чем даже строго «правильный» биос (для текущей матплаты), просто более новой версии — запросто может посчитать «некорретными» записи, сделанные его предшественником (от биоса предыдущей версии). Так что с учетом этих ключиков подправляем нашу комбинацию для прошивки: awdflash имя_прошивки / cd / cp / py / sn / e
Для подавляющего большинства, кому нужно «просто прошить» вышеописанных ключей хватит и дальше им можно не читать. Даже я бы сказал — нужно (не читать). Ибо совсем не разбираясь в обсуждаемой проблеме — можно лишь испортить, пытаясь применить не до конца понятные способы работы с прошивкой биос. Потому с оными прощаюсь, удачных Вам прошивок! 😉
Итак, если Вы все еще читаете, значит, либо думаете, что Вас можно отнести к хакерам, либо так оно и есть. Ладно, главное — я предупредил. Самый популярный «хакерский» ключик: f — (от F orce) — Шить!
В большинстве описаний данный ключ переводят как:
/ F — Программировать средствами системного BIOS. Большинство современных BIOS содержат процедуры записи FlashROM. Используя ключ / F , программа AwardFlash программирует FlashROM алгоритмами, которые находятся в текущей версии BIOS. Если материнская плата выполнена с такими конструктивными особенностями, что использование алгоритмов Award Flash Writer не приводит к успешному результату, следует воспользоваться ключом / F .
В 99.999% случаев ни читатели, ни те, кто перепечатал это описание у других, ни даже авторы подобных строк — даже близко не понимают смысла написанного. Не пытаясь вдаваться в дискуссию по поводу «так ведь же написано — F: Use Flash Routines in Original BIOS For Flash Programming «, просто отвечу — «вам шашечки или ехать?» Так вот, для нас главное, что данный ключик очень важны й и при установке влияет на принципиальные вещи:
Не проводятся проверки на совпадение BIOS ID прошиваемого файла и текущей прошивки
Не делаются проверки на совпадение BIOS_Lock фичи (для относительно новых систем)
Да и, вообще, не проверяется — Award-овский ли это биос.
Что обычно и нужно достаточно разбирающимся пользователям. Ведь тот же пропатченый биос awdflash с «обычными» ключиками запросто может отказаться шить, ругаясь на несоответствие PartNumber и т.п. Мало того, в некоторых случаях даже новые версии (биосов) имеют подобные отличия, что вызывает крайнее недоумение пользователей, когда в комплекте с прошивкой идет awdflash , который при этом яростно отбивается от попыток прошить новую версию биоса (даже если она действительно «та»). Так вот, чтобы реально пользоваться awdflash как прошивальщиком нужно две вещи: — четко понимать , что Вы делаете . — использовать ключик / f
Итого, на данный момент получаем следующую комбинацию ключиков для прошивки: awdflash имя_прошивки / cd / cp / py / sn / e / f
Именно такую комбинацию я рекомендую в статье (по перешивке). Ее и нужно рассматривать как основную и решающую 99% проблем.
Далее разберем «еще более хакерские» ключики. Хотя правильней их назвать для «тонкой настройки», почему применимость их в реальных ситуациях крайне маловероятна. Почему лучше рассматривать оные как набор для «энтузиастов» (которые при этом хорошо понимают «для чего, собственно»).
Операции с бутблоком.
Sb — (от S kip B ootBlock programming) — Шить без бутблока . Wb — (от W rite B ootBlock) — Шить c бутблоком .
В бутблоке, как известно, находится «игла кощея». Повреждение которого приводит к умиранию компьютера по причине, что после включения именно бутблок получает управление. Потому производители биосов стараются никогда не менять эту часть прошивки (как правило, это последние 16-32кБ биоса, которые в памяти размещаются «в самом верху», в том числе где и находится «стартовый» адрес FFFF:FFF0 ). (Не менять, конечно же, для одной версии конкретной платы.) В бутблоке кроме главного загрузчика компьютера располагается также и аварийная программа восстановления. В общем, важность бутблока делает крайне принципиальным вопрос его надежности, для чего и нужен, собственно, этот ключик — шить все, а бутблок не трогать. В результате, если что-то пойдет не так — останется главная часть, которая в аварийном порядке позволит спасти ситуацию (или хотя бы попытаться это сделать). Алгоритм использования ключа следующий. Если параноидально боимся за бутблок и нужно во что бы ни стало «выжить» — добавляйте к ранееизученной комбинации перешивки еще и ключик / sb . Если продолжаете себя относить к «продвинутым» — смело добавляйте в набор / wb . (Что я и рекомендую делать. 😉 ) Итого, комбинаций наших ключиков становится все больше, потому сейчас и дальше буду выделять лишь именно самый «крутой» наборчик. С бутблоком это: awdflash имя_прошивки / wb / cd / cp / py / sn / e Если ключи / sb и / wb не были указаны, то прошивальщик действует «по-простому» — если бутблок файла прошивки и бутблок в (текущем) биосе одинаковые — принудительно используется «внутренний» / sb . А из-за того, что подавляющее большинство биосов (одной и той же модели платы) имеют абсолютно одинаковые бутблоки — обычно это и выливается в сплошной » Sb по умолчанию».
R — (от R ESET after programming) — Перегрузиться после прошивки. После прошивки — сразу же перегрузиться. Рекомендуется использовать лишь тем, у кого прошивка биосов — «на потоке» (работники сервисных центров, например). Остальным — лучше «не спешить».
ns — (от N o S how messages) — Не показывать сообщения.
Не мусолить глаза и делать свое дело «тихо-мирно». Аналогично предыдущей — рекомендуется больше для работников сервисных центров, когда, например, при клиенте приходится заниматься подобным мероприятием (обычно — в авральном порядке 😉 ). И чтобы не последовало лишних вопросов на тему «а что это вы такое злобное делаете с моей бесценной платой» — поможет сэкономить всем присутствующим немного нервов.
LD — (от L ow D estroy) — Загрузиться после перезагрузки с » заводскими » значениями СMOS и при этом без остановки по F1 . Ключик с первого взгляда похож на / сс (ClearCMOS). И смысл, в принципе, аналогичен — «поломать» значения в CMOS, чтобы свежепрошитый биос был вынужден загрузить значения по умолчанию и не зависнуть, если в новой версии изменится назначение каких-то ячеек CMOS-памяти. Однако в реальности он является «комплиментарным» (к / сс ) — или чистим весь CMOS или лишь нарушаем ему CRC. В случае чистки (/ сс ) — забиваются FF-ками все ячейки с 10h по 7Fh. В случае же / LD — изменяются лишь ячейки 10h (записывается DDh), 11h (записывается CCh) и 12h (записывается BBh), что и приводет к нарушению CRC. Кроме того, второй бит ячейки 11h сбрасывается в 0, а он отвечает за то, оставливаться ли, если в процессе POST были ошибки (в том числе полученная неправильная CRC) — предлагая либо нажать DEL и войти в BIOS Setup либо нажать F1 для дальнейшей загрузки с значениями по умолчанию. Как видно, использование данного ключика — строго «по вкусу».
Tiny — Использовать минимум оперативной памяти . По умолчанию awdflash использует 128kB для основного буфера (равен полному размеру распакованного original.tmp , хотя это буфер «общего» назначения) и активно работает с расширенной памятью (в линейном режиме). При указании флажка / Tiny — ограничивается лишь 4кБ-ным буфером и все операции проходят только в «нижней» памяти (640кБ). Кроме того многие функции изменяются в сторону ограничения проверок, вывода на экран и т.п. В общем, этот во многом «отладочно-артефактный» ключик сложно назвать востребованным и его применение можно посоветовать лишь для «совсем критических» ситуаций — когда какие-то проблемы с памятью и у Вас нет никаких других вариантов. Замечание: выбор этого ключика приводит к принудительному установлению и ключика / f («внутри» awdflash ).
m256 — (от M emory buffer 256 kB) — Использовать 256кБ -ный основной буфер . В противовес / Tiny — этот задает 256кБ для основного буфера не «запрещая» пользоваться расширенной памятью и вносить какие-то ограничения. Однако и особых «улучшений» не дает, а при использовании / f практически игнорируется. Потому его использование аналогично случаю с / Tiny — в основном это чисто «отладочный» ключик и им можно больше лишь «баловаться», чем реально использовать.
ncksm — (от N o count C hec KS u M ) — Не проверять контрольную сумму.
По умолчанию проходит достаточно логичная операция проверки контрольной суммы (прошиваемого файла). Если по каким-то непонятным причинам нужно зашить файл с плохой CRC и при этом политические предубеждения не позволяет использовать ключик / f (с которым, как говорил — минимум проверок, в том числе — CRC не проверяется ), то это как раз тот «золотой ключик». Итого, закончив словоблудие, / ncksm — достаточно «декоративный» ключ, может понадобиться лишь хитрым писателям хитрых бат-файлов в хитрых сервисных центрах.
cks — (от Show C hec KS u M ) — Вычислить и отобразить CRC прошивки.
Хотите узнать CRC биоса (файла прошивки)? Тогда это как раз то, что Вам нужно. Длинный список «полезностей» этого ключа на этом и заканчивается.
nobeep — (от N o B eep) — Не пищать !
Работаете ночью, проживая в квартире с тещей и маленькими детьми с неотключаемым динамиком в корпусе компьютера? Не расстраивайтесь, Вы не одиноки, в Award Software тоже есть такие (как минимум — были), потому они позаботились и добавили этот чудесный ключик!
QI — (от Q ualify I D) — Проверить BIOS ID прошивки и биоса.
Если нужно строго «не промахнуться» и прошить именно «тот» биос — можно использовать этот ключик, который сверяет BIOS ID файла прошивки с текущим в биосе и откажется прошивать при несовпадении. Однако на практике не раз возникают случаи, когда даже «совершенно официальная» новая версия «почему-то» не проходит успешно подобную проверку, в результате чего полностью «доверять» данному ключу нельзя. Кроме того, как и многие другие ключи, при установке / f — он игнорируется. Потому рекомендовать его можно больше лишь для написания собственных бат-файлов, где будет возможность задать «строгую проверку».
count — (от С ount of Starts) — Считать количество запусков .
Истинные маньяки батфайлов и просто те, кто любит все считать — могут быть довольны. Специально для них есть возможность узнать, сколько же раз был запущен awdflash . При установке данного ключа в текущем каталоге ведется учет количества запусков в файле ‘awdflash.txt’ (который автоматически создается при первом старте), куда и записывается их число, увеличиваясь на единицу при каждом новом старте (с ключиком / count в строке запуска).
ct: X — (от С ount of T rying) — Количество попыток записи во флэш.
Весьма полезный местами ключик — возможность задать количество попыток записи в микросхему биоса. Формат простой, после / ct: задаем Х-количество попыток. В результате, если в процессе записи произошла ошибка, awdflash еще Х раз повторяет процедуру прошивки. Очень хороший вариант для сбойных/потенциально сбойных микросхем, когда нет возможности найти замену — рекомендую к использованию.
NVMAC: XXXXXXXXXXXX — (от Set NV idia MAC -address) — Задать MAC -адрес (интегрированной в чипсет) сетевой карты ( только для плат на nVidia ).
NVGUID: XXXXXXXXXXXXXX — (от Set NV idia GUID ) — Задать GUID адрес FireWire ( только для плат на nVidia -чипсетах).
Два ключика специально для обладателей материнских плат на чипсетах от nVidia . Прописывая значения в ХХ..Х можно задать/изменить MAC / GUID -адреса для встроенных (в чипсет) Firewire/LAN. Если эти ключи не указаны — остаются текущие. Замечание: MAC / GUID обычно располагаются в бутблоке (точно узнать можно, глянув базовые адреса оных, которые располагаются за 32/28 байтов до конца прошивки), потому при желании их задать/изменить нужно шить с бутблоком.
device: XXXX — (от Force xxxx- device FlashType) — Принудительно шить как хххх- тип флэшки.
Ключ, позволяющий принудительно задать тип флэшки (хххх = Flash ID ). Несмотря на кажущуюся «крутость» данного ключа, вариантов его применения не слишком много. Т.к. если имеются проблемы с детектом FlashID стандартным способом, то с бОльшей вероятностью можно предположить проблемы в системе нежели просто проблемы самой микросхемы, которая остается рабочей, «не признаваясь», кто она такая и как ее зовут. Т.е. данный ключ имеет право на использование — когда все работает и нужно прошить исправную микросхему, которая по каким-то при причинам не выдает свой FlashID (почему ее и не может продетектировать прошивальщик и без чего после, соответственно, не может перешить). Однако в подавляющем большинстве случаев «недетекта» виновата не микросхема и принудительная попытка в таких случаях как правило приводит к печальным результатам. Потому для использования данного, иногда действительно, крайне полезного ключа — нужно очень четко понимать «кто виноват».
nab — (от Not A ward B IOS) — Не AwardBIOS .
Ключик, четко дающий понять прошивальщику — работаем не с AwardBIOS . В результате, понятно, пропускаются всяческие проверки, характерные только для AwardBIOS -файлов. Практической ценности данный ключик в свете намного более «правильного» / f — не представляет. Потому сфера применения — хитрые бат-файлы для энтузиастов-любителей.
unm — (от U se N ot M atch size images for flash) — Не учитывать несовпадения объемов биоса и прошивки.
Данный ключ заставляет прошивальщик не учитывать факт несовпадения размера файла прошивки и прошиваемого биоса. Может оказаться крайне полезным в случаях, когда под рукой окажется микросхема большей мегабитности (объема), чем «родная». Потому рекомендуется помнить и применять в таких (например, нужно прошить 2Мбит-ную, а есть только 4Мбит-ные аналоги) ситуациях.
sdp — (от S how D efault P arameter) — Вывести значение по умолчанию.
smi — (от Use SMI subroutiness for flash) — Прошивать с использованием SMI-процедур.
nbl — (от N o check B IOS L ock) — Не проверять BIOS Lock.
hide — (от Use H ide option for ARF35LV020) — Использовать hide-опцию для прошивки ARF35LV020.
bb — (от BIOS + BIOS ) — Поддержка дуал-биосных систем.
При использовании этого ключика — автоматически «включается» и / f .
ssd — (от S olid S tate D isk ) — Поддержка твердотельных дисков.
mac1: XXXXXXXXXXXX — (от Set MAC -address) — Задать MAC -адрес (интегрированной в чипсет) сетевой карты .
guid1: XXXXXXXXXXXXXX — (от Set GUID ) — Задать GUID адрес FireWire .