Пишем биос своими руками

Добавил пользователь Валентин П.
Обновлено: 10.09.2024

BIOS (Basic Input/Output Systems, базовая система ввода/вывода) — это программа, которая занимается управлением функционирования компьютера на том этапе, пока не начнет загружаться Windows. Из-за наличия такой программы можно загрузиться с компакт-диска или флешки, настроить время и дату, посмотреть температуру процессора. Именно в БИОС дотошные оверклокеры находят параметры для разгона процессора и оперативной памяти. Здесь же можно найти и настройки, позволяющие улучшить производительность компьютера или стабильность его работы.

Просто о непонятном

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

Если его не будет то соответственно железки вашего компа просто не определяться и не запустятся.

Вот примерно таким образом выглядит сама программная часть биоса:


Аналогом биоса является более быстрая и современная технология UEFI, которая работает в 64-битном режиме, в то время как биос работает, в основном, в 16 и 32-битном режиме.

Вот так примерно выглядит программная часть:


Физические параметры

Где находится биос? В материнской плате, что вполне логично, ведь именно она ответственная за работу всех элементов компа. В специальную микросхему зашит биос. Не путайте её с микросхемой CMOS.


Существует 2 типа микросхем биоса:

  • EPROM. Старая модель. Ее содержимое может удалиться от воздействия специального прибора с ультрафиолетовым излучением.


  • EEPROM. Современный вариант. Его содержимое можно стереть особым электрическим сигналом. Причем даже если микросхема не будет изъята из системного блока. Не всегда она имеет такой вид. В данном случае сам чип в каретке, то есть его можно снять для замены например или для прошивки. Но зачастую микросхема биоса припаяна прямо к плате.


Что еще вам стоит знать про то, что такое биос в компьютере и из чего состоит? Есть ещё один момент. У него есть собственная небольшая батарейка. Выглядит она как монета из лития и может иметь разную емкость (80-230 mAh). Точнее не у биоса, а у микросхемы CMOS. Микросхема CMOS — это память самого биоса.

Батарейка для cmos

Данный элемент подпитывает память CMOS, где хранятся пользовательские параметры и настройки биоса. Срок службы батареи составляет несколько лет: со временем она разряжается и подлежит замене.

Если она сядет, фатальных последствий не будет. Минимум: сбросятся настройки, которые после замены данной детали придется восстановить вручную. Максимум: начнут глючить программы и не будет запускаться компьютер.



Где на компьютере и ноутбуке находится биос

Что касаемо того где расположен BIOS на компьютере, то следует искать похожую микросхему (картинка ниже) на материнской плате компьютера. Все, наверное, сталкивались с батарейкой на материнской плате именно она используется для того что бы не сбивались часы в BIOS и хранились настройки.

Если вы вдруг настроили неправильно что-то в BIOS и после этого не можете зайти в него. Попробуйте сбросить настройки вытянув на некоторое время батарейку в виде таблетки из материнской платы.

Вот так выглядит биос на компьютере:


А вот так на ноутбуке:


Разновидности BIOS

Если быть точным, то, разновидностей BIOS намного больше, но для наглядности усредним их до 4 типов систем. Так как они имеют большую схожесть независимо от производителя материнских плат.

    AMI BIOS – это старый тип BIOS разработанный корпорацией American Megatrend, I Сейчас его можно встретить только в старых материнских платах. Приблизительные вид данной системы указан ниже. Интерфейс представлен горизонтальным меню с разделами: Main, Advanced, Power, Boot, Exit. Справа указаны подсказки для пользователей.



Phoenix Bios или просто Award. Когда-то давно Phoenix и Award были разными фирмами, выпускающими свои версии BIOS. Award был одним из самых популярных систем. Популярность Phoenix была значительно ниже. Потом AWARD Software был приобретен Phoenix. Но несмотря на это все также существует два вида BIOS. Интерфейс представлен в виде двух колонок с пунктами меню. Внизу данных колонок подсказки для пользователя.



Intel BIOS. Для своих материнских плат Intel взяла за основу AMI BIOS шестой версии и сделал свою версию Intel BIOS. Начальные версии Intel Bios были наподобие AMI BIOS, а дальше BIOS становится похожим на стандартную программу операционной системы семейства Windows.



UEFI (Extensible Firmware Interface с английского расширяемый интерфейс прошивки) – современная версия с интерфейсом похожим на стандартный интерфейс программы операционной системы, с возможностью переключать языки и возможностью пользоваться мышкой. На современных материнских платах в основном уже идет UEFI, так как он имеет более современный вид, поддержку многих языков и имеет удобный интуитивно понятный даже для новичков интерфейс.


Навигация BIOS


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

Возможности BIOS

Прежде чем перечислять все возможности, которые дает BIOS. Следует обозначить наиболее популярные. В первую очередь, как уже было сказано выше BIOS используется для изменения приоритета загрузки устройств, в котором, после, BIOS будет передано выполнение. Чтобы вы понимали о каком приоритете идет речь, нужно понимать, что по умолчанию в большинстве первоочередная загрузка идет с жесткого диска – это значит, что после BIOS управление передаться на жесткий диск. Если же, в приоритете стоит дисковод или USB- накопитель, то после BIOS следует, то устройство которое было указано в настройках BIOS или по очереди от более приоритетного к менее приоритетному.

Помимо этой популярной возможности вы еще можете:

  • Отключить или подключить необходимые порты;
  • Установить время;
  • Настроить, более детально, характеристики устройств (питание, частоту и т.д.);
  • Изменить режим работы устройств;
  • Изменить скорость вращения охлаждения;
  • Отследить базовые параметры такие как температуру, скорость вращения и др.

Что делает BIOS?

Когда вы нажимаете кнопку включения компа, процессор считывает код BIOS с постоянного запоминающего устройства (ПЗУ) и записывает его на оперативную память (ОЗУ). Затем управление передается самому биосу, который:

  • Проверяет оборудование на работоспособность;
  • Анализирует настройки с ПЗУ и применяет их;
  • Ищет код загрузчика в главной записи на жестком диске или на загрузочном диске в CD-ROM/дискете/флешке/в сети;
  • Передает код оперативке;
  • Перекладывает дальнейшее управление на загрузчика.

Без этих действий ваш компьютер не запустится. Если какая-то деталь поломана или произошел сбой в системе, биос вам расскажет об этом на начальном этапе загрузки.

Какие биосы бывают?

Три вида биосов о которых я говорил – это Award BIOS, AMI BIOS и UEFI BIOS. Собственно, вот немного информации о них.

American Megatrends Incorporated (AMI BIOS)

American Megatrends Incorporated (AMI BIOS)

AMI BIOS – это, наверное, самый старенький биос из тех, которые сейчас можно встретить в обиходе. Или как говорят – не старый, а опытный! American Megatrends Incorporated была основана еще в далеком 1985 году (хорошо хоть нашей эры). Сейчас этот вид биоса распространен на ноутбуках ASUS, MSI, Lenovo и некоторых других.

Award BIOS (Phoenix BIOS)

Давным давно, в старые добрые времена Award BIOS и Phoenix BIOS были разными, конкурирующими компаниями. Причем Phoenix заметно проигрывал по позициям Award’у. Но в какой-то момент случилось немыслимое – Phoenix выкупил Award. С тех пор это одна компания, которая до сих пор работает под несколькими торговыми марками.

UEFI BIOS

UEFI BIOS – это самый молодой и современный из всех биосов. Имеет графический интерфейс, а также поддерживает множество языков (в том числе русский). UEFI BIOS это даже не совсем биос, а скорее наследник биосов. Через него даже можно выходить в интернет, не запуская Windows.

Варианты расположения

Некоторые инструкции советуют искать микрочип BIOS рядом с батарейкой CMOS, которая явно выделяется на общем фоне. Это не всегда так. Дело в том, что рядом с ней иногда нет никаких микросхем, а интересующий нас чип может быть расположен достаточно далеко, как, например, на платах производства компании MSI.

где находится bios на ноутбуке

Если посмотреть, где находится BIOS на материнках ASUS A8N-SLI, вариант расположения (в нашем случае сверху вниз) может выглядеть следующим образом: батарейка, джампер для сброса памяти, контроллер I/O, а только уже потом сам чип BIOS. Кстати, для него предусмотрен специальный разъем, из которого вынуть его можно совершенно просто.

Как узнать, какой стоит биос?

Для того чтобы узнать, какой стоит биос существует достаточно много способов. Например, самый простой из них – это обратить внимание на логотип биоса на экране загрузки компьютера и сравнить с теми, которые представлены немного выше.

Другой простой способ узнать, какой стоит биос – использовать специальные программы. Например нужную информацию вам смогут предоставить такие программы, как AIDA64, Everest, CPU-Z или Speccy, а также многие другие. В каждой из них вы сможете найти пункт, в котором есть описание биоса. Если такого пункта нет, то ищите в описании материнской платы.

Если вы уже вошли в биос, и вам нужно узнать версию биоса, скажем, не для входа, а для каких-то других целей, то обратите внимание на самый верх страницы или самый ее низ. Там обязательно будет информация о фирме биоса и ее текущей версии, которую, кстати, можно обновить до актуальной.

Как зайти в биос?

Также, если вы разберете компьютер (или ноутбук) и внимательно изучите материнскую плату (возможно даже с лупой), то вы найдете написанную на одном из чипов версию вашего биоса.

Какой биос лучше?

Если вы внимательно читали статью, то вы и сами прекрасно понимаете, какой биос лучше. Конечно же, современные биосы UEFI обладают целым рядом неоспоримых преимуществ. Давайте подведем итог по этим преимуществам:

  1. Наличие русского языка;
  2. Возможность выхода в интернет;
  3. Приятный графический интерфейс;
  4. Набор инструментов заточен под современное оборудование.

как зайти в биос?

BIOS UEFI с русским интерфейсом

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

Где находится BIOS в материнской плате

Теперь приступим к основному вопросу. Итак, где находится BIOS? Как уже многие догадались, исключительно на материнской плате. Заметьте, этот микрочип не устанавливается, поэтому, если заниматься поиском, следует внимательно осмотреть материнку. Если по каким-то причинам микросхема не будет найдена, следует досконально изучить инструкцию, прилагаемую к устройству. Как правило, там представлена схема с описанием и расположением всех элементов.

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

где находится bios в windows 7

Чтобы найти сам микрочип, нужно поискать квадратик черного или серого цвета, который, как правило, имеет размер примерно 1х1 см. Иногда на нем может присутствовать название производителя вроде American Megatrends. В некоторых случаях сверху имеется голографическая наклейка.

1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки . Посмотрите, возможно, там уже имеется решение вашего вопроса.
3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
3.2. Исходники программ обязательно выделяйте тегами [code]. [/code] (одиночные инструкции можно не выделять).
3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Расскажите или киньте линком про то как в памяти сидит BIOS, я изучил материалы форума, но того чот меня интересует так и не нашел:
Что происходит при загрузке компьютера с BIOSом т.е. куда в ОЗУ он загружает свой код, какие адреса использует под что и т.д. и т.п. ТОЛЬКО ПОЖАЛУСТО как можно поподробней.

Сидит он основательно и использует только себя, сегмент 40h, векторы прерываний от 0 до 1F и от 40 до 4F (из последних не могу сказать - все ли).
Читай >это 02.03.03, 16:37

Это я уже сегодня читал :D
мне надо типо доклада про БИОС
сделать в контексте Ассемблера
расскажите что по этим адресам лежит?

меня интересует другой вопрос. Что вообще происходит при включенни компьютера?
Т.е. понятно что берутся программы из биоса и выполняются. При чем самая первая POST. В документации которую я смог найти (старье для PC XT, хотя по идее многое измениться не должно) написано что после включения на адресной шине выставлен адресс f000:fff0 (аппаратно реализованно), оттуда идет 5 байтный jmp на программу POST. Получается это точка входа в биос. Однако при просмотре debug'ом там стоит cd 19 , т.е. вызов 19h прерывания (что по идее не может быть в принципе, ведь таблицы векторов еще не сформированы). Может у новых компутеров другой адрес ставится( чтото вроде fe00:0000, кстати это и есть адресс POST)? Проясните сей вопрос.
Далее известно что микросхема биоса 256 кб, там много запакованых файлов типа original.tmp, cpucode.bin и т.д. А сколько биос действительно занимает в памяти с f000:0000 по ffff:0000 (64 кб)? Куда оставшаяся часть от 256 кб делась? .

Помощи не от кого не дождался. :('> Зато сам догадался: что лежит по адресу F000:FFF0
зависит от того в чем ковыряться в WINDOWS или в DOS. Если в win то там дествительно лежит вызов int 19h, а если в досе то все верно там действительно 5 байтный jmp на post( у меня ea5be000f0, т.е. jmp f000:e05b). Единственное я чего не понял на хрена 256 кб микросхема, если в памяти биос распологается с f000:0000 по f000:ffff, те 64 кб. .

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

Давай кратенько, дальше тебе проще будет.
1) flash состоит из 2х частей: BootBlock и файл BIOS.
Первый отвечает за _НАЧАЛЬНУЮ_ инициализацию аппаратуры. Там делается
то, чего невозможно сделать в нормальном режиме:
- проинициализировать процессор (без этого даже eax-ebx. регистры не будут работать)
- начальная настройка chipset'а
- проверка НАЛИЧИЯ памяти и ее включение.
- распаковка файла BIOS и запуск самого BIOS
2) BIOS работает достаточно сложно. Может тебе не стоит в него лезть?
3) в состав BIOS входит очень много составных частей и модулей.
Например, туда можно подключить BIOS видеокарты, а с нее самой вообще вытащить
EPROM.
4) Windows перенастраивает часть обработчиков прерываний BIOS на себя.
ЭТО ты и видел.
5) (не столь очевидная вещь) в BIOS предусмотрен API для работы с Windows.
Весьма прикольно наблюдать процедуры с именем Windows** в source BIOS .

Я так понимаю ты хочешь засунуть во flash-bios, какую нибудь прогу. Так вот я недолго стараясь бросил эту затею. Причы следующие:

1)Как написал serj нужна инициализания аппаратуры. Если даже ты изменишь стандартную точку входа в биос на свою прогу а потом после выполнея, будешь передавать управления на биос, то толку от твоей проги будет если ты все равно ничего сделать не сможешь без инициализированой аппаратуры.

2)Если ты сам решил создать биос, то из этого нечего невыйдет так так в зависимости от мамы (и другой апаратуры) разные (и по разному работают) порты вода/вывода и т.д.

3)Все осложняется тем что документации про биос (не счетая прерываний) нет. так как обычному программеру она не нужна ;) . Она нужна только некоторым людям со специфической направленостью по созданю определеного рода программ ;) .

4)Из под вындоса прошить сложно, а из под самого биоса (например с MBR, кто тебе ждать будет пока биос прошется. я как то раз перешивал он у меня 11 минут перешивался. Пользователь скорее нажмет reset чем будет ждать и камп больше не загрузится.

5)и последнее если ты хочешь сделать такую прогу то помни что не все биосы 256 Кб. Например у меня мама ASUS P4T533-C и на ней 2 MB flash bios. Это связано с тем что у этой мамы во время старта выводится картинка 640x480 8 bit. Так же биос докладывает о результатах успешной загружки или ошибок через звуковую карту (то есть проигрует звуковые файлы). И неисключено что на еще более новых мамах биос будет расширен и туда добавится еще что нибудь.

6)и самое последнее (хотя это относится только к 64 разрядным системам). На них точка входа наверное не та что раньше. И в этих системах наврятле раскажут где что находится (так как обычному программеру это не нужно ;) ).

P.S. Но все равно желаю успехов в этом нелегком деле.

2QQQQQQq - можно чуток влезть?

>>Navigator
1)Как написал serj нужна инициализания аппаратуры. Если даже ты изменишь стандартную точку входа в биос на свою прогу а потом после выполнея, будешь передавать управления на биос, то толку от твоей проги будет если ты все равно ничего сделать не сможешь без инициализированой аппаратуры.

Это так, но есть и 'официальный' способ - добавить свой файл/программу как модуль.
Она будет инициализирована BIOS'ом после VGA.
Т.е. _ВСЕ_ уже есть, можно вешать 'резидента' на прерывания BIOS и делать
"свое черное дело".


3)Все осложняется тем что документации про биос (не счетая прерываний) нет. так как обычному программеру она не нужна .

есть(вернее НЕТ) описание на процессоры и регистры chipset'а.
Что-бы заработала программа а-ля BIOS больше ничего и не надо.
Скажу больше, чтоб написать тестировщик памяти вместо BIOS нужно всего 2 месяца
и немного усидчивости.

не сложнее, чем через DOS, только надо иметь прямой доступ к железу.


а из под самого биоса (например с MBR, кто тебе ждать будет пока биос прошется. я как то раз перешивал он у меня 11 минут перешивался. Пользователь скорее нажмет reset чем будет ждать и камп больше не загрузится.

Хм . как железячник и программер(в очень мизерной степени ) хочу сказать,
что это какая-то аномалия. FLASH пишется быстро, 5uS на байт и порядка 1-4 секунды
на стирание всего chip'а.
Неее, ситуация гипотетически возможная - например, FLASH загибался и программа его вымучивала.


5)и последнее если ты хочешь сделать такую прогу то помни что не все биосы 256 Кб. Например у меня мама ASUS P4T533-C и на ней 2 MB flash bios.

Уже 4Mbits стали "стандартно".


6)и самое последнее (хотя это относится только к 64 разрядным системам). На них точка входа наверное не та что раньше. И в этих системах наврятле раскажут где что находится (так как обычному программеру это не нужно ).

Если это про Athlon64 - . он такой-же, как и PentiumPro (если утрировать нюансы).
НО! . эти 64х регистры надо специально инициализировать.

p.s.
FLASH отличаются таким подлым свойством, что программы прошивалки под них надо писать разные - под каждый тип chip'а свою.

2QQQQQQq - можно чуток влезть?

Это так, но есть и 'официальный' способ - добавить свой файл/программу как модуль.
Она будет инициализирована BIOS'ом после VGA.
Т.е. _ВСЕ_ уже есть, можно вешать 'резидента' на прерывания BIOS и делать
"свое черное дело".

Если можно ссылку на доку.

Насчет намеков на написание вредоносных программ: ничего такого я не собирался писать. Просто мне захотелось узнать, а что же остается за кадром. Ведь многие включают компьютер и он начинает работать, типа жжжжж и лампочки мигают:-) А мне вот захотелось узнать, как вобще эта куча железа начинает работать как единое целое.
Насчет того что биосы не только 2 мегабитные это я знаю, были и 1 мегабитные и есть 4 мегабитные.

Поэтому хотелось получить толковый ответ типа:
Включаю компьютер. На адресной шине то-то и то-то. Это допустим стартовая точка бутблока. Хотелось бы услышать как же он все таки проц инитит. Кто это делает (не проц сам себя инитит же). С чипсетом и проверкой памяти понятно (проц начинает выполнять подпрограммы из этого бутблока засылает нек значения в некие порты). После чего бутблок передает управление на Decomressor который распаковывает в такието такието адреса ОЗУ то-то и то-то. После чего это то-то и то-то начинает выполняться или используется как данные. Сэры а когдаже MBR считывается?
Я пытался из под доса проследить ход выполнения программы POST (f000:fff0 по документации комп якобы начинает выполнение всего и вся оттуда при включении), но начинаются сумашедшие jmp буквально через каждые 2 инструкции, кто-нить до логического конца добирался?

Ах да ну и касательно всетаки 256 кб микросхемы и 64 кб в адресном пространстве памяти. Есть подозрение что это окно, и вся ПЗУ там не видна. Если это так то возможно при загрузке в это окно отображается разные участки микросхемы ПЗУ, поэтому после полной загрузке мы можем иметь совсем не то что при включении компьютера. Если это так, то кто переставляет эти участки?

невозможно было запустить новые процессоры серии Sempron. Проблема решалась в одну минуту обновлением BIOS. После этого плата без проблем опознавала “камень” и рапортовала при загрузке о его реальной частоте и рейтинге производительности. Оверклокерам же

Уроки шитья BIOS. Зачем и как обновлять прошивку материнки
Уроки шитья BIOS. Зачем и как обновлять прошивку материнки

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

Микропрограмма материнской платы BIOS (Basic Input/Output System — базовая система ввода-вывода) хранится в ПЗУ (в новых платах используется flash-память) и дает возможность изменять и сохранять настройки компьютера.

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

Чем может быть вызвана принудительная смена BIOS в материнской плате? Причин не так и много. Обладатели старых материнских плат нередко сталкиваются с ситуацией, когда прошивка просто не содержит определенных настроек или не поддерживает новые процессоры и другие устройства. Устаревшие материнские платы часто могут быть несовместимы с жесткими дисками большой емкости или не поддерживают загрузку с оптического привода.

Некоторые производители предлагают альтернативные способы. К примеру, прошивку многих моделей материнских плат от EPoX, ASUS и GIGABYTE можно сделать перед загрузкой системы. В таком случае понадобится лишь дискета с новой версией BIOS.

В случае проблем с новой версией прошивки и для борьбы с вирусами на плату иногда устанавливают два чипа BIOS. Такой подход позволяет вернуть старую версию прошивки в случае неудачного обновления или вирусной атаки.

В BIOS сосредоточены все настройки системы.

По каким-то причинам вы решили сменить/обновить текущую прошивку на более свежую и/или более стабильную версию. Проделать эту операцию можно одним из нескольких доступных способов. Их количество зависит от конкретной модели материнской платы. Рассмотрим самые распространенные из них.

Обновление BIOS через DOS

Самым надежным и проверенным временем способом является прошивка через DOS. Для этого понадобятся:

— Специальное программное обеспечение для обновления BIOS. Если в комплекте поставки с материнской платой таких утилит не было, придется загрузить их с сайта производителя. Как правило, это awdflash.exe.

— Дискета, отформатированная в файловой системе FAT, или же компакт-диск (в случае, если у вас есть навыки создания мультизагрузочных дисков).

— Желателен источник бесперебойного питания. Бывает так, что во время обновления прошивки может произойти перепад напряжения в сети (причиной тому может быть что угодно: ремонт у соседей, проблемы электросети и т. д.) — от этого никто не застрахован. В таком случае компьютер перезагрузится и после этого материнскую плату будет очень тяжело оживить.

Технологии типа DualBIOS позволяют избежать многих неприятных моментов.

Пример обновления BIOS через DOS

Сначала подготовим загрузочную дискету. На ней должны быть системные файлы, autoexec.bat, awdflash.exe и новая версия BIOS. awdflash.exe — программа для обновления прошивки. Загрузочный файл autoexec.bat должен содержать следующие строки:

— AWDFLASH [filename1] [filename2]

Загрузившись с подготовленной дискеты или загрузочного компакт-диска, вам остается лишь набрать слово autoexec.bat. Все, дело сделано.

Обновление BIOS через Windows

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

Мы ограничимся общими рекомендациями по обновлению BIOS в среде Windows:

— выгрузите все ненужные программы из памяти и трея (оставить только системные процессы);

— по возможности используйте источник бесперебойного питания.

Теперь можно начинать. В большинстве случаев интерфейс программы для прошивки BIOS интуитивно понятен, так что проблем возникнуть не должно.

Во многих случаях BIOS можно обновить через Windows с помощью фирменных утилит.

Самая серьезная (и самая распространенная) проблема, с которой вы можете столкнуться, — это зависание или отключение питания ПК во время обновления BIOS. Специально для этих случаев мы и предложили сделать резервную копию старой версии прошивки (файл filename2). Впоследствии ею можно будет воспользоваться и восстановить BIOS. Еще могут возникнуть проблемы, если вы использовали BIOS от другой платы или же нестабильную/неудачную версию. И здесь снова очень пригодится старая прошивка. Но если компьютер не включился после обновления, то кроме сервисного центра вам уже никто не поможет.

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

С 1998 года компания Intel начала продвигать технологию EFI (Extensible Firmware Interface) — своего рода промежуточный интерфейс между BIOS материнской платы и операционной системой. EFI состоит из блоков данных, содержащих информацию об аппаратной части компьютера. Информация сообщается загрузчику операционной системы, и в зависимости от нее ОС вызывает или блокирует определенные службы. Спецификация EFI будет использоваться на следующих поколениях архитектур IA-32 и Itanium. Если все пойдет по плану Intel, то EFI будет активно вытеснять с главных ролей BIOS, чему вряд ли обрадуются компании Award и AMI.


EFI - не BIOS . Даже букв в названиях разное количество. А если это ещё и на плате от Intel (снова отличное количество букв в названии) - получается совсем тяжко. Попробуем таки разобраться, при этом без углубления в слишком тонкие материи, а больше с прагматическим уклоном а-ля "сделать-прошить-забыть".

Капсула


Итак, скачанное с сайта Intel под видом прошивки (верно для всех плат, начиная с 2004-го года) суть капсула EFI . Капсула, как не сложно догадаться из названия - инкапсулирует в себе много всякой ботвы различных компонентов, из которых, собственно, прошивальщик "на лету" собирает конечный образ EFI BIOS (режет слух и возможны непонятки, потому далее буду использовать привычное название - BIOS ). Увидеть всё это хозяйство (кучу файлов/модулей в составе капсулы) можно с помощью пока недоделанной, но для такого уже рабочей - альфы BIOS Patcher 7 (которую я где-то уже выкладывал в ветке по EFI ) .

Полуспособ номер один - оживляем через BootBlock

При открытии патчером капсулы видны длинные ветки инкапсулированных один в другой файлов, иногда такой глубины, что сразу чувствуешь всю капсульную натуру такой капсулы. Но нам не нужны все. Нам вообще, достаточно найти лишь одну "веточку", которая есть ничто иное, как бутблок в чистом виде. Обычно оный имеет стандартный размер в 64Кб (10000h), однако не факт - уже сталкивался с бутблоком на 256Кб на новых платах с EFI .
Итого, даже не зная ничего и не желая напрягаться - тупо переберить все, что найдёте FFS , пока не увидите справа напротив Size заветные 010000 . Другим точным указанием на то, что это именно BootBlock - есть наличие в составе FFS модуля (тип RAW ) с названием SecCore Driver ( погоняло нашего бутблока "у них - в EFI "). Далее непринуждённо тыкаем кнопку "Сохранить как" и получаем на выходе нужный код BootBlock.
Восстановить с помощью этого файла оригинальный BIOS уже дальше дело техники. Кто внимательно читал "Искусство перешивки BIOS " тому это будет совсем просто. Полученный код с помощью любого hex-редактора вставляем в самый конец "заготовки" прошивки (пустой файл, равный по объёму требуемой прошивке). Прошиваем и получаем ошибку CRC BIOS (ясен перец - его-то - BIOS -а - и нет вовсе), срабатывает аварийная процедура восстановления BIOS (которая располагается в оживлённом нами BootBlock -е) и после стандартных шаманских действий в такой ситуации на выходе получаем рабочий компьютер.

Способ номер два - собираем прошивку


Если предыдущий полуспособ по какой-то причине не подходит, придётся разбираться плотней. Итак, делаем скидку на то, что альфа патчера является альфой и что все варианты сразу описать не смогу.

CapsuleToImage

  • recovery firmvare - есть ранее нами уже рассекреченный бутблок (поэтому и пишется в конец)
  • main firmware - основной код BIOS (кликуха - DXE Core или POST по-нашенски)
  • logos - и прочие подобные файлы (их может не быть) есть просто дополнительная мишура, полноэкранная заставка в данном случае

Попробовал. Загрузчик нашел без проблем, а вот как сохранить его непонял. Отметил его, нажал "Сохранить как", но ничего не сохраняется, файл не создается.

Аватар пользователя apple_rom

Роман, спасибо - в аккурат, вовремя пришлось (чтоб её, эту маму) ; Ысчо раз, очень вовремя и как всегда грамотно.

- Ситчик веселенький есть.
- Приезжайте, обхохочетесь.

Роман, у меня есть самые свежие исходные коды BIOS-ов для материнских плат на современных чипсетах AMD любых вариантов - RS690 (все варианты), RS780 (все варианты), наверное, еще какие-то. BIOSы c поддержкой AGESA все версий: 3,4,6. В комплекте куча фирменного софта для отладки BIOS-ов. Интересует?

Аватар пользователя Baza

Очень интересует, хоть я и не Роман

Либо нечему гореть, либо нечем поджечь!

blaster, аналогично, меня тоже очень интересует.

Партизан подпольной луны aka (R)soft

Аватар пользователя ADEPT707


BIOS-это как раз и есть основной профиль этого форума-так зачем спрашивать?
а для сепаратизма есть приват-чтоб остальных не дразнить

Дайте пожалуйста ссылочку именно на патчер, окно которого изображено в этой статье, все перерыл не могу найти.

Не понял, где взять ПАтчер 7.

-=Кто сказал что бесполезно биться головой об стену. =- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам


А вот если у меня Insyde BIOS, и там нет капсул.
Только три FFS (очевидно, что это логотип, собственно биос и бутблок). Могу я такое сразу зашить через программатор?
Вот скриншот:

А поясните, пожалуйста следующую вещь.
Пользуюсь указанным альфа патчером.
Делаю, как и написано. Сохраняю бутблок.
Но! Что смущает!



Во первых не работает
Во вторых вот картинка того, что сохранилось (начало)

Так там с нулевого адреса идёт EA D0 FF .
Хотя эта команда должна идти на 16 байте. (чтобы она была первой инструкцией по FFFF:FFF0).
Размер сохранённого файла 0x10000
То есть, дописывая в конец (как указано ) 4-мегбитного (512Kб) биос-файла, ничего не сдвинется.
(

Полученный код с помощью любого hex-редактора вставляем в самый конец "заготовки" прошивки (пустой файл, равный по объёму требуемой прошивке)

Ребят, как вообще эта программа работает? Как можно вставить выход с неё в заготовку?
Я, хоть убей, не пойму как первая выполняемая инструкция при таком выходе должна попасть в FFFF:FFF0. Либо нужно писать программу, чтобы она по 16 байт переписывала. или что. Объясните, пожалуйста.

lsvmo
1. При подобных вопросах было бы неплохо приводить ссылку на разбираемый образ прошивки.
2. Вместо картинки весом 232 кб можно было бы дать сохраненный bootblock весом 64 кб.
3. Глубоко наплевать, что у вас оказалось по нулевому адресу в bootblock'е. Вас интересует инструкция, лежащая в конце bootblock'а (начиная с последних 16 байт).

Плата от Intel DG31GL.
По ссылкам.

Ссылка на то, что получилось у меня с помощью альфа-программы
DG31GL.rom

Насколько я знаю, начиная с 16-ого байта от конца должна быть инструкция EA адрес.
то есть jmp адрес
А у меня её нет. А есть она только по нулевому адресу. Вот я и говорю, как так?

Подскажите, пожалуйста.
Может у кого есть образ прошивки этой платы?

P.S. Кстати, на других BIOS от Intel программа почему-то вообще сама завершается. Открываешь файл, а она раз - и нет её. Например, на DG965RY.

Насколько я знаю, начиная с 16-ого байта от конца должна быть инструкция EA адрес.
то есть jmp адрес
А у меня её нет.

1. Необязательно это должен быть jmp (т.е. можно извратиться кучей других способов для передачи управления в нужную точку), хотя обычно производители не страдают извращениями.
2. Необязательно jmp будет первой же инструкцией по 0xFFFF:0xFFF0.
3. Необязательно код операции jmp будет равен 0xEA.
4. Т.е. bootblock у вас вполне адекватный.

Нда, какую чушь только не пишут гости, в частности Батов Дмитрий Евгеньевич.

Аватар пользователя Bishop

а ещё можно обнулить микрокод проца, сильно подув в 1ю ножку, плотно заткнув остальные, тогда все ячейки возвращаются в FF.

Аватар пользователя Miyka

Спасибо, очень хороший "цикл" статей о EFI.
Очень не хватает информации как при помощи BIOSPatcher7 вставить модуль в капсулу.

-= Материнская Intel DZ68DB =-
"Научена" производителем запарывать себя саму при перепрошивке БИОСа штатными средствами (по моему опыту с двумя материнскими - F7 точно, из Win может просто ничего не обновиться или сбиться настройки БИОСа, материнская остаётся работоспособной). Надо обязательно включать параметр в БИОСе (по умолчанию Disabled) "Flash Update Sleep Delay" (некая отсрочка при обновлении).

"Вскрытие" показало, что биос потёр область FFS (первоначальной инициализации, с SecCore) и не успел ничего записать взамен (т.к. он сам же при перепрошивке сделал reset или power cycle).

-= Аппаратная часть =-
Intel на матерях использует микросхемы для хранения БИОСа с интерфейсом SPI. В сети имеет хождение программа и схема программатора spipgm, созданного чехом (нужно 4 резистора и барарейку). Подключаться надо непосредственно к контактам самой микросхемы ПРЯМО НА ПЛАТЕ. Используется специальная колодочка или же подручные средства. В моём случае использовал кусочки из IDE-шлейфа на 40 пин. Отделить от него две группы по 4 проводка в каждой. Аккуратно снимается изоляция с одной стороны проводников длинной 4-5 мм, необходимо зачищать именно отступив от края (обреза) кабеля чтобы оставшаяся его незачищенная часть изоляции фиксировала проводники, не давала им распушаться. Эти зачищенные части нужно совместить с ножками микросхемы и надёжно зафиксировать. Предварительно необходимо припаять эти кусочки шлейфа к резисторам, LPT-разъему и отсеку для батареек (некоторые через несколько диодов подключают к +5В, у меня запитывалось от двух аккумуляторов типа AA; запитывание от батарейки, снятой с материнской платы быстро садит эту батарейку и, возможно, батарека должна быть обязательно на плате).

-= О прошивке =-
Предварительно переписывал из микросхемы запоротый БИОС. Рассмотрение его в hex-ах выявило, что стерты данные, где должен быть FFS первоначальной инициализации с SecCore. Это с адреса 3A0000 h и до конца файла.

Пробовал:
1) вписать отсутствующий фрагмент (FFS с SecCore по адресу 3A0000h) в имеющийся образ из микросхемы;
2) как тут написано изготавливать "прошивку" из пустого файла с записанной в конец FFS, содержащей веточку SecCore.
При заливке в материнскую -- циклическое включение/выключение последней.

Она посвящена процедуре прошивки платы как программно (когда плата функционирует), так и с аппаратным сторонним программатором. Нас интересует второй вариант и особенно стр. 25 документа ("Step 5. Prepare the Target PC").

Процедура ПОДГОТОВКИ по пунктам (чего я не делал и потому не получал нужного результата):

CAUTION: To avoid damaging the motherboard and/or other components, AUX power to the machine must be OFF, and the power cord unplugged from AC power.

CAUTION: To avoid damaging the motherboard and/or other components, make sure you follow standard anti-static precautions, including the use of ground straps.

CAUTION: Overwriting the BIOS with a new image can be problematic while the management engine is active, because the management engine can create activity on the SPI bus.
1. On the target PC, make sure power is off.
2. Disconnect the power cable from AC power.
3. There is a green standby power LED next to the SATA connector on the motherboard. Wait until this LED turns off.
4. On the host PC, plug the USB end of the Dediprog cable into a USB port.
5. Отключить SATA кабели, если мешают.
6. Set motherboard in configuration mode (BIOS CFG Jumper, pin 2-3).
7. On the target PC, connect the programmer by connecting the ISP-TC-8 alligator clip to the SPI flash device on the motherboard. Make sure pin 1 on the alligator clip is connected to pin 1 on the flash device. The white line on the SPI plug should line up with the white dot or arrow on the motherboard.
8. Note the configuration of the BIOS CFG jumper.
CAUTION: Make sure the target PC is powered down and the power cable disconnected from AC power before moving the BIOS CFG jumper. Moving the jumper with the power on may result in unreliable computer operation.
9. Grasp the tab on the BIOS CFG jumper, carefully remove the jumper, and set the jumper aside. For detailed information about removing the BIOS CFG jumper, refer to the motherboard product guide.
10. Reconnect the power cable to the target PC, enabling AUX power.
11. Press and hold the power button on the target PC until the system powers up, then powers back off.
12. Locate the green standby power LED. It should now be lit (and the red Intel® ME status LED should be off если материнская плата с поддержкой ME).

Процедура после прошивки описана на стр. 40 ("Step 10. Exit Dediprog and reassemble the target PC").

Для тех, кто не владеет английским приведу СВОЙ перевод. Разумеется, никакой ответственности за качество и правильность перевода. Делайте всё на свой страх, риск и кошелёк.

ПРЕДУПРЕЖДЕНИЕ: Чтобы избежать повреждения материнской платы и/или других компонентов, питание компьютера должно быть отключено и вилка 220 В физически _вытащена_ из розетки.
ПРЕДУПРЕЖДЕНИЕ: Чтобы избежать повреждения материнской платы и/или других компонентов, убедитесь, что Вы принимаете все надлежащие меры по защите от статического электричества, включая заземляющие браслеты.
ПРЕДУПРЕЖДЕНИЕ: Только для материнских плат с технологией управления (intel Management Engine). Например, на чипсетах Q-серий. Запись в БИОС нового образа может быть затруднена при активном "движке" технологии ME, т.к. он также использует шину SPI и может передавать по ней данные при прошивке БИОСа.

21. Выключить питание компьютера-пациента, вытащить вилку из розетки 220 В компьютера-пациента.
22. Отключить кабель монитора от компьютера.
23. Дождаться ПОЛНОГО погасания зелёного светодиода НА ПЛАТЕ-пациенте.
24. Установить перемычку на плате-пациенте в режим конфигурации БИОСа ("BIOS CFG", положение уточняйте в инструкции от материнской платы).

25. Подключить монитор, подать и включить питание, СДЕЛАТЬ СБРОС НАСТРОЕК БИОСа по умолчанию (BIOS defaults).

26. Выключить питание компьютера-пациента, вытащить вилку из розетки 220 В компьютера-пациента.
27. Отключить кабель монитора от компьютера.
28. Дождаться ПОЛНОГО погасания зелёного светодиода НА ПЛАТЕ-пациенте.
29. Установить перемычку на плате-пациенте в "нормальный" (Normal/default) режим БИОСа ("BIOS CFG", положение уточняйте в инструкции от материнской платы).

ami-300x248

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

Сегодня мы, на примере одной из старых ревизий huanan x79 deluxe, научимся модифицировать биос. Так как почти все современные платы из Поднебесной работают на коде от American Megatrends, инструкция может считаться универсальной.

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

Нам понадобится

Пошаговая инструкция

Если вы используете процессор с заблокированным множителем (Xeon E5 серии 2600), то на этом можно закончить и сразу перейти к последнему шагу.

Видео-инструкция

\

Читайте также: