Прошивка bios на горячую
Часть первая. Для тех, кому лень читать, а хочется побыстрей прошить и забыть.
Не буду акцентировать вопрос на том, что такое биос, какие они бывают и зачем. Раз вы это читаете, значит, вам что-то уже известно. Потому начнём с обратного - развеем самые стандартные, почему-то непотопляемые мифы и заблуждения.
- Шить биос нужно (лучше) только "своим" прошивальщиком (пример: Award - с помощью AwdFlash, AMI - AMIFlash).
Бред. Однако некоторым сложно это понять и поверить - ведь на сайте производителя платы много всяческих грозных непонятных предупреждений (да ещё и на нерусском). Почему же так? Интересно - тогда дочитайте эту и прочитайте следующую часть.
- Шить биос "на горячую" (Hot Swap - "хотсвапом") нужно (можно) только на точно такой же матери (таком же чипсете, с точно такой же флэшкой т.п.)
Второе самое распространённое заблуждение. Имеет корни в незнании функционирования различных типов флэшмикросхем, которое, действительно, может накладывать некоторые ограничения на используемую для хотсвапа мать. Хотя если у вас есть другая точно такая же (только рабочая;) мать - это несомненный плюс.
Прошивальщики.
Самыми популярными являются AwdFlash, AMIFlash и UniFlash. Остальные являются специфичными для конкретной фирмы (например, для "родных" матерей от Intel либо Asus - свой, ибо другие могут не сработать).
Я не буду касаться расшифровки ключей - этой информации полно в интернете, я остановлюсь на том, какие из них включать.
ВНИМАНИЕ: запуск флэшера БЕЗ КЛЮЧЕЙ (т.е., соответственно, с оными по умолчанию) может привести к ПОВРЕЖДЕНИЮ биоса, даже если вы не собирались его перешивать, а лишь полюбопытствовали либо хотели сохранить текущую версию. Это крайне редкое явление и в основном касается некоторых версий amiflash, но оно точно имеет место (сам попадался и не раз:).
ДОПОЛНЕНИЕ: запуск различных утилит (например, типа DMICFG), имеющихся на компактах прилагаемых к матплате (для "настройки" биоса) часто приводят к ситуации аналогичной предыдущему абзацу - повреждение биоса, даже если вы не собирались ничего делать, а лишь полюбопытствовали и ничего не перешивали.
AWDFLASH.
Самый популярный, но не самый лучший. Запускать с ключиками:
В этом случае биос перешьётся без лишних вопросов (/py - Program=Y, /sn - Save=No, /f - не проверять от той ли платы это биос и биос ли это вообще:) и после окончания прошивки комп сразу перезагрузится (ключик /r - Reset, ежели не нужно - не писать). Ключи /cd/cp (Clear DMI, Clear PNP) настоятельно рекомендуются к ним можно добавить автоматический сброс CMOS (по умолчанию) - /cc. Если прошиваем не award bios (например ami), используем ещё и ключик nab: Work with not Award BIOS
AMIFLASH.
Не такой популярный как awdflash, но в отличие от оного - самый лучший (даже несмотря на вышеупомянутые проблемы с некоторыми версиями при запуске без ключиков). Запускать с ключиками:
Если нужно сохранить старый биос, запускать с ключиками:
После ключика /s - пробела быть не должно!
Чтоб не набирать такую кучу ключей - не поленитесь, сделайте один раз .bat-файлик с содержимым типа:
(или можно скачать его с этого сайта).
Uniflash.
В данной части его рассматривать не буду, т.к. несмотря на его реальную продвинутость, он требует некоторой подготовки/опыта со стороны пользователя. (Однако стоит отметить, что его можно применять не только для программирования BIOS материнских плат, но и BIOS видеокарт, flash микросхем в сетевых картах)
Особенности перешивки биосов на платах от Asus.
Для перешивки асусовских плат не подойдут "стандартные" прошивальщики, т.к. ВСЕ асусовские биосы (начиная с самых древних Pentium1) блокируют обычные способы перешивки. Для перешивки на таких матплатах придётся использовать фирменные_асусовские_утилиты. Для самых старых плат - это pflash, для более современных - aflash (хотя во многих случаях aflash подходит и для очень старых), для совсем новых - придётся использовать утилиты под винду. В случае pflash/aflash выражение "придётся использовать" не совсем корректно, т.к., во-первых, они крайне удобны, понятны, достаточно универсальны и, главное, не пристают с вопросами, прошивая "всё, что шьётся". Во-вторых, амифлэш всё-таки можно использовать, хоть он и заканчивает работу с ошибками (точней не он, а dos4gw). В любом случае, всем счастливым обладателям асусовских плат к перешивке нужно подходить с особым вниманием ибо восстановление при ошибке дело непростое, а иногда очень даже сложное. И если вы даже имеете опыт и даже немалый - повторюсь, будьте бдительны, асусовские инженеры используют в своих творениях крайне изощрённые меры для защиты биосов, обратной стороной медали которых являются иногда возникающие серьёзные проблемы с "оживлением" - плата может "прикидываться" дохлой ("00" на POST-карте), флэшка - аналогично (при попытках перешивки на других платах), хотя реально и один и другой будут совершенно живыми, что может подтвердится установкой оных в другие точно такие же, только исправные. Если вы боретесь(-лись) с подобными глюками - внимательно прочтите главу о LPC-интерфейсе (асусовцы его давно применяли, в то время как другие стали его использовать совсем недавно). п.с. подобное в определённой степени (желательность и/или обязательность использования "родных" фирменных прошивальщиков) касается и некоторых других производителей (как правило - известных). Например, многие платы от Abit также имеют тонкости при программировании - тот же Uniflash, вообще, предупреждает, что не дружит с этой фирмой.
Объём файла прошивки не сопадает с объёмом флэшки.
Распространённая проблема. Как правило является результатом того, что производитель использовал в разных версиях (матплат) разные флэшки (по объёму). Например, первые платы какой-то модели шли с мегабитными, а все следующие - с двухмегабитными. В некоторых случаях, если производитель не признаётся, что выпускал платы с биосы разных объёмов, это может быть свидетельством того, что плата "левая" (т.е., например, в подделке используется более дешёвая флэшка большего объёма - 4Mbit вместо 2Mbit).
Прошивальщик по каким-либо причинам "не соглашается" прошивать биос, утверждая, что он не от этой платы или вообще не биос.
Ещё более распространённая вещь. Однако с вышеуказанными "секретными" ключиками вас больше не будут посылать… почитать даташиты.
Написать данный разжеванный материал меня сподвиг собственный недавний опыт, а так же довольно скудная и размазанная по интернетам инфа по необходимому вопросу
Существует 3 основных способа восстановления запоротого BIOS
1. Восстановление программными средствами самой мат.платы.
Современные модели материнок (у Гигабайта последние 3 года на мейнстримовых и топовых точно) на плате распаяно сразу 2 микросхемы BIOS, в случае неудачного обновления BIOS загрузится с резервной микрухи, а позже зальет копию в поврежденный. У некоторых моделей нет возможность восстановления поврежденного BIOS и в случае смерти первого просто начинает работать второй за место него, соответственно после смерти второго мать уже не запустится
Еще есть возможность восстановления из bootblock'а, но работает если BIOS умер не окончательно и бутблок все еще жив и попытке запустить систему он обнаруживает кривую сумму биоса. В таком случае он пытается считать BIOS с HDD, или флоппа. Некоторые платы (у Гигабатов такая фича встречается) пишут дубль BIOS на HDD, который к ним подключают самым первым, соответственно для восстановления этот диск можно подключить. Для восстановления с флоппа достаточно записать прошивку с правильным названием на дискету, она будет обнаружена и восстановлена. Жизнеспособность бутблока можно определить по сигналам (световым и звуковым) с подключенного флоповода, если флоп подает признаки жизни, значит мы легко отделались
2. Восстановление методом горячей замены иди hotswap. Работает только на мамках, где BIOS не впаян, а сидит в сокете и его можно подцепить. Т.е. надо найти другую рабочую плату с подобным BIOS, т.е. чтобы кровать была такая же и желательно чипы были общего или одного из аналогичных семейств, тогда процедура точно прокатит. На плате с живым BIOS заранее делаются удобства для вырывания чипа с кровати - нитки, изолированная проволока и т.п. если нет специальных щипцов, плата включается заходим в DOS (или фирмовую утилиту платы) для обновления BIOS, вырываем BIOS, вставляем мертвый и зашиваем BIOS, если появляются предупреждения о несовпадении контрольных сумм, то их игнорим, т.к. бояться нечего - родной BIOS лежит отдельно. Затем система отключается, в каждую плату возвращаем свою микросхему и проверяем работоспособность. Данный метод разве что не прокатит, если микросхемы впаяны в платы, горячая замена не получится, можно конечно рискнуть и отпаять BIOS на работающей плате - но это очень рискованно - можно остаться с 2мя уже окончательно мертвыми платами, причем дохлая уже будет электроника, а не программная часть
3. Восстановление на программаторе. Этот способ универсальный, т.е. прошить можно любую микросхему в любом типе корпуса. Если микруха припаяна к плате, то снимаем ее и напаиваем на плату программатора или используем специальные панельки. Безусловно на одном программаторе можно прошить ограниченное число микросхем, но это обычно касается простых программаторов, более "взрослые" являются действительно универсальными, но стоят они уже не 5 копеек и приобретаются в основном для потокового ремонта, а не домашнего использования с целью восстановления пары плат. Тем не менее данный способ универсальный, он полностью заменяет и расширяет первые 2 способа, а когда они не работают, то это единственный выход. Способ горячей замены это даже искусственный метод, который был обнаружен опытным путем благодаря унификации производителями элементов плат. Об одном из простых "домашних" программаторах я и хочу рассказать.
Суть процесса
На мою удачу микросхемой BIOS была MX25L4005APC-12G - 4 мегабитная микруха в DIP корпусе. Т.е. ее даже отпаивать не пришлось. BIOS версии 1.0 лежал на сайте производителя отдельным файлом как раз на 512kb (4Mbit/8=512Kb), т.е. задача до банальности проста - сваять программатор, поставить на него микруху и зашить! К чему я и решил приступить
Данная микросхема SPI типа, что позволяет прошить ее элементарным программатором через LPT порт. В нете был найден соответствующий программатор сразу с ПО для его использования, называется он SPIpgm, т.е. SPI Programmator, скачать можно здесь. Элементарнейшая схема из 4х резисторов, конденсатора и сокета на 8 пин по желанию. Ограничением его является собственно ограниченный список поддерживаемых микросхем - они должны быть 8pin и быть SPI типа
Программатор поддерживает очень много микрух, вот что заявлено для последней на момент написания материала версии 2.1:
AMIC
A25L05PU/PT (64kB), A25L10PU/PT (128kB), A25L20PU/PT (256kB), A25L40PU/PT (512kB), A25L80PU/PT (1MB), A25L16PU/PT (2MB), A25L32PU/PT (4MB), A25L64PU/PT (8MB), A25L512 (64kB), A25L010 (128kB), A25L020 (256kB), A25L040 (512kB), A25L080 (1MB)
Atmel
AT25F512B (64kB), AT25DF021 (256kB), AT26DF041 (512kB), AT25DF041A (512kB), AT26F004 (512kB), AT26DF081 (1MB), AT25/26DF081A (1MB), AT25DF081 (1MB), AT26DF161 (1MB), AT26DF161A (2MB), AT25DF161 (2MB), AT25DQ161 (2MB), AT25/26DF321 (4MB), AT25DF321A (4MB), AT25DQ321A (4MB), AT25DF641(A) (8MB)
EON
EN25B10 (128kB), EN25B20 (256kB), EN25B40(T) (512kB), EN25B80 (1MB), EN25B16 (2MB), EN25P32 (4MB), EN25P64 (8MB), EN25P128 (16MB), EN25F10 (128kB), EN25F20 (256kB), EN25F40 (512kB), EN25F80 (1MB), EN25F16 (2MB), EN25F32 (4MB), EN25F64 (8MB), EN25F128 (16MB)
ESMT
F25L004A (512kB), F25L008A/08PA (1MB), F25L016A/16PA (2MB), F25L32PA (4MB), F25L64PA (8MB), F25S04PA (512kB), F25L08PA (1MB), F25L016QA (2MB), F25L32QA (4MB), F25L64QA (8MB)
GigaDevice
GD25Q512 (64kB), GD25Q10 (128kB), GD25Q20 (256kB), GD25Q40 (512kB), GD25Q80 (1MB), GD25Q16 (2MB), GD25Q32 (4MB), GD25Q64 (8MB)
Intel
QB25F016S33B8 (2MB), QB25F032S33B8 (4MB), QB25F064S33B8 (8MB)
Macronix
MX25L512E (64kB), MX25L1005/1006E (128kB), MX25L2005/2006E (256kB), MX25L4005/4006E (512kB), MX25L8005/8006E (1MB), MX25L1605/1606E (2MB), MX25L3205/3206E (4MB), MX25L6405/6406E (8MB), MX25L12835E/12836E (16MB), MX25L25635E/25735E/25835E (32MB)
PMC
Pm25LV512(A) (64kB), Pm25LV010(AB) (128kB), Pm25LV020 (256kB), Pm25LV040 (512kB), Pm25LV080B (1MB), Pm25LV016B (2MB), Pm25LV032B (4MB), Pm25LV064B (8MB)
Spansion
S25FL004A (512kB), S25FL008A (1MB), S25FL016A (2MB), S25FL032A (4MB), S25FL064A (8MB), S25FL128P/129P (16MB), S25FL256S (32MB), S25FL512S (64MB), S25FL01GS (128MB)
ST Microelectronic/Numonyx
M25P05 (64kB), M25P10 (128kB), M25P10AV (128kB), M25P20 (256kB), M25P40 (512kB), M25P80 (1MB), M25P16 (2MB), M25P32 (4MB), M25P64 (8MB), M25P128 (16MB), M45PE10 (128kB), M45PE20 (256kB), M45PE40 (512kB), M45PE80 (1MB), M45PE16 (2MB), M25PX80 (1MB), M25PX16 (2MB), M25PX32 (4MB), M25PX64 (8MB), N25Q032A13E (4MB), N25Q032A11E (4MB), N25Q064A13E (8MB), N25Q064A11E (8MB), N25Q128A13E (16MB), N25Q128A11E (16MB), N25Q256A13E (32MB), N25Q256A11E (32MB), N25Q512A13G (64MB), N25Q512A11G (64MB), N25Q00AA13GB (128MB)
SST
Winbond
W25Q10B (128kB), W25Q20BV (256kB), W25Q40BV (512kB), W25Q80BV (1MB), W25Q16BV (2MB), W25Q32BV (4MB), W25Q64BV (8MB), W25Q128BV (16MB), W25Q256FV (32MB), W25X10 (128kB), W25X20 (256kB), W25X40 (512kB), W25X80 (1MB), W25X16 (2MB), W25X32 (4MB), W25X64 (8MB)
Материнские платы, которые имеют на себе BIOS в виде вышеназванных микросхем я не буду указывать по ясным причинам. Намного проще глянуть модель микрухи и посмотреть в этот список
Аппаратная часть
В моем случае нужная мне память оказалась в этом списке и я приступил к изготовлению прогера. Устройство очень простое (по схеме видно) и многие не заморачиваются в таких случаях с травлением платы, а собирают навесным монтажом "на коленке", т.к. программатор понадобится от силы пару раз. Я тоже не стал заморачиваться и сделал навесным. В итоге у меня не заработало) Хотя вроде бы ни где не ошибся, возможно капризничало из-за длины проводов или их сечения
Во второй раз уже решил "чтобы наверняка" запилить себе нормально, т.е. развел плату в SprintLayot 5.1 и сделал по технологии ЛУТ. Лудил сплавом Розэ. Последнее время мне нравиться его использовать, т.к. получается довольно быстро, просто и лужение происходит равномерным тонким слоем - высверленные отверстия не закрываются. Еще давно в посудном магазине по уценке купил за 30р эмалированную миску - удачное приобретение для таких дел) Наливаю в нее на половину воды, довожу до кипения, добавляю 1-2 ложки лимонной кислоты (работает как флюс и повышает температуру кипения, затем опускаю плату и 1-2 кусочка сплава. "Управляю" процессом 2мя палочками от мороженного, обёрнутыми с одной из сторон в ткань для растирания сплава по плате и удержания платы. После окончания процесса остатки сплава можно вынуть для последующего использования. Стоит сплав копейки (около 150р вроде), а хватает его при подобных затратах на годы). В общем это было такое лирическое отступление, теперь непосредственно скрин разведенной платы. Саму разводку платы в формате *.lay можно скачать здесь
Плату зеркалить не нужно, она уже "правильно" нарисована. Я когда делаю разводку, то представлю текстолит как бы прозрачным - так намного проще, по крайней мере мне
Необходимые ингредиенты:
- Резисторы 150 ом 0,125Вт x 4шт
- Емкостный конденсатор 1mF 16-63v x 1шт
- Сокет 8pin 7,62мм x 1шт или специальные зажимные панели под SMD чипы, в общем в зависимости от пациента
- Немного проводов, я использовал провода примерно 24AWG длинной 12см
- Макетная плата или текстолит и все необходимые принадлежности для его вытравки и лужения
- Штырьковые разъемы x 5шт
1. Мало контактов, всего 5шт, для того, чтобы тратить 20р на этот разъем и ставить его на такую крохотную плату. Намного проще вывести эти 5 контактов и воткнуть их в сам разъем
2. На современных платах уже не ставят полноценный LPT разъем, производители выводят штырьки на плате, к которому можно подключить внешний/внутренний адаптер и получить тем самым DM25-F, т.е. LPT. Таким образом сделав полноценный программатор на борту с DB25-M нам придется делать соответствующий разъем для платы или покупать адаптер отдельно, как советуют производители плат. У меня конечно есть такой адаптер ↓↓↓ , я его не покупал, делал сам из шлейфа под флопп и разъема DB25-F снятого со старого кабеля от принтера. Но тем не менее я не стал городить на программатор данный разъем просто потому что у меня его не было под рукой и еще по причинам п.1
Самодельный адаптер LPT для современных плат. IDE разъем флоппа отлично подходит под пинауты плат, вставил кусок зубочистки как ограничитель, чтобы наверняка не промахнуться
В итоге у нас должно получиться примерно следующее устройство:
Для питания программатора необходимо постоянное питание 3.3v, а так же внешняя масса. Я использую для этих целей внешний полноценный БП Gembird 400Вт. Он у меня вроде лабораторного БП, живую конфигурацию ему я бы не доверил в силу его качества) Достался он мне от одного хорошего человека - данный БП видимо не имеет достаточно реальной мощности и прежнему владельцу его не хватало, система работала очень не стабильно. Мне же этого бедняги для подобный вещей вполне достаточно)
У БП на разъеме 24пин замкнут зеленый провод на землю, что дает возможность его запускать в холостой ход, из этого же разъема я и беру 3.3v (оранжевый провод) и массу (черный) для программатора
Можно еще как вариант использовать батарейку BIOS она как раз на 3.3v, а землю (массу) взять с самого корпуса работающего БП
Еще один вариант - поставить какой-нибудь стабилизатор на 3.3v, например LM1117, на крайние контакты подаем 5v с USB и массу (точную распиновку не помню, данный стаб я использовал в другой своей статье про коннектор привода для X'360), из центрального у нас будет 3.3v. Nаким способом получаем питание с самого СБ, на котором прошиваем - можно подключить разъем USB или вывести 2 штырька для подключения опять же к контактам USB На самой плате предварительно посмотрев распиновку
Программная часть
После изготовления устройства можно приступить к тому, ради чего все это затевалось - к прошивке
Текущая версия SPIpgm 2.1 поддерживает все семейство настольных ОС Windows, linux и еще DOS. Я очень сомневался, что на Win7/Vista все заработает, уж очень прихотливы LPT программаторы к этой ОСи. тем не менее все совпало с заявлением разработчика. не забываем, что UAC необходимо отключить (у меня отключен и так "по умолчанию"). Выключаем полностью ПК, подключаем программатор, включаем и используем командную строку. С помощью оператора cd переходим в нужную директорию, где находится программатор. Т.к. мы находимся в среде Windows, то использовать надо spipgmw, spipgm используется в DOS и Win9x, однако spipgmw можно тоже использовать в Win9x. По скрину ниже видно, что проблем нет, программатор и софт прекрасно работают в современной среде, что встречается крайне редко в подобных задачах
Однако отмечу, что я шил в DOS, мне так привычнее) Чем проще ОС, тем она надежнее. Но я не агитирую переходить на нее полностью) Просто для таких вот делишек использовать DOS мне как-то интеерснее. По опыту работы с другими самопальными программаторами могу сказать, что в WinXP этот программатор без сомнения будет работать
Если же программатор не сможет опознать микросхему (смотрим скрин ниже), то она либо мертва, либо программатор собран не верно или не поступает питание, нет массы. Более вероятен второй вариант
Вот что ответит командная строка, если программатор собран не верно. Чип не опознается, т.е. неудача
Мутим DOS или "я не ищу легких путей"
DOS запилить себе не так сложно. Можно банально сделать загрузочную дискету средствами самой ОС Windows через форматирование дискеты и положить туда папку с программатором и новой прошивкой, загрузившись после BIOS (на рабочем ПК) в консоль используем программатор
Второй вариант - сделать DOS на диске или воспользоваться уже готовым образом DOS 6.22. Вот только сам программатор надо будет записать на отдельную флешку, т.к. если мы будем снимать дамп, то на диск он записаться не сможет, хотя если чтение не требуется, можно закатать прямо на диск с образом DOS
Третий вариант - создать загрузочную флешку, это самый удобный и современный на сегодня вариант. Хороший способ описан, например, здесь
Я еще могу порекомендовать воспользоваться проектом MultiBoot - мультизагрузочная флешка. В конце мы получаем очень функциональный инструмент на все случаи жизни, мощный такой реаниматор. DOS там тоже есть с поддержкой NTFS, длинных имен и прочего. Инструкция по созданию там присутствует, все очень удобно и легально
Будем считать, что DOS мы запустили (владельцам Linux это не нужно, для них есть SPIPGM файл без разширения) Заходим в командную строку, переходим в папку программатора. Чтобы узнать основные команды выполняем просто spipgm
В DOS все опозналось тоже без проблем
Основные программы, которые нам понадобятся:
spipgm /i - идентификация микросхемы в программаторе. Если программатор сделан и подключен верно, то микросхема (если она в списке выше) опознается и соответственно с ней можно будет дальше работать
spipgm /d dump.rom - чтение содержимого микросхемы в файл dump.rom
spipgm /e - полное стирание содержимого микросхемы, рекомендуется сделать перед записью
spipgm /p new.rom - прошивка, запись в микросхему данных из файла new.rom - целого и правильного файла прошивки для конкретной материнский платы, можно взять с сайта производителя или снять с другой микросхемы аналогичной платы
spipgm /u - анлок, т.е. разблокировка микросхемы для записи, если такая защита имеется
Итого для совершения задуманного с целью восстановления BIOS нам необходимо выполнить последовательность команд:
1. spipgm /i - идентифицируемся
2. spipgm /u - разблокируемся
3. spipgm /e - стираем микросхему с кривым содержимым
4. spipgm /p new.rom - зашиваем правильную прошивку
! Обращаю внимание, что если мы все делаем в среде Windows, то вместо spipgm пользуемся командой spipgmw
После этого вырубаем ПК через кнопку выключения и отключаем программатор
Внимание! Все манипуляции с портом LPT необходимо производить только с отключенным питанием платы. Т.е. перед тем как подключить или отключить что-нибудь от LPT необходимо полностью выключить БП, поставить переключатель БП в положение Off (или вынуть кабель) подождать 10сек (разрядятся конденсаторы) и только потом что-то подключать или отключать. Если не следовать этому простому правилу, то велик шанс остаться без LPT, он очень капризен к подобным вещам в силу своей незащищенности
Послесловие
Так же обращаю внимание, что данный метод подходит и для восстановления BIOS не только на мат.платах, но и на видеокартах, как ATI/AMD так и nVidia. Многие микросхемы, что указаны выше в списке совместимости устанавливаются так же и на видеокарты, вот только они всегда припаяны к видеокарте, поэтому для восстановления видях понадобится навык пайки SMD. Здесь обычно 2 варианта - отпайка микрухи и установка ее на заранее вытравленную площадку программатора или подпайка проводами на саму плату видеоадаптера
Надеюсь мой опыт поможет кому-нибудь сэкономить деньги и железки, ведь обращаться за подобными услугами в СЦ будет не совсем разумно - подобная плата на вторичном рынке сопостовима как раз со стоимостью ремонта, и поэтому надо либо восстанавливать самому, либо идти в магазин за новой. Если у меня появится возможность поковырять программатор и BIOS'ы с чипами 20 пин( в квадратных кроватях находятся), то материал будет дополнен. Благодарю за внимание
Процесс перешивки биоса в руках опытного - банальность, профессионала - искусство, а начинающего - трагедия.
Часть 1. Для тех, кому лень читать, а хочется побыстрей прошить и забыть.
Не буду акцентировать вопрос на том, что такое биос, какие они бывают и зачем. Раз вы это читаете, значит вам что-то уже известно. Потому начнём с обратного - развеем самые стандартные, почему-то непотопляемые мифы и заблуждения.
1. Шить биос нужно (лучше) только "своим" прошивальщиком (пример: Award - с помощью awdflash, AMI - amiflash).
Бред. Однако некоторым сложно это понять и поверить - ведь на сайте производителя платы много всяческих грозных непонятных предупреждений (да ещё и на нерусском). Почему же так? Интересно - тогда дочитайте эту и прочитайте следующую часть. :)
2. Шить биос "на горячую" (hot swap - "хотсвапом") нужно (можно) только на точно такой же матери (таком же чипсете, с точно такой же флэшкой т.п.)
Второе самое распространённое заблуждение. Имеет корни в незнании функционирования различных типов флэшмикросхем, которое, действительно, может накладывать некоторые ограничения на используемую для хотсвапа мать. Хотя если у вас есть другая точно такая же (только рабочая;) мать - это несомненный плюс.
Прошивальщики.
Самыми популярными являются Awdflash, AMIflash и Uniflash. Остальные являются специфичными для конкретной фирмы (например, для "родных" матерей от Intel либо Asus - свой, ибо другие могут не сработать).
Я не буду касаться расшифровки ключей - этой информации полно в интернете, я остановлюсь на том, какие из них включать.
ВНИМАНИЕ: запуск флэшера БЕЗ КЛЮЧЕЙ ключей (т.е., соответственно, с оными по умолчанию) может привести к ПОВРЕЖДЕНИЮ биоса, даже если вы не собирались его перешивать, а лишь полюбопытствовали либо хотели сохранить текущую версию. Это крайне редкое явление и в основном касается некоторых версий amiflash, но оно точно имеет место (сам попадался и не раз:).
ДОПОЛНЕНИЕ: запуск различных утилит (например, типа DMICFG), имеющихся на компактах прилагаемых к матплате (для "настройки" биоса) часто приводят к ситуации аналогичной предыдущему абзацу - повреждение биоса, даже если вы не собирались ничего делать, а лишь полюбопытствовали и ничего не перешивали.
AWDFLASH. Самый популярный, но не самый лучший. Запускать с ключиками:
awdflash имя_прошивки /cd/cp/py/sn/f/r
В этом случае биос перешьётся без лишних вопросов (/py - Program=Y, /sn - Save=No, /f - не проверять от той ли платы это биос и биос ли это вообще:) и после окончания прошивки комп сразу перезагрузится (ключик /r - Reset, ежели не нужно - не писать). Ключи /cd/cp (Clear DMI, Clear PNP) настоятельно рекомендуются к ним можно добавить автоматический сброс CMOS (по умолчанию) - /cc.
AMIFLASH. Не такой популярный как awdflash, но в отличие от оного - самый лучший (даже несотря на вышеупомянутые проблемы с некоторыми версиями при запуске без ключиков). Запускать с ключиками:
amiflash имя_прошивки /b /n /-o /-c /-d /-r /v /-i /-k /-e /-g
Если нужно сохранить старый биос, запускать с ключиками (_без_пробела_ после /s)
amiflash /b /n /-o /-c /-d /-r /v /-i /-k /-e /-g/sимя_прошивки
Чтоб не набирать такую кучу ключей - не поленитесь, сделайте один раз .bat-файлик с содержимым типа:
c:\vc\utils\amf.exe %1 /b /n /-o /-c /-d /-r /v /-i /-k /-e /-g (или можно скачать его с этого сайта)
Uniflash. В данной части его рассматривать е буду, т.к. несмотря на его реальную продвинутость, он требует некоторой подготовки/опыта со стороны пользователя.
Особенности перешивки биосов на платах от Asus.
Для перешивки асусовских плат не подойдут "стандартные" прошивальщики, т.к. ВСЕ асусовские биосы (начиная с самых древних Pentium1) блокируют обычные способы перешивки. Для перешивки на таких матплатах придётся использовать фирменные_асусовские_утилиты. Для самых старых плат - это pflash, для более современных - aflash (хотя во многих случаях aflash подходит и для очень старых), для совсем новых - придётся использовать утилиты под винду.
В случае pflash/aflash выражение "придётся использовать" не совсем корректно, т.к., во-первых, они крайне удобны, понятны, достаточно универсальны и, главное, не пристают с вопросами, прошивая "всё, что шьётся". :) Во-вторых, амифлэш всё-таки можно использовать, хоть он и заканчивает работу с ошибками (точней не он, а dos4gw).
В любом случае, всем счастливым обладателям асусовских плат к перешивке нужно подходить с особым вниманием ибо восстановление при ошибке дело непростое, а иногда очень даже сложное. И если вы даже имеете опыт и даже немалый - повторюсь, будьте бдительны, асусовские инженеры используют в своих творениях крайне изощрённые меры для защиты биосов, обратной стороной медали которых являются иногда возникающие серьёзные проблемы с "оживлением" - плата может "прикидываться" дохлой ("00" на POST-карте), флэшка - аналогично (при попытках перешивки на других платах), хотя реально и один и другой будут совершенно живыми, что может подтвердится установкой оных в другие точно такие же, только исправные. Если вы боретесь(-лись) с подобными глюками - внимательно прочтите главу о LPC-интерфейсе (асусовцы его давно применяли, в то время как другие стали его использовать совсем недавно).
п.с. подобное в определённой степени (желательность и/или обязательность использования "родных" фирменных прошивальщиков) касается и некоторых других производителей (как правило - известных). Например, многие платы от Abit также имеют тонкости при программировании - тот же Uniflash, вообще, предупреждает, что не дружит с этой фирмой.
1. Объём файла прошивки не сопадает с объёмом флэшки.
Распространённая проблема. Как правило является результатом того, что производитель использовал в разных версиях (матплат) разные флэшки (по объёму). Например, первые платы какой-то модели шли с мегабитными, а все следующие - с двухмегабитными. В некоторых случаях, если производитель не признаётся, что выпускал платы с биосы разных объёмов, это может быть свидетельством того, что плата "левая" (т.е., например, в подделке используется более дешёвая флэшка большего объёма - 4Mbit вместо 2Mbit).
2. Прошивальщик по каким-либо причинам "не соглашается" прошивать биос, утверждая, что он не от этой платы или вообще не биос.
Ещё более распространённая вещь. Однако с вышеуказанными "секретными" ключиками вас больше не будут посылать… почитать даташиты. :)
3. Прошивальщик не может определить тип флэшки и потому не прошивает её.
Это тоже частое явление. Причин тому может быть несколько:
- стоит защита от перезаписи (именно это обычно и предлагают проверить матюгающиеся прошивальщики). На древних платах защита ставилась перемычками, в современных - как правило, выбирается в BIOS Setup (пунктик типа BIOS Flash Protection = En./Dis.).
- данная версия прошивальщика не знает данный тип флэшки. Редкое явление - обычно возникает при попытке шить древние флэши новыми версиями либо наоборот.
- всунутая хотсвапом флэшка (тип) не поддерживается самой матерью - см. дальше по FWH/LPC интерфейсам…
- просто битая флэшка - убедитесь ещё раз, что вы вставили её правильно… ;)
- флэшка - вовсе и не флэшка, а "однократной записи" либо вообще - с УФ-стиранием (с окошком). Верно, как правило, лишь для самых древних плат (до Pentium1) и можно определить по маркировке - она будет начинасть с цифр 27….
Простым языком BIOS — это микропрограмма, с помощью которой компьютер вообще сможет включиться. Она производит инициализацию оборудования и много других интересных штук, но сейчас не об этом. Если вы решили обновить биос вашего ПК, но не знаете, как это можно сделать — сейчас разберемся.
Небольшое лирическое отступление: под BIOS в статье рассмотрим не только и не столько уходящий в прошлое Basic Input Output System, но и современный его заменитель в лице UEFI.
Зачем обновлять
Закономерный вопрос: а для чего вообще необходимо его обновлять? Список можно продолжать долго, но вот некоторые из причин:
- поддержка новых процессоров;
- увеличение стабильности работы;
- улучшение совместимости с другим оборудованием (например, оперативной памятью или PCI-E устройствами);
- закрытие «дыр» в защитных механизмах ЦПУ (вспомним пресловутые Meltdown и Spectre) или обновление AGESA для процессоров AMD;
- добавление новых функций или открытие необходимых меню в биос;
- исправление ошибок.
Некоторые пункты, однако, могу сработать с точностью до наоборот. Из недавнего, например, вспоминается вырезание микрокодов для поддержки ЦПУ «A» серии на материнских платах AM4 или поддержки PCI-e 4.0 там же.
Обычно каждая версия биоса, размещенная на официальном сайте, имеет описание со списком изменений. Не обязательно этот список будет полным и исчерпывающим, но это остается на совести производителя.
Насколько опасно?
Обновление биоса всегда было делом довольно рискованным. Опасно, в первую очередь, отключение питания. Также бывают проблемы с самим файлом обновления. В итоге можно получить неработающий компьютер, который лишь крутит вентиляторами.
Однако, если не затерт Boot block (загрузочный сектор), то у большинства производителей, во всяком случае, у большой четверки — Asus, AsRock, Gigabyte и MSI — точно, есть различные механизмы по восстановлению. Например, у AsRock и Gigabyte могут быть распаяны две микросхемы с биосом — главная и резервная. При неисправности первой плата может запуститься с резервной и провести процедуру восстановлению. А у Asus и MSI на такой случай есть технологии CrashFree BIOS 3 и Flash BIOS Button.
Узнаем версию
Чтобы понять, есть ли у вашей платы новые версии биоса, нужно определить, какая версия установлена в данный момент. Существует не один способ узнать это, но перечислим лишь самые простые.
В ОС Windows нажимаем комбинацию клавиш Windows+R, появится окно «Выполнить», затем ввести команду «msinfo32» и нажать «OK». Появится окно, где в графе «Версия BIOS» вы можете узнать ее.
Если отбросить встроенные возможности, то данную процедуру можно провести и с помощью различных программ. Например, бесплатной утилитой CPU-Z. Скачиваем программу, запускаем, идем на вкладку «Mainboard», секция «BIOS», пункт «Version». Здесь находится искомая нами информация.
Где взять
Переходим на сайт. Жмем на значок лупы в правом верхнем углу экрана.
Сверху выходит строка поиска. Вводим туда название своей материнской платы. По мере ввода сайт будет автоматически показывать вам наиболее подходящие варианты. Как только вы увидели искомую модель, нажимайте на нее.
Открывается страница платы. Вверху справа выбираем раздел «Поддержка».
В открывшемся окне сначала выбираем «Драйверы и Утилиты», а затем, чуть ниже, «BIOS и ПО».
Перед нами откроется список доступных для загрузки биосов с кратким описанием изменений.
Asrock
Открываем сайт. Вверху справа в небольшое поле вводим название платы и жмем «Enter» или на значок лупы.
На появившейся странице листаем чуть вверх и выбираем «BIOS».
Перед нами появится таблица со списком для загрузки.
Asrock предлагает на выбор два варианта биоса в зависимости от того, как вы его будете устанавливать — через BIOS или Windows. Отличаются они лишь наличием во второй версии файлов с программой-прошивальщиком.
Кстати, тут же, в колонке «Обновить БИОС/Как обновить» вы можете найти ссылку на инструкцию по выбранному методу обновления.
Gigabyte
Заходим на официальный сайт. Кликаем на лупу в правом верхнем углу.
В появившейся строке поиска вводим название искомой и жмем «Enter».
В появившейся выдаче находим нужную модель платы и ревизию (приписка в виде Rev. и номера) и нажимаем либо Driver, либо Utility.
Листаем чуть вниз и выбираем подраздел «BIOS».
Здесь находятся все версии доступные для скачивания.
Открываем сайт. Листаем в самый низ и выбираем пункт «Драйверы и Загрузки».
В открывшемся окне, также листаем чуть ниже и выбираем «Загрузки»,
… и «Материнские платы».
Во второй графе ставим «Chipset», в третьей выбираем его, в четвертой нужную плату. Справа появится ее изображение. Нажимаем «Поиск».
Мы сразу оказываемся на странице для скачивания биоса.
Алгоритм у всех производителей практически идентичен. Также можно пойти более долгим путем: зайти в раздел продукты/продукция, выбрать материнские платы, и долго и упорно с помощью фильтров искать свою. Но это занимает гораздо больше времени.
А самый простой и быстрый вариант — это ввести название вашей платы в любимом поисковике. Практически всегда первой или второй строкой будет прямая ссылка на страницу вашей МП.
Сверяйте каждую букву в названии, для материнских плат Gigabyte сверьте также ревизию. Это важно, чтобы не получить после процедуры кирпич за несколько тысяч рублей.
Например, MSI X470 GAMING PLUS MAX и MSI X470 GAMING PLUS, с точки зрения версий биоса, разные платы и биосы у них также разные.
Как прошить
При сегодняшнем положении дел используются два основных (!) варианта для обновления:
Но сначала подготовительные мероприятия. Перед прошивкой необходимо распаковать архив, скачанный с сайта, для доступа к файлу обновления. Если у вас произведены какие-либо настройки в биосе, то запишите или запомните их, поскольку после обновления все установки сбросятся на «по умолчанию», а сохраненные профили могут либо стереться, либо не применяться из-за смены версии. И вообще, крайне желательно сделать сброс настроек перед процедурой обновления.
Обновление через встроенный функционал самого биос.
Покажем на примере плат Gigabyte Z370 HD3P и MSI X470 GAMING PLUS MAX.
Для входа в биос в большинстве случаев используется клавиша DELETE.
Gigabyte
Жмем клавишу ALT, чтобы посмотреть подсказки. Ищем Q-Flash, и запускаем.
В открывшемся окне вы можете как обновить (Update), так и сохранить (Save) текущую версию.
Выбираем файл обновления. В нашем случае не обязательно иметь файл на флешке, можно прошиться и с другого накопителя, установленного в системе, выбрав его в выпадающем списке внизу экрана.
Запускаем утилиту для прошивки «M-Flash» кнопкой в нижнем левом углу.
После перезагрузки появится меню утилиты. Если все нормально, то вы увидите содержимое своего USB-носителя.
Выбираем файл биоса, подтверждаем.
Через некоторое время вы получите уведомление об успешном обновлении и компьютер перезагрузится.
Обновление через специализированную утилиту производителя материнской платы, из операционной системы (семейства Windows)
На примере Gigabyte.
Для обновления из операционной системы у Gigabyte уже долгое время есть довольно простая утилита — @BIOS.
Скачиваем с официального сайта из раздела «Утилиты» (прям под разделом с биосами). Запускаем. На главной странице, среди прочего, мы видим версию уже установленного биос.
На второй вкладке можно произвести обновление из интернета.
Выбираем вкладку «Update from file», жмем «Browse» и выбираем наш скачанный файл.
Здесь в верхнем пункте предлагают запустить «Face wizzard» — утилиту для изменения изображения, появляющегося при загрузке.
Update backup BIOS дает возможность обновить также и резервную микросхему.
Читаем предупреждение и выбираем «Ok».
Через встроенный механизм, запускаемый с помощью отдельной кнопки
Это более редкий вариант обновления. Такая возможность есть на некоторых платах, но упомянуть ее стоит.
USB BIOS Flashback — в терминологии Asus — утилита для обновления биос без необходимости установки процессора, оперативной памяти и видеокарты.
Скачанный файл биоса необходимо переименовать, можно использовать программу BIOSRenamer.
Подключите USB-накопитель к порту USB Flashback (обычно белого цвета, но лучше проверить по инструкции к плате).
Когда индикатор погаснет, процесс будет завершен.
На сайте Asus есть две инструкции по данной теме (1 и 2).
На платах компании данная функция называется Flash BIOS Button и также позволяет произвести процесс прошивки без процессора, оперативной памяти и видеокарты.
Процесс очень прост:
- скачанный биос переименовываем в MSI.ROM (да, нужно изменить не только имя, но и расширение файла) и закидываем на флешку;
- материнскую плату подключаем к блоку питания;
- вставляем USB-накопитель в порт версии 2.0 (уточняйте в мануале к плате) и нажимаем кнопку Flash BIOS Button;
- через пять секунд начнет мигать красный светодиод, что говорит о процессе прошивки;
- через некоторое время светодиод погаснет — биос прошит.
Для лучшей наглядности компания выпустила небольшой ролик по процессу прошивки.
Обновление BIOS материнской платы — процесс достаточно простой. Хоть производители и предоставляют несколько вариантов для этого, делать это без необходимости они не рекомендуют. Поскольку при внештатной ситуации вы можете оказаться один на один с неработающей платой. Впрочем, всегда есть резервный вариант — прошивка с помощью программатора. Поэтому, пусть и не самому, но восстановить плату, пострадавшую от неудачной прошивки биоса, можно.
Читайте также: