или Полезные советы для опытных пользователей
Наверное, сегодня нет пользователей, которые не слышали бы о BIOS. Начинающие пользователи (некоторые всю жизнь пребывают в состоянии начинающих) боятся этой самой BIOS как огня и даже не представляют, как в нее заходить, не говоря уже о настройке. Ну а опытные пользователи или, как их принято называть, компьютерные энтузиасты, не только настраивают систему BIOS, но и перепрошивают ее. Нужно отметить, что процедура перепрошивки BIOS даже у специалистов вызывает всплеск адреналина, поскольку отнюдь не безопасна и нередко представляет угрозу для жизни. Впрочем, процедура перепрошивки BIOS — это еще цветочки. Куда более экстремальным является моддинг, или редактирование, BIOS, о котором и пойдет речь в настоящей статье.
Прежде чем начать рассказ о способах редактирования BIOS, вкратце напомним, что такое BIOS, какие возможности она предоставляет пользователю и зачем ее обновлять и уж тем более редактировать.
Что такое BIOS
BIOS (Basic Input/Output System) — это базовая система вводавывода. Точнее, BIOS представляет собой систему настройки и управления памятью, процессором, чипсетом, интегрированными на плате контроллерами и подключенными к плате устройствами. В отличие от большинства других программ, BIOS располагается не на жестком диске, а на специальной микросхеме с автономным питанием на системной плате.
От BIOS в компьютере зависит очень многое. Фактически BIOS определяет настройку системы, которой определяются функциональность и производительность ПК. Зачастую первые версии BIOS, с которыми появляются материнские платы, изобилуют «багами», исчезающими лишь в последующих версиях.
Система BIOS есть в любой системной плате (за исключением плат для компьютеров Apple), предназначена ли она для настольного ПК или для ноутбука. Впрочем, традиционно сложилось так, что BIOS для ноутбука имеет минимум настроек и носит скорее информационный характер. Что касается BIOS материнской платы для настольного ПК, то она позволяет выполнить достаточно большое количество настроек, которые влияют как на производительность работы системы, так и на ее функциональность. В частности, традиционный разгон системы, подразумевающий увеличение тактовой частоты процессора, изменение напряжения питания процессора, изменение тактовой частоты, таймингов и напряжения питания памяти производятся именно в настройках BIOS. Кроме того, в некоторых случаях BIOS позволяет настраивать скоростной режим работы вентилятора, установленного в кулере процессора, и дополнительных вентиляторов, установленных в системе, реализовывать настройку RAID-массива жестких дисков в случае, если этот массив создан на базе интегрированного в чипсет контроллера, а также выполнять массу других тонких настроек компьютера.
BIOS размещается в микросхеме ROM-памяти (Read Only Memory), что обеспечивает постоянную доступность BIOS независимо от работоспособности внешних по отношению к материнской плате компонентов (например, загрузочных дисков). Поскольку доступ к RAM (оперативной памяти) осуществляется гораздо быстрее, чем к ROM, многие изготовители предусматривают при включении питания автоматическое копирование BIOS из ROM в оперативную память. Задействованная при этом область оперативной памяти называется Shadow ROM.
В настоящее время большинство современных материнских плат комплектуется микросхемами Flash BIOS, код в которых может перезаписываться при помощи специальной программы. Такой подход обеспечивает возможность обновления (прошивки новой версии) BIOS.
Производителей ядра BIOS не так уж и много. Наиболее распространены BIOS от компаний AMI (American Megatrends, Inc.), AWARD и Phoenics Technologies. Другие BIOS (от компаний FirmWorks, Micro Firmware и др.) встречаются гораздо реже. А доминирует в настоящее время на рынке AMI BIOS, поэтому в дальнейшем мы сконцентрируемся на способах перепрошивки и модификации именно ее.
Естественно, каждый производитель вносит свои изменения в базовую версию BIOS, и, конечно же, та или иная версия BIOS предназначена только для конкретного продукта (компьютера или ноутбука) и несовместима с другими решениями.
Наконец, отметим, что в настоящее время микросхемы BIOS используют два интерфейса для подключения к системной плате: либо шину LPC (Low Pin Connection), либо новую шину SPI (Serial Peripheral Interface).
Зачем перепрошивать BIOS
Все производители материнских плат и ноутбуков настоятельно не рекомендуют перепрошивать BIOS, если в этом нет острой необходимости. Более того, представители сервис-центров постоянно обращаются к производителям материнских плат с просьбой вообще блокировать для пользователя возможность перепрошивки BIOS. Конечно же, эта идея абсурдна и такого никогда не случится, однако еще раз подчеркнем, что операция перепрошивки BIOS небезопасна и может представлять угрозу для жизни. Если плата или ноутбук работает нормально, то нет смысла обновлять BIOS.
В то же время нередко возникают ситуации, когда обновление BIOS необходимо. К примеру, вы приобрели материнскую плату с процессором и выяснили, что они несовместимы друг с другом. Скорее всего, проблема заключается в том, что на вашей материнской плате прошита старая версия BIOS, которая не поддерживает новый процессор. Единственный вариант в данном случае — найти старый процессор и обновить BIOS на плате.
Кроме того, в каждой новой версии BIOS исправляются ошибки, допущенные в предыдущих версиях, так что процедура обновления BIOS оказывается весьма полезной.
Наиболее безопасны в плане процедуры перепрошивки BIOS платы компаний Gigabyte, ASUS и MSI, в которых реализована защита от неудачной перепрошивки BIOS. На платах Gigabyte устанавливаются две микросхемы BIOS (технология DualBIOS), и если BIOS прошита некорректно и система не может запуститься, то автоматически начинается процедура аварийного восстановления BIOS из резервной микросхемы.
На новых платах ASUS технология аварийного восстановления BIOS получила название ASUS CrashFree BIOS 3. Суть этой технологии заключается в том, что в случае краха BIOS или несовпадения контрольной суммы после неудачной прошивки автоматически запускается программа, которая ищет BIOS на CD/DVD-диске, дискете или флэшке (с файловой системой FAT/FAT32). Если файл на какомто носителе найден, автоматически запускается процедура восстановления.
Аналогичная технология, получившая название M-Flash, есть на платах MSI. Разница лишь в том, что файл BIOS должен находиться на флэшке.
Способы перепрошивки BIOS
Все производители системных плат вместе с новыми версиями BIOS выкладывают и утилиты для их прошивки, а также подробные инструкции, как перепрошивать BIOS. Увы, но какого-либо универсального инструментария для перепрошивки BIOS просто не существует. Вообще, можно выделить три способа перепрошивки BIOS: из-под DOS, из-под операционной системы Windows и непосредственно из-под BIOS.
Собственно, о способах перепрошивки BIOS из-под BIOS и с помощью фирменной утилиты из-под операционной системы Windows рассказывать особенно нечего. Здесь всё просто и понятно. Более того, способ перепрошивки BIOS из-под BIOS является самым простым и безопасным, однако, увы, не все производители поддерживают данную функцию. Исключение составляют лишь компании ASUS и Gigabyte.
Более того, не все производители комплектуют свои платы утилитами для перепрошивки BIOS из-под Windows и в некоторых случаях способ перепрошивки из-под DOS является единственно возможным.
Способ перепрошивки BIOS из-под DOS можно назвать классическим, но и самым неудобным. Дело в том, что, кроме наличия соответствующей DOS-утилиты, этот способ перепрошивки подразумевает загрузку компьютера не с жесткого диска, а с внешнего носителя. Ранее для этого применялись обычные 3,5-дюймовые загрузочные дискеты с DOS, причем на эту дискету, наряду с операционной системой, записывались и сам файл BIOS, и DOS-утилита его перепрошивки. Однако в настоящее время 3,5-дюймовые дискеты, как и сами флопповоды, можно считать устаревшими устройствами. На многих современных материнских платах отсутствует даже разъем для подключения флопповода, а ноутбуков с 3,5-дюймовыми флопповодами уже давно не производят. Впрочем, проблема данного способа перепрошивки BIOS заключается даже не в этом. В конце концов можно найти 3,5-дюймовый флопповод с USB-интерфейсом, но это вряд ли решит проблему. Дело в том, что современная BIOS может быть объемом в несколько мегабайт и просто не уместиться на дискету.
В принципе, можно попытаться решить данную проблему, используя вместо загрузочной дискеты загрузочную флэшку с ядром DOS. Но и в этом случае возникают осложнения. В первую очередь нужно найти утилиту, которая позволит сделать флэшку загрузочной, и системные файлы операционной системы DOS. В Интернете можно отыскать несколько утилит, позволяющих делать загрузочные флэшки с DOS, наиболее известные из них — это HP USB Disk Storage Format Tool и BootFlashDOS, которые есть в Сети в свободном доступе.
Утилита HP USB Disk Storage Format Tool позволяет создавать загрузочные флэшки при наличии системных файлов DOS, то есть для нее требуются еще и сами файлы. Впрочем, на торрентресурсах можно найти сборки, в которые входят системные файлы DOS.
В случае использования флэшек емкостью менее 4 Гбайт при форматировании и создании загрузочной флэшки с помощью утилиты HP USB Disk Storage Format Tool (рис. 1) можно применять файловую систему FAT либо FAT32, ну а если используется флэшка емкостью более 4 Гбайт, то необходима файловая система FAT32.
Рис. 1. Создание загрузочной флэшки с DOS
с помощью утилиты HP USB Disk Storage Format Tool
Утилита BootFlashDOS позволяет создавать загрузочные флэшки с DOS нажатием всего одной кнопки, покольку все необходимые системные файлы уже входят в саму утилиту (рис. 2).
Рис. 2. Создание загрузочной флэшки с DOS с помощью утилиты BootFlashDOS
В принципе, если создана загрузочная флэшка с DOS, то никаких проблем с перепрошивкой BIOS уже не будет. Достаточно скопировать на загрузочную флэшку DOS-утилиту для перепрошивки BIOS и сам файл BIOS и загрузить компьютер с флэшки. Для загрузки компьютера с флэшки нужно вставить ее в ПК, перезагрузить или просто включить компьютер и на этапе загрузки войти в BIOS, чтобы выставить в настройках загрузку с USB Flash Drive. Далее, сохранив настройки, перезагружаем компьютер и, загрузив DOS, выполняем в командной строке нужную команду в соответствии с инструкцией производителя BIOS.
Примеры выполнения подобной команды мы приведем чуть позже, а пока рассмотрим еще один способ перепрошивки BIOS из-под DOS. Он заключается в том, что вместо загрузочной флэшки применяется загрузочный CD/DVD-диск. Велосипед изобретать здесь вряд ли стоит — лучше воспользоваться уже готовым диском Hiren`s BootCD (текущая версия 10.4), образ которого можно скачать с сайта www.hirensbootcd.net. В случае использования загрузочного диска Hiren`s BootCD дополнительно понадобится еще и флэшка (с файловой структурой FAT или FAT32), на которую должна быть записана DOS-утилита для перепрошивки BIOS, и сам файл BIOS.
Теперь рассмотрим процедуру перепрошивки BIOS из-под DOS на примере ноутбука MSI GX640 с AMI BIOS. На ноутбуках MSI предусматривается один-единственный способ перепрошивки BIOS из-под DOS с помощью прилагаемой к файлу самой BIOS фирменной DOS-утилиты. Собственно, всё, что нужно для перепрошивки BIOS, — это создать загрузочную флэшку, скачать с сайта MSI архив со всеми необходимыми файлами, в который входят файл BIOS, утилита для перепрошивки и исполняемый файл flash.bat с прописанной последовательностью всех действий. После этого следует разархивировать данный архив на загрузочную флэшку и, загрузившись с флэшки, запустить на исполнение файл flash.bat. Главное, чтобы все разархивированные файлы находились в одной папке (можно разархивировать их в корневой каталог флэшки).
Вообще, нужно отметить, что для каждого типа BIOS (AMI, Award) для перепрошивки существуют специализированные утилиты от компаний AMI и Award. К примеру, с сайта компании AMI можно скачать пакет amiflash, в которой входят утилиты afudos и afuwin, позволяющие перепрошивать AMI BIOS из-под DOS и из-под Windows соответственно. Однако нужно иметь в виду, что AMI BIOS может быть как классическим AMI BIOS, так и AMI Aptio BIOS. Aptio — это разновидность AMI BIOS, но главное, что для AMI BIOS и Aptio AMI BIOS используются различные утилиты afudos и afuwin.
Кроме того, многие производители системных плат вносят в BIOS для своих продуктов столь существенные изменения, что универсальные утилиты AMI или Award их просто не распознают, а следовательно, перепрошить не могут. В частности, в рассмотренном ранее примере с AMI BIOS ноутбука MSI GT640 утилиты afudos и afuwin не распознают ее как AMI BIOS и, естественно, перепрошить не могут.
Вообще, ситуация, когда речь идет о модифицированных версиях AMI BIOS, которые определяются как AMI BIOS самими утилитами от AMI, встречается довольно часто. Это и многие платы MSI, и многие платы Gigabyte. В таком «выпендреже» не замечены пока только платы ASUS, BIOS на которых можно перепрошивать утилитами от компании AMI (хотя, конечно, лучше подойдут утилиты, поставляемые самой компанией ASUS).
Зачем модифицировать BIOS
Итак, мы рассмотрели основные способы перепрошивки BIOS, а теперь обсудим, каким образом можно ее модифицировать. Естественно, возникает вопрос: а зачем вообще модифицировать BIOS? По этому поводу можно спорить до бесконечности, как и о том, нужно ли разгонять компьютер. Собственно, если процедура моддинга BIOS в принципе возможна, всегда найдутся энтузиасты, которые будут этим заниматься.
Еще несколько лет назад о возможности самостоятельного редактирования BIOS мало кто задумывался. Однако в последнее время эта процедура стала популярной, и в Интернете можно найти немало ресурсов, посвященных моддингу BIOS. Интерес к этому вопросу можно объяснить тем, что в последнее время многие пользователи стали прошивать SLIC-таблицу в своей BIOS, а это один из вариантов моддинга, или редактирования, BIOS. Сама по себе процедура прошивки SLIC-таблицы в BIOS вполне законна, а вот то, для чего это делают, конечно же, уже незаконно — именно этим объясняется популярность данной процедуры.
Вкратце поясним, о чем идет речь. Прошивание SLIC-таблицы в BIOS используется для того, чтобы реализовать механизм OEM-активации операционной системы Windows 7 точно так же, как это делают OEM-партнеры Microsoft для активации предустановленных копий Windows без проверки Microsoft. Данный метод позволяет активировать систему при соблюдении трех условий: использование специального OEM-ключа и OEM-сертификата, а также наличие SLIC-таблицы в BIOS компьютера.
Windows 7 требует наличия в BIOS SLIC-таблиц версии 2.1, причем жесткой привязки OEM-ключа к SLIC-таблице и сертификату нет. Ключ привязан только к редакции Windows и позволяет активировать как x86-, так и x64-версии ОС. Файлсертификат и SLIC-таблицы взаимосвязаны, и для успешной активации оба компонента должны быть от одного OEM-партнера.
Мы не станем рассказывать, как незаконно активировать Windows 7, однако остановимся на процедуре вшивания в BIOS SLIC-таблицы. Сразу отметим, что это далеко не всегда возможно и не все BIOS поддаются какому-либо редактированию.
В Интернете можно найти пакет программных инструментов (AMITool), содержащий как сами SLIC-таблицы, так и утилиту (AMI SLIC Mod) для их прошивки в AMI BIOS. Однако для этого нужно, чтобы у вас на плате применялся именно AMI BIOS, но даже в этом случае нет никакой гарантии, что процедура прошивки SLIC-таблицы в BIOS окажется возможной. Как мы уже отмечали, многие производители так модифицируют BIOS для своих продуктов, что утилита AMI SLIC Mod просто не распознает ее как AMI BIOS, а следовательно, не может ее модифицировать.
Впрочем, даже в этом случае не стоит отчаиваться и бежать в магазин за другой системной платой. Прежде чем пытаться прошивать SLIC-таблицу в BIOS, следует проверить факт ее отсутствия в BIOS. Если вы купили материнскую плату или ноутбук недавно, то вполне может оказаться, что нужная вам версия SLIC-таблицы (версия 2.1) в BIOS уже имеется.
Просмотреть версию SLIC-таблицы в BIOS можно с помощью специализированной утилиты RW — Read & Write Utility (текущая версия 1.4.7), которую можно скачать с сайта http://rweverything.phpnet.us. Другое название этой утилиты — RW-Everything.
Установив данную утилиту, запускаем ее и в главном окне программы на панели инструментов нажимаем на кнопку с надписью ACPI. В открывшемся окне ACPI Table нажимаем на вкладку SLIC. Далее необходимо просмотреть таблицу в шестнадцатеричном формате и найти в ней строку, начинающуюся с байт 53 20. Если следующие четыре байта 00 00 00 00, значит в BIOS прошита SLIC-таблица версии 2.0, а если — 01 00 02 00, то прошита SLIC-таблица версии 2.1 (рис. 3).
Рис. 3. Определение версии SLIC-таблицы BIOS
Конечно, вшивка SLIC-таблицы в BIOS — это далеко не единственный вариант возможного моддинга. Другой способ моддинга — это разблокирование некоторых функций BIOS. Действительно, производители материнских плат зачастую преднамеренно блокируют некоторые функциональные возможности BIOS в целях упрощения процедуры настройки Setup BIOS. Отключают они и те функции, которые в конкретной материнской плате отсутствуют, но могут быть задействованы в следующих модификациях.
Используя специализированные утилиты, можно попытаться разблокировать все отключенные функции и опции в BIOS. Кроме того, можно изменить логотипы (некоторые производители материнских плат, например компания ASUS, даже поставляют специальные утилиты для изменения логотипа BIOS), а также некоторые названия, чтобы, например, при загрузке отображалось не реальное название процессора, а чтото типа «AMD Core i9-995».
Можно привести и другой пример моддинга BIOS. Некоторые умельцы умудряются через BIOS разблокировать возможность применения режима SLI для видеокарт NVIDIA на тех материнских платах, где данный режим не предусмотрен. Собственно, если плата официально поддерживает режим SLI, то в ее BIOS есть соответствующий ключ от NVIDIA. Идея моддинга заключается в том, чтобы вырезать этот ключ из BIOS той платы, на которой режим SLI официально поддерживается, и вставить его в BIOS для той платы, на которой режим SLI не поддерживается (то есть в BIOS без ключа NVIDIA). В частности, есть примеры того, как за счет такого моддинга был активирован режим SLI на платах на базе чипсета Intel P45 Express.
Впрочем, перейдем от теории к практике и обсудим редактирование BIOS, в частности редактирование AMI BIOS как наиболее распространенной.
Редактирование AMI BIOS
Для редактирования BIOS с ядром от AMI потребуется утилита AMIBCP, которую, кстати, выпускает сама компания AMI. Эту утилиту можно скачать как отдельно, так и в составе пакета AMI BIOS ROM Utilities. Нужно отметить, что поскольку, как мы уже не раз подчеркивали, производители материнских плат и ноутбуков вносят изменения в AMI BIOS для своих продуктов, то никакой гарантии того, что утилита AMIBCP распознает BIOS, нет. Увы, но далеко не каждую BIOS можно модифицировать. Как показывает практика, без проблем поддаются редактированию BIOS плат ASUS и ECS, а вот в отношении плат компаний Gigabyte и MSI утилита AMIBCP бессильна.
Итак, вернемся к рассмотрению редактирования BIOS в том случае, когда это возможно. Утилита AMIBCP (версия 3.х) запускается из-под операционной системы Windows, но нужно отметить, что имеются варианты этой же утилиты для DOS.
Загрузив утилиты, необходимо открыть файл BIOS. В нашем примере мы рассмотрим редактирование AMI BIOS для системной платы ASUS P6X58D-E с использованием утилиты AMIBCP v.3.37. Редактированию мы будем подвергать файл P6X58DE.ROM.
Итак, в главном окне программы загружаем файл BIOS, который будем модифицировать (рис. 4).
Рис. 4. Главное окно утилиты AMIBCP v.3.37
Прежде всего интересна вкладка Setup Configuration, в которой, собственно, и производится модификация настроек BIOS. В левом окне данной вкладки отображается основное меню настроек BIOS. Если снять галочку с какого-либо пункта меню, то он не будет отображаться в меню BIOS. В рассмотренном примере (см. рис. 4) мы сняли галочки с пунктов Ai Tweaker и Advanced, заблокировав тем самым все возможности для разгона системы. То есть пункты меню BIOS, в которых можно просмотреть информацию о процессоре и памяти, а также поменять частоты, напряжение питания и т.д., просто будут отсутствовать в модифицированной версии BIOS.
Аналогична ситуация при раскрытии древовидной структуры каждого пункта меню настройки BIOS: если снять галочку с какого-либо подпункта, то он не будет отображаться в меню BIOS. К примеру, если мы не хотим, чтобы в меню настроек Advanced отображался пункт Intel PPM Configuration, нужно просто снять с соответствующего пункта галочку (рис. 5).

Рис. 5. Запрещение отображения подпункта Intel PPM Configuration в меню Advanced
Для того чтобы заблокировать какую-либо опцию меню настройки BIOS, достаточно в графе Show для соответствующего пункта установить значение No. Такие заблокированные элементы будут (после сохранения внесенных изменений) выделены зеленой полосой.
К примеру, если в нашей системе не установлены дополнительные вентиляторы в корпусе и мы не хотим, чтобы в BIOS отображались пункты их настроек, то входим в меню Power, далее открываем меню Hardware Monitor и для опций Chassis Fan 1 Speed, Chassis Fan 2 Speed, Chassis Fan 3 Speed, Chassis Q-Fan Profile и Power Fan Speed устанавливаем значение No в графе Show (рис. 6).
Рис. 6. Блокирование отображения в BIOS различных опций меню настройки
Следует отметить, что BIOS P6X58DE.ROM для платы ASUS P6X58D-E какихлибо улучшений с помощью утилиты AMIBCP v.3.37 не допускает. Все опции в ней разблокированы, поэтому максимум, что можно сделать, — это заблокировать то, что не нужно (правда, непонятно, зачем это делать).
Можно также попытаться изменить некоторые надписи, но следует иметь в виду, что на русском языке надписи отображаться не будут. К примеру, если мы хотим, чтобы при загрузке вместо строки ASUS P6X58D-E ACPI BIOS Revision 0106 отображалась строка ComputerPress P6X58D-E BIOS Edition, то достаточно найти строку ASUS P6X58D-E ACPI BIOS Revision 0106 на закладке BIOS Strings и поменять ее на указанную.
Нам осталось рассмотреть еще один вид моддинга BIOS — изменение фоновой картинки (логотипа) BIOS. При этом компания ASUS даже комплектует свои платы специальной утилитой, которая позволяет реализовывать данную возможность. Конечно, для плат ASUS проще всего применять именно эту утилиту. Однако для AMI BIOS можно воспользоваться и утилитой OEM LOGO самой компании AMI (рис. 7).
Рис. 7. Изменение логотипа BIOS с использованием утилиты OEM LOGO
Интерфейс этой утилиты очень прост и не требует комментариев. Достаточно загрузить BIOS и указать путь к файлу с новым логотипом. Единственное ограничение — рисунок должен быть определенного разрешения и формата.
Шьем биос через Atmega328
Пост не призывает к действию, все манипуляции проводите на свой страх и риск.
Был прекрасный тихий вечер.
На улице мороз -30, а я в теплом доме с кружкой чая.
Неожиданно приходит глупейшая мысль «А почему все обновляют биос, а я нет?»
Ну а что же, надо действовать! Опыт какой-никакой!
Качаю прошивку, (msi) завожу через M-Flash, игнорирую табличку «данная версия bios не предназначена для вашего устройства», я же лучше знаю.
Загружаем. иии. получаю кирпич весом в 20 кг.
Тут можно было бы и закончить, отнести в сервис, выслушать всяческие издевательства со стороны сотрудников СЦ, заплатить за восстановление bios, и жить себе спокойно. Но кучерявые волосы на голове нашептали быть в душе Евреем, а значит будем восстанавливать своими руками, но уже завтра.
Разбираем кирпич на части, смотрим:
Flash bios в данном случае это то, на котором желтая бумажка с надписью E7673IMS
Чем шьют bios? SPI программатором.
Но дома только ST-link, USB — UART TTL преобразователь, и куча различных МК.
Черпаем информацию, ага, SPI программатор на Arduino! Где то у меня была одна реплика..
Берем ноутбук своей женщины
Качаем ПО, шьем МК, и подключаем.
В вышеуказанном посте Arduino pro mini, у меня же реплика Arduino nano, распиновка отличается.
+ я запитывал от стабилизатора на 3.3в(а не от 5в, как в посте)
Хотел еще сделать делитель напряжения для понижения логических уровней, но и так сойдет 🙂
Впаиваю огрызки витой пары напрямую в материнку к flash.
Подключаем к ноутбуку, в программе выбираем размер flash(в моем случае 8192 кбайт), качаем на этот раз прошивку для МОЕГО bios, шьем 15 минут.
Пробный запуск. пост прошел!
Подключаем монитор и клавиатуру, повторяем, и.
Кирпич весом 20 кг снова становится рабочей машиной.
Эта история навевает воспоминаниями из детства. где подвигом было поменять настройки в bios, а о прошивке и речи не шло, так как все боялись случайного отключения эл.энергии
А сейчас можно убить, и без проблем восстановить bios, без «мам, пап и кредитов»
Это был мой первый опыт прошивки flash.
Спасибо за внимание, обсудить мою рукожопость можно в комментариях
P.S. Дамп старого биоса я снял перед тем, как всё умертвить, но цель была поставить именно новый
P.P.S. Если работает, не трогайте
6.8K поста 40K подписчика
Правила сообщества
ЕСЛИ НЕ ХОТИТЕ, ЧТОБЫ ВАС ЗАМИНУСИЛИ НЕ ПУБЛИКУЙТЕ В ЭТОМ СООБЩЕСТВЕ ПРОСЬБЫ О ПОМОЩИ В РЕМОНТЕ, ДЛЯ ЭТОГО ЕСТЬ ВТОРОЕ СООБЩЕСТВО:
Посты с просьбами о помощи в ремонте создаются в дочернем сообществе: https://pikabu.ru/community/HelpRemont
К публикации допускаются только тематические статьи с тегом «Ремонт техники».
В сообществе строго запрещено и карается баном всего две вещи:
В остальном действуют базовые правила Пикабу.
Возможно было бы удобнее было подпаяться к разъему JSPI1, а не к самой флешке. А еще лучше — если есть ответная колодка к этому разъему
Ох уж эти очумелые ручки. Как то вырубили свет на этапе Erase, но Мамка реагировала и обращалась к флоппику. Нашёл дискету, написал батничек, запустил. Заработало.
Жилье комфорт класса
👀Обзор Жк 1 Лермонтовский
Застройщик: ДСК-1
Класс жилья: Комфорт
Цены начинаются от 158 775₽ за м2 и доходят до 309 300₽ за м2
Еще больше интересного контента про стройку, экспертизы и приемку квартир Вы можете посмотреть на моем канала MrNadzor
Ванна, туалет. Ремонт в три года
В марте 2020г наконец-то заехали в только что здавшуюся ипотечную квартиру.
Денег на тот момент на ремонт почти небыло. Со съёмной квартиры нужно было срочно съезжать. Что бы не влипнуть на двойную оплату аренды и ипотеки, было принято решение сделать минимальный ремонт в короткие сроки.
Ремонт делал полностью сам. Кроме натяжных потолков и кондиционеров.
На данный момент он почти закончен.
Хочу поделиться самым сложным, дорогим и нелюбимым этапом отделки ванны и туалета.
Начальный бюджет 20тр
Стены все прогрунтовал. Зачем-то обмазал всё бетонконтактом. Опыта ноль +лень искать и спрашивать с чего начать.
Стальную ванну пропенил и подрезал на 10мм (не входила). Напол положил самый дешёвый кривой керамогранит. Сделал подводку канализации и воды.
Всё максимально просто, дёшево и рукожопно.
Прошло два года.
Ремонт за это время был сделан почти везде. Я всяческий оттягивал этот нелюбимый этап.
Зимою 2022г наконец-то появилась финансовая возможность добить этот проект.
Почему проект?
Все два года мы не теряли время с женой. Ругались, мирились и проектировали этот злосчастный "сортир".
Я накапливал теоретический опыт и мучал своих знакомых отделочников.
Не совсем конечно всё получилось гладко. Но уж как получилось, обратного пути нет.
Содрал керамогранит, который постоянно раздражал своим цветом и не практичностью.
Установил инсталяцию. Провёл кривую, но надёжную электрику. Установил двери времянки.
Обшил гкл. Покрасил тех.отсек. Навесил временно унитаз.
Решил сделать скрытую душевую систему. Собрал это чудовище и закрепил на 100 саморезов.
Да, надёжно!
Так как ванна соседствует с туалетом, то нишу под рыльно-мыльное вывел внутрь тех.отсека туалета.
Сделал наливные полы, что бы был один уровень с коридором. Всё покрыл гидроизоляцией.
В качестве напольного покрытия выбрали мазайку.
Замывать затирку с мозайки это ад!
Всё было как в тумане в этот день, но я справился.
Установил постоянные двери. Начинаю стены.
Да, знаю, что последовательность нарушена.
Делал максимально аккуратно и с чательной уборкой после каждого процесса работ.
В стык вклеил 10мм Т-образный порог.
Я не поклонник пробковых и засиликоненных порогов.
Просто, практично.
Уложена плитка макимально по уровню.
Старался максимально соблюдать геометрию.
Так как я не любитель укатывания всех стен в плитку, то принято было решение уложить её почти до половины высоты помещения.
Мне конечно же не терпится. Бегом установил всю сантехнику. Что бы, хоть что-то радовало глаза в этом строительном аду.
В ванне так же всё потихоньку прображается. Да же потихоньку начинает подниматься настроение.
Самое сложное оставил в конце.
Очень боялся начинать. Не торопясь подготовил все плитки к укладке ниши под 45°
Изготовил полочку по центру. Идею подсмотрел у блогеров.
Финал!
Потолок в ванне из гкл, покрытый декоративкой и воском. Установлен тропический душ, вытяжка в центре. От старой аудиостстемы взяты колонки, докуплен усилитель, модуль блютуз и интегрировано в потолок с сетчатыми рамками от вентиляции.
На данный момент ванна сделана полностью на 100%.
В туалете в ближайшее время сам изготовлю дверь инвизибл (скрытого монтажа) в тех.отсек.
Большое зеркало и люминесцентное освещение.
Так же там будут три картины. Тематику пока не выбрали.
Спасибо, если дочитали до конца)
Скоро закончу ремонт на кухне. Он не совсем обычен..
Хотя я его и делал в течении двух лет, но он не такой трудоёмкий как ванна/туалет.
Спасибо, если дочитали до конца)
Внешка, помогите!
Доброго времени суток. Прошу помощи знающих и понимающих людей. Очень нужен совет!
Имеем дом из газобетона, который весной нужно отделать снаружи. Выбор пал на фактурную штукатурку короед. Без утепления. Как происходит этот процесс в идеале и по всем правилам- я в целом знаю. Я так понимаю: грунтовка, штукатурка (хочу с перлитом), (тут по идее ещё раз грунт)армирующий слой с сеткой и сам короед.
Вопрос номер раз: а чем в целом делается армирующий слой? И правильно ли я понимаю и перечисляю все этапы? Как делать правильно?
И вопрос номер два: нам тут один товарищ упорно доказывает, что вообще всегда делает просто грунт+плиточный клей+сетка+ короед. Что-то мне подсказывает, что это не есть гуд. Насколько я права? Или так тоже можно и способ имеет право на существование?
Благодарю заранее.
П.С. не ругайтесь сильно, Я ни разу не строитель))
Гаражное, обыденное
Внезапно, потребовалось перепрессовать всякое. Ценник у сервисменов показался негуманным. За пару часов, дендрофекальным методом, мы с братом сваяли пресс. Вот вам пару фоток. Может кто-то тоже захочет железки пособирать. )
Крик души
Заявка на одном из агрегаторов.
Расстрельный сервис по ремонту техники
Здравствуйте, уважаемые пикабушники, это мой первый пост.
Случилась у меня беда, стала шуметь и подтекать стиральная машинка. Позвонил в сервисный центр с сайтом helpanu точка ру. 19 февраля приехал мастер, Роман (если его зовут так на самом деле). разобрал проверил — говорит подшипники надо менять. Указанная на сайте цена замены подшипника барабана от 3990 (оригинал) 1-2 часа работы, Роман предложил дешевле. Вышло в районе 7т за замену двух. Мастер сказал, что у него нет инструмента надо увозить барабан в сервис. Роман говорил очень грамотно, сказал, что документы предоставит после ремонта и если возникнут проблемы, то его паспортные данные есть у фирмы, можно будет разобраться. А дальше начались отговорки: постоянно по телефону сообщал, что у него то ребенок один следить надо, то крестовина рассыпалась надо еще денег на замену (2 тыс. дополнительно), то бак повредили в процессе и нужно время, то он приезжал с баком и не смог попасть в квартиру, хотя в первый раз спокойно попал точно ко времени, когда надо было прийти за денюжкой на ремонт машинки. Потом он и вовсе сказал, что его уволили (не до конца уверен, что это так, все только с его слов), и фирма должна предоставить нового мастера. После моих частых звонков в фирму сначала со мной связался менеджер назвавший себя Ярослав и сказал, что в течении 3 дней решат вопрос, затем стали сбрасывать звонки. На данный момент 09.03.23 у меня не работает стиральная машинка, деньги за ремонт не вернули.
На сообщения, плохие отзывы отвечают односложно. Одноименная группа вк почти мертвая со старыми и накрученными положительными отзывами. Другие сайты с отзывами проверял (гугл-отзывы, яндекс-отзывы, 2гис и многие другие в том числе указанные у них на сайте), выглядят накруткой.
Не знаю как до них достучаться. Считаю, что подобного рода фирмы не могут продолжать существование в современном мире, развод уровня старых времен. Даже владелец не указан. Прошу помощи у сообщества, сам с подобной наглостью ранее не сталкивался.
Writing my own BIOS
I’m not crazy, just reinventing the wheel 😀
I wrote boot-loaders, mouse & keyboard mini-drivers, mini OS and so on.
I’m always trying to avoid DOS interrupts, using BIOS ones only, trying to go forward a unity mini OS, but suddenly I decided to write my own BIOS 🙂
The Legend said :
I was high-level programmer, then low-level one. One day I’ll be machine-language programmer!
Is a BIOS written in assembly? How can I flash it? What’s the mechanism? Can I start editing my current BIOS?
5 Answers 5
A BIOS can be written in assembly but doesn’t have to be, some parts need to be to get the parameters for the system call since they don’t match the compilers calling convention.
How do you flash it? Varies from motherboard to motherboard, I would start with an open source virtual machine and write a bios for that. Or create a virtual machine where you have written the bios. The mechanism varies from vendor to vendor, generally you boot dos (dos is not dead, it is very much alive in the PC world, esp motherboard development and embedded systems). I wouldn’t mess around with a real motherboard, if you don’t already know the answers to all of these questions you are going to brick a number of motherboards if you take that path.
You can try to take a bios upgrade for your mother board and reverse engineer it (although there is probably a click through agreement that says that you wont). If you figure it out you can both load it and hack at at. I wouldn’t go there, you will brick your system before you figure it out.
Is writing a bios really what you are after? Fairly old school, would be like writing 6502 code for fun. There are many low level problems that are more useful and as interesting.
If you can write asm the writing machine code is not that difficult at all, you could just go do that for fun. x86 is dreadful, you should spend some time learning other systems and their asm and machine code (and writing operating systems for them). ARM dominates the world and doesn’t rely on a bios. I have been told that to get a video card up on a non-x86 system you still have to fiddle something in x86 on the x86 bios, could figure out how to bring up a mainstream video card without the need to run the x86 bios. watch an emulator run the bios and see what it does, figure it out replace that power on init without the bios doing it. Writing an instruction set simulator or disassembler is the next step beyond writing machine code, I wouldn’t waste even a second of time on x86 though, I can suggest a list of alternatives (or you could just play with the simulators I have written or collected).
If an x86 bios is the way you want to go, your best path is to write, replace, or hack on a bios for a virtual machine being qemu, virtualbox, or other. Replacing that bios with yours would likely be replacing a file in some directory or using a command line option to specify an alternate bios. Once you are well experienced in that then if there are still motherboards with legacy bioses on them perhaps you can hack your way into programming one (need to buy several of each type of motherboard as you WILL brick some). With so many embedded systems out there that can be had for $20 to $200 with the same level of experience gained, it doesn’t make sense to hack on a pc motherboard without decent schematics and documentation. You could dig up an original PC with the schematic and bios listing being documented, and the bios being socketed so if yours doesn’t boot (and doesn’t destroy the motherboard) it isn’t a brick you can reprogram or replace the bios chip. Probably want to use a microcontroller to stand in as a fake bios, as finding the right hardware to reprogram more bios chips is perhaps harder to find that working original PC’s. There is an amiga community that is likely a lot more fun and would be happy to have you improving/tweaking their bios, say putting modern hardware behind the legacy system calls.
Какой язык программирования используется для написания программы BIOS?
Как я понимаю, код / битовый поток BIOS, который содержится в ПЗУ, должен быть общим (работать вместе с несколькими типами процессоров или ISA). Кроме того, я увидел упомянутое в сети, что можно сбросить его код (и «разобрать» его).
Итак, на каком языке, в наборе команд или в машинном коде написано? Разве ему не нужен какой-либо процессор для выполнения своих операций? Если да, то я предполагаю, что он будет использовать внешний процессор, тогда как он узнает конкретный набор команд используемого?
Может быть, у него есть внутренний процессор?
БИОСы были написаны исключительно на ассемблере, но переход был сделан давно, чтобы написать большую часть кода на каком-либо языке более высокого уровня, и оставить на ассемблере как можно меньше его частей, предпочтительно только загрузчик, (первые несколько сотен инструкций, к которым процессор переходит после запуска / сброса) и все подпрограммы, связанные с конкретными особенностями базовой архитектуры.
BIOS уже писались в основном на C еще в начале девяностых. (Я написал BIOS на 90% C, сборка 10% в начале девяностых.)
Что также очень помогло в этом направлении:
Библиотеки C, предназначенные для конкретной архитектуры и включающие функции для работы с особенностями этой архитектуры, например, функции для чтения / записи байтов в / из портов ввода-вывода архитектуры x86. Microsoft C всегда предлагал библиотечные функции для такого рода вещей.
Компиляторы C, которые не только нацелены на конкретную архитектуру ЦП, но даже предлагают расширения для языка С, которые можно использовать для написания кода, использующего специальные функции ЦП. Например, архитектура x86 поддерживает вещи, известные как прерывания, которые вызывают подпрограммы, известные как обработчики прерываний, и требует, чтобы они имели специальные последовательности команд входа / выхода. С самого начала Microsoft C поддерживал специальные ключевые слова, которые можно было использовать для обозначения функции как обработчика прерываний, чтобы она могла вызываться непосредственно прерыванием ЦП, поэтому вам не нужно было писать для нее какую-либо сборку.
В настоящее время я предполагаю, что большая часть BIOS написана на C ++, если не на каком-либо языке более высокого уровня.
Подавляющее большинство кода, составляющего BIOS, относится к конкретному аппаратному обеспечению, поэтому его не нужно переносить: гарантируется, что он всегда будет работать на одном и том же типе CPU. Процессор может развиваться, но пока он поддерживает обратную совместимость с предыдущими версиями, он все еще может работать с BIOS без изменений. Кроме того, вы всегда можете перекомпилировать части BIOS, написанные на C, для естественной работы на любом новом процессоре, который появится, если возникнет такая необходимость.
Причина, по которой мы пишем BIOS на языках более высокого уровня, чем на ассемблере, заключается в том, что писать их проще, а не потому, что они действительно должны быть переносимыми.
Хотя теоретически можно писать BIOS на любом языке, современная реальность заключается в том, что большинство BIOS пишется с использованием Assembly, C или их комбинации .
BIOS должен быть написан на языке, который может компилироваться в машинный код , понятный физическому аппаратному компьютеру. Это устраняет языки с прямой или промежуточной интерпретацией (Perl, Python, PHP, Ruby, Java, C #, JavaScript и т. Д.) Как подходящие для написания BIOS. (Хотя, теоретически, можно реализовать один из этих языков либо для прямой компиляции в статический машинный код, либо встроить интерпретатор в BIOS. Например, есть проект GCJ для Java, созданный на основе программного обеспечения).
Большинство OEM-производителей внедряют BIOS, расширяя проприетарные, универсальные реализации BIOS такими компаниями, как American Megatrends и Phoenix Techologies . (Вероятно, вы уже видели одну из этих компаний, отображенную на первом экране загрузки компьютера.) Исходный код для этих реализаций не является общедоступным, но некоторые из них утекли. Я не хочу ссылаться на это непосредственно на C и исходный код сборки, но в Интернете есть места, где обсуждается этот исходный код для тех, кто хочет заглянуть.
Некоторые производители оборудования, например производители, ориентированные на высокопроизводительные и игровые рынки, насыщают свои реализации BIOS функциями настройки, статистикой и привлекательными пользовательскими интерфейсами, разработанными для их точных реализаций. Многие из этих функций выходят за рамки того, что предлагается в универсальных продуктах, выпускаемых American Megatrends и другими. К сожалению, эти компании часто рассматривают выпуск своего исходного кода как угрозу безопасности , поэтому об этих реализациях высокого уровня известно мало, потому что о них мало что известно. Конечно, можно найти способы доступа и декомпиляции таких реализаций BIOS, но это может быть трудным и, возможно, незаконным.
Возвращаясь к первоначальному вопросу, из-за необходимости создавать собственный машинный код, BIOS должен быть реализован на языке программирования, поддерживаемом компилятором машинного кода . Хотя таких языков много, и хотя я уверен, что за последние несколько десятилетий в экспериментах использовалось несколько языков, каждая открытая реализация BIOS, которую я смог найти, специально основана на комбинации C и / или сборки. Реализации BIOS с открытым исходным кодом, на которые я смотрел, чтобы сформировать этот вывод, включают OpenBIOS , tinyBIOS , coreboot , Intel BIOS и Libreboot, Я также рассмотрел некоторые очень старые реализации BIOS, которые не актуальны сегодня, но также следовали правилу C и / или сборки.
Я думаю также уместно взглянуть на другое программное обеспечение, созданное для непосредственного взаимодействия с оборудованием. Мы знаем, например, что ядро Linux , то OS X ядро и ядро Windows , в основном C с некоторой сборкой и некоторыми высокоуровневыми языками для выполнения конкретных задач. Мы также знаем, что аппаратные драйверы для Linux и аппаратные драйверы для Windows написаны в основном на C.
Возвращаясь к BIOS, я думаю, что также важно учитывать экономику выбранного языка программирования. BIOS обычно пишется как необходимость дополнять продажи оборудования. Известно, что современные системы BIOS в основном написаны на C и / или на ассемблере. Переход к другому инструменту привел бы к значительным затратам к тому, что обычно считается товарной продукцией, что может очень негативно повлиять на продажи. Не вдаваясь в экономику 101, я могу заверить вас, что, возможно, ОЕМ-изготовителю не стоит отказываться от проверенных временем инструментов, проверенных десятилетиями.
Конечно, есть и будут проекты для любителей писать BIOS. Похоже, что они тоже до сих пор выбирают C и / или сборку. Возможно, однажды будут использованы другие технологии. Но сегодня выбор четко определен.