Award bios editor как пользоваться
Привет! Работая в сервисных центрах возникают моменты, когда нет доступных деталей или цена на их покупку чрезмерно высока. Если это касается замены микросхемы графического процессора (видео чипа), тут возможен вариант с установкой альтернативы. BIOS ноутбука может содержать поддержку этой микросхемы, а может и нет. В случае отсутствия поддержки и при условии электрической совместимости устанавливаемой микросхемы, возможна модификация с целью добавления поддержки. Разумеется процесс этот очень тонкий и с большой долей вероятности тут необходимо проявлять смекалку при подходе к каждому конкретному ноутбуку. С первой попытки может не получиться подружить конкретный BIOS, с конкретной микросхемой. Также надо быть готовым к тому, что все таки придется искать оригинальную микросхему.
Теория.
Электрическая совместимость устанавливаемой микросхемы подразумевает:
- аналогичный тип корпуса, порядок и расположение контактов;
- совместимое рабочее напряжение;
- ширина шины памяти (разрядность), если таковая имеется;
- наличие всех распаянных элементов на плате, для работы устанавливаемой микросхемы;
- соответствие эффективности рассеивания тепловой энергии системой охлаждения ноутбука и TDP (Thermal Design Power) устанавливаемой микросхемы.
Помимо электрической совместимости, необходимо выяснить производителя исходного кода микропрограммы BIOS. Это важно, так как инструменты и приемы работы могут быть разными в каждом из производителей или содержать нюансы.
Непосредственные производители ноутбуков, будь это Compal, Quanta, Asus, Samsung, Clevo, Foxconn. Так и их ODM (original design manufacturer) заказчики, такие как: HP, Dell, Lenovo, Acer и другие. Используют за основу BIOS, готовые исходные коды и вносят в них индивидуальные для каждого ноутбука настройки, поддержку оборудования, необходимые функции.
Наиболее популярные производители исходного кода микропрограмм BIOS:
- Phoenix Technologies;
- Insyde Software;
- American Megatrends;
- устаревший Award Software, компания теперь в составе Phoenix Technologies;
Определив производителя исходного кода BIOS подбираются соответствующие инструменты и приемы. В случае модификации Inside с целью добавления поддержки устанавливаемой микросхемы, я использую следующий набор программ:
- Phoenix Tool (Для разборки на отдельные модули);
- UEFI tool (Для поиска модуля Platform);
- HxD (Редактор Hex);
- Total Commander (многофункциональный файловый менеджер для поиска файла по Hex значению);
Кстати, установка драйверов в операционных системах Windows, использует такие же методы идентификации устройств. Поэтому для определения аппаратного ID устройства в среде Windows, достаточно открыть Диспетчер устройств, в нем открыть Свойства интересующего устройства. В открывшемся диалоге перейти на вкладку Сведения и в списке Свойства, выбрать ИД оборудования. И в поле Значение, будет представлен аппаратный идентификатор аналогичный используемому в микропрограмме BIOS.
Аппаратный ID может быть представлен в 2 формах порядка записи байтов big-endian и little-endian. Что же это за формы такие, разберем кратко ниже.
На этом закончу теоретическую часть, в ней мы разобрались с аппаратными идентификаторами и производителями микропрограмм. Поняли что будем менять, с помощью чего и где.
Модификация BIOS на практике.
Перейдем к делу! В качестве подопытного у нас выступит Toshiba L300D на базе платформы Inventek 6050A2175001-MB-A02_PHOENIX-SACRAMENTO 10A PLUS (PS10AP). Служил хозяину верой и правдой с 2009 года, но ничего не вечно. И после очередного выключения, больше не запустился. После диагностики была выявлена неисправность северного моста 216-0674024. Взамен точно такой же не нашел, решено было поставить новый, более доступный 215-0674028.
Естественно прямая замена 216-0674024 (0x9613) на 215-0674028 (0x9610), здесь недоступна, ввиду использования встроенного в северный мост видео ядра. Имеющего другой аппаратный идентификатор. И в данном случае необходима модификация BIOS, с целью замены одного идентификатора, другим. Там, где эти идентификаторы упоминаются.
Сразу оговорим общие принципы действий. На тематических форумах можно встретить упоминания о полной замене модуля содержащего код для работы с видео чипом (описывающего его работу, в народе VideoBIOS). Кто-то это делает бездумно, кто-то просто пробует разные варианты и иногда это имеет положительный результат. Так вот, на моей личной практике установлено. Полная замена модуля требуется в случае кардинального отличия устанавливаемой микросхемы от той, что была установлена. То есть аппаратно различные ядра (не путать с маркетинговыми названиями типа Radeon HD3200). Или неспособности устанавливаемой микросхемы работать в режиме описываемом в модуле, например высокая тактовая частота.
На конкретном примере, замена модуля не требуется. Режимы описываемые модулем идентичны номинальным режимам работы чипа. Даже маркетинговое название одно и тоже HD3200.
Прежде всего нам необходимо распаковать BIOS. Для этого можно использовать несколько программ, но мы рассмотрим наиболее дружелюбную на мой взгляд, это Phoenix Tool. В моем случае это версия 2.66. Запускаем программу и открываем файл прошивки.
После распаковки BIOS на модули, в папке где у нас была оригинальная прошивка появится дополнительная папка DUMP. В ней содержатся все модули, с этой папкой мы и будем работать. А пока, ничего не трогая в этой папке, настраиваем программу на замену модулей.
В списке Manufacturer выбираем Other. Ведь используем программу не для добавления SLIC. Затем кнопку Advanced, появится предупреждение о возможном вреде, нажимаем Да. Далее откроется диалог с настройками программы.
Ставим 2 галочки Allow user to modify other modules и No SLIC, затем кнопку Done.
Для изменения необходимых модулей, в папке DUMP ищем модули с упоминанием Hex значения 0210 1396. Удобнее всего это делать через Total Commander, переходим в папку DUMP, затем Команды, Поиск файлов. В открывшемся окне ставим галочку на пункте С текстом, и HEX-код. В поле вписываем значение которое будем искать по всем модулям, в нашем случае это 0210 1396. И нажимаем кнопку Начать поиск, программа выполнит поиск указанного HEX-кода в файлах модулей.
В поле Результаты поиска выйдет список файлов, в которых найдены соответствия. Из указанного списка, редактированию подлежат файлы с расширением .ROM, таких у нас получилось три, но их может быть и больше. Копируем в отдельную папку для удобства, например в папку MOD, созданную рядом с папкой DUMP. Программу Total Commander можно закрыть, она больше не пригодится.
Теперь мы имеем папку с тремя файлами модулей в которых есть упоминание указанного аппаратного ID. Для их редактирования используем программу HxD Editor. Открываем этой программой все три модуля, находим значения, которые необходимо заменить. Для этого нажимаем Поиск, потом Найти. В открывшемся диалоге в поле Искать пишем значение 0210 1396, а раскрывающемся списке Тип данных выбираем вариант Шестнадцатеричные значения и кнопку OK.
Все найденные совпадения необходимо заменить на 0210 1096 (что соответствует микросхеме 215-0674028), то есть вместо 3 вписываем 0. Повторяем эту процедуру для всех файлов. Внимание! В модулях может быть найдено несколько раз встречаемое совпадение, все их надо поправлять, а модуле размером 59 КБ (модуль VideoBios), дополнительно надо корректировать контрольную сумму на ту которая была до изменения. Для этого я обычно играюсь с текстовыми значениями, например дата или версия Video BIOS. Сохраняем все изменения, а модифицированные модули копируем с заменой из папки MOD, в папку DUMP.
Пробуем прошивать аппарат и проверяем. Если ноутбук заработал и вывел изображение, могу поздравить с успешной модификацией!
Для этого открываем ранее собранную прошивку программой UEFITool и ищем модуль содержащий текст описания Platform или PCI Platform.
Щелкаем на нем правой кнопкой мыши и выбираем пункт Extract body. В открывшемся окне указываем имя и путь сохранения файла. Назовем его к примеру Edit Platform и сохраним в папку MOD.
Не закрывая программы, открываем созданный файл Edit Platform в программе HxD. Ищем уже более короткое указание аппаратного ID, в моем случае 1396. У меня было найдено 2 совпадения и я их заменил на значение 1096 что соответствует микросхеме 215-0674028. Сохраняем изменения и закрываем программу.
Переходим обратно в программу, щелкаем на модуле Platform правой кнопкой мыши и выбираем Replace Body. Указываем путь и имя файла который редактировали в HxD. Нажимаем Открыть.
Результатом действий должно получиться что-то типа такого, смотрите на иллюстрации ниже.
Прошиваем ноутбук доработанной прошивкой и любуемся успешным результатом. Мне данный способ помог не один раз. Попробуйте и вы!
Заключение.
Статья получилась, не маленькая . В статье описано множество действий и что самое смешное, это не гарантия того, что все получиться. И тут можно добавить еще варианты замены модулей и прочее. Но в целом алгоритм модификации становится понятным. А дальше, только эксперименты. Если у вас есть что добавить или вы обнаружили неточности, ошибки в статье. Указывайте, исправлю! Удачных модификаций!
Попробуем разобраться. Чтоб не опростоволоситься, нужно чётко знать две вещи: как устроен биос, что делать и чем.
Для начала – «чем» – инструментарий:
Сначала кратко, но достаточно точно рассмотрим основные части биоса. Он состоит из двух главных частей:
Содержание
В его функцию входят самые первые шаги по инициализации регистров чипсета и распаковка главной части в память для последующего исполнения. При несовпадении подсчитанной контрольной суммы биоса он же (BB) запускает программу аварийного восстановления биоса (с дисковода).
Главный исполняемый код. Состоит из нескольких «модулей» и хранится в запакованном виде как архив LHA с немного изменёнными заголовками (не принципиально для нас). Как правило, используются следующие названия для составных частей (модулей) этого «архива» (детально можно посмотреть с помощью утилиты cbrom):
-
original.tmp – главная часть, всегда размером 128k, она нас и интересует. Именно в ней происходит вся инициализация компьютера, в ней же подпрограмма BIOS Setup</div>
Другие встречающиеся части:
- cpucode.bin – таблица микрокодов для Intel-процессоров (PPro, P2/P3/P4, Celeron)
- acpitbl.bin – подпрограмма поддержки ACPI
Так же, бывает, попадаются всякие VGA.rom (при интегрированном видео), logo.bin и др., что есть либо не принципиально, либо банально-понятно. Названия могут меняться производителем, но по смыслу-размеру-названию всегда можно догадаться.
Рецепт 1 (описан в интернете).
Если мы выберем в modbin верхний пункт «Update File», то «временный» файл original.tmp запаковывается назад в файл биоса. Напрашивается простое решение: если это сделать (открыть файл биоса в modbin) из-под винды, а потом просто переключиться по Alt-Tab в любой другой файлменеджер (VC, Explorer, Far и т.п.) – то у нас появится возможность внести любые изменения в original.tmp. Сделав, что нужно, переключаемся назад в modbin и тискаем “update”. modbin берёт исправленный нами original.tmp и сам запаковывает его в биос. Всё – радуемся. (Особенно, ежели после перешивки исправленная версия заработает:)
Однако описанный способ имеет важный недостаток – он не позволяет исправлять второй сегмент, т.е. можно менять лишь первые 64k – 00000-0FFFFh. Просто во вторых 64k лежат изменяемые модбином всякие регистры, потому он вторые 64k заменяет «своими», и все изменения по адресам 10000-1FFFFh игнорируются. Этого недостатка лишён второй способ. Кроме этого, в отличие от первого, здесь всё делается под «голым» ДОСом, а также можно распаковать и изменить любой «модуль».
Рецепт 2 (©apple_rom;)
Придётся чуть более подробно поговорить о структуре биос. Как было сказано выше, биос представляет собой архив. Но правильнее и точнее – это последовательность заархивированных с помощью LHA файлов с bootblock-ом в конце. Он (bootblock), конечно же, не заархивирован, т.к. именно он и распаковывает все эти «модули» в оперативную память. В применении к конкретными адресам структура примерно такова:
* - адреса могут отличаться, т.к. бывают прошивки с разными по величине бутблоками.
Теперь о том, что представляет собой заголовок LHA-архива. Мы не будем вникать в подробности, а лишь отметим те моменты, которые нам помогут точно определить его начало (ведь все «модули» идут друг за другом «без пробелов»). Зная адрес начала каждого модуля, мы будем знать, соответственно и его конец. Начало любого файла, заархивированного с помощью LHA, выглядит примерно так: "%•-lh5. ". Главный и постоянный отличительный признак здесь – “lh5”, эти три символа присутствует всегда. Три символа левей “lh5” – и есть начало. Т.е. просто введя несколько раз подряд поиск “lh5” мы запросто вычислим вышеуказанные xxxxx+1 (отнимая тройку от адреса найденного “lh5”), yyyyy, zzzzz… Разберём на конкретном примере - прошивка для платы Zida 5SVA v.1.4:
Тут и так понятно, начало файла заархивированного original.tmp – 00000. Ищем следующее “lh5”:
00014DD0: 39 0B F8 01-C1 E8 07 61-FA 50 00 <i>B9</i><i>-25 73 2D 6C 9♂°☺┴ш•a•P ╣%s-l 00014DE0: 68 35 2D 79-02 00 00 42-06 00 00 00-00 02 40 20 h5-y☻ B♠ ☻@ 00014DF0: 01 0C 41 57-41 52 44 45-50 41 2E 42-49 4E 29 49 ☺♀AWARDEPA.BIN)I
Как видно, дальше идёт файл заархивированной картинки EnergyStar – AWARDEPA.BIN. Он начинается с адреса 14DDCh. Соответственно, файл заархивированного original.tmp – 0-14DDAh. На байт 14DDBh (CRC) не обращаем внимания, его позже пересчитает и установит сам modbin.
00015070: 0F 68 CF 55-8F 4F 88 8C-9B 96 B5 80-00 25 B3 2D ☼h╧UПOИМЫЦ╡А %│- 00015080: 6C 68 35 2D-E1 1D 00 00-98 2B 00 00-00 00 00 41 lh5-с↔ Ш+ A 00015090: 20 01 0C 61-77 61 72 64-65 78 74 2E-72 6F 6D 51 ☺♀awardext.romQ
Нашли по адресу 1507Dh начало awardext.rom. Получается, AWARDEPA.BIN – 0-14DDCh. Кстати, как уже заметно, последний байт LHA-архива всегда “00”.
0001E860: 8E D8 8E C0-66 BE 00 00-0E 00 67 66-81 7E 02 2D О╪О└f╛ ♫ gfБ
☻- 0001E870: 6C 68 35 74-07 66 81 CE-00 00 F0 FF-66 BF 00 00 lh5t•fБ╬ Ё f┐ 0001E880: 01 00 66 B9-00 80 00 00-67 F3 66 A5-0F 20 C0 24 ☺ f╣ А gєfе☼ └$
Последнее найденное “lh5” отбрасываем, так как видно даже по адресам, что это область бутблока. Чтоб найти конец awardext.rom, просто пролистываем прошивку после предпоследнего “lh5” до начала пустого места (заполнено “00” или “FF”).
00016E70: 11 85 2A F7-D0 82 2D 90-76 0A E6 27-39 FB FC 17 ◄Е*ў╨В-Рv◙ц'9√№↨ 00016E80: 5B EC 16 B0-C0 00 FF FF-FF FF FF FF-FF FF FF FF [ь▬░└ 00016E90: FF FF FF FF-FF FF FF FF-FF FF FF FF-FF FF FF FF
Т.е. с 16E86h начинается пустое место, значит awardext.rom – 1507D-16E85h.
Если записать найденные куски кода в файлы, дать им расширение “*.lha”, то с помощью LHA (или любого другого «современного» архиватора) сможем их разархивировать и получить нужные нам файлы для просмотра/правки.
Теперь, подробно зная «скелет» прошивки нам не составит труда её разобрать и собрать. После наших (ваших;) исправлений, отредактированный файл original.tmp запаковываем с помощью LHA (название архиву можно дать любое). В конец полученному “*.lha”-файлу дописываем предварительно сохранённый кусок кода 14DDB-16E85h, т.е. все остальные «модули» (в т.ч. байт CRC), кроме original.tmp. Это можно сделать с помощью любого hex-редактора или, например, выбрав “Append” вместо “Overwrite” в WindowsCommander-е. Таким образом получим новый «слепок» заархивированных «модулей». Его и записываем в начало файла прошивки (поверх имеющегося). Конечно, после наших действий изменится контрольная сумма, поэтому для того, чтоб пересчитать/перезаписать CRC полученной прошивки, просто открываем её в модбине и, ничего не изменяя, нажимаем “Update File”. Если модбин при открытии не «возмутится», значит, всё было проделано правильно.
Мы рассмотрели алгоритм замены для 1Mbit-ных (128kB) биосов. Для 2Mbit- ных всё ещё проще, т.к. original.tmp лежит отдельно от других модулей:
* - адреса могут отличаться, т.к. бывают прошивки с разными по величине бутблоками.
И значит, не надо дополнительно мучаться с оставшимися «модулями» - заархивированный LHA модуль original.tmp записываем по адресу 20000h в нашу прошивку (поверх, конечно) и для пересчёта CRC «пересохраняем» (“Update File”) в модбине.
BootBlock, располагающийся в самом конце биоса, как уже говорилось, не запакован (ведь кто-то должен всё распаковывать:). Поэтому с правкой тут особых проблем нет – берём любой hex-редактор и правим. CRC считается вплоть до 17FFFh для 1M-bit и 37FFFh для 2M-bit, так что если вы исправили что-то по более старшим адресам, обновлять CRC не нужно.
Примечание для программистов: не забывайте – в бутблоке не используется стэк (он на первой стадии инициализации запрещён), поэтому для исполнения своих подпрограмм пользоваться указателем sp «вручную». Как? – проще взглянуть на любой кусок кода оттуда от любой прошивки и станет понятно.
BIOS-моддинг таит в себе практически неограниченные возможности: экстремальный разгон системы, разблокирование скрытых возможностей, исправление ошибок разработчиков, украшения на свой вкус – это высший пилотаж хакерства, требующий знания железа и умения держать дизассемблер в руках. Это дремучий лес, в котором очень легко заблудиться, но я покажу вам кратчайший путь.
Если процессор – это сердце компьютера, то BIOS – его душа. Качество прошивки определяет все! К сожалению, качественные прошивки в живой природе встречаются достаточно редко. Разработчики допускают грубые ошибки, блокируют многие полезные возможности, в общем, по отношению к потребителю ведут себя нехорошо. Древние модели материнских плат, выпущенные до 2000 года, зачастую вообще не имеют свежих прошивок и с новым оборудованием (например, жесткими дисками большого объема) они уже не работают, а ведь могли бы…
Многие качественные материнские платы умышленно препятствуют разгону, имеют скудный диапазон допустимых значений или слишком грубый шаг их изменения. Разумеется, очень многое зависит и от «железной» части, но без правильной прошивки – никуда! В сети можно найти множество улучшенных прошивок, модернизированных энтузиастами, однако все они ориентированы на вполне конкретную модель материнской платы (как правило, уже устаревшую), и раздобыть прошивку для своего оборудования весьма затруднительно, к тому же нет никаких гарантий, что под видом «улучшенного» BIOS вам не подсунут заживо похороненную или, что еще хуже, умышленно троянизированную версию.
А моддинг? Разве не заманчиво заставить компьютер перемигиваться клавиатурными огоньками во время загрузки или выводить красочный логотип на экран?! Одним словом, модифицировать BIOS не только можно, но и нужно. Главным образом мы будем говорить об Award BIOS. В AMI все сильно по-другому… Однако когда-нибудь мы доберемся и до них. Кстати говоря, фирма Award была выкуплена Phoenix и в настоящее время существует только как бренд. А это значит, что последние версии Phoenix-BIOS устроены точно так же, как и Award, поскольку их разрабатывает одна и та же фирма, правда, на старые прошивки это утверждение не распространяется. Впрочем, существуют готовые редакторы и для них, но не будет заострять внимание на мелочах, а сразу перейдем к делу.
Что нам понадобится
Для экспериментов нам потребуется материнская плата с Award-BIOS на борту. Опознать микросхему BIOS очень легко – на ней обычно наклеена голографическая этикетка, которую необходимо оторвать, чтобы обнажить маркировку. Маркировка представляет последовательность цифр наподобие «28F1000PPC-12C4».
Для «горячей» замены BIOS (т.е. выдергивания микросхемы с работающей платы) русские умельцы аккуратно обвязывают микросхему нитками, а затем осторожно тянут вверх (можно, конечно, просто подковырнуть отверткой, но при этом легко что-то закоротить), а вот иностранцы после эпидемии «чиха» придумали специальные приспособления – chip extractor (съемщик чипов) и BIOS savior (BIOS-спаситель). По сути дела, это одно и то же приспособление, только торговые марки разные. Приобрести их можно в радиомагазинах или заказать по Интернету (см. рис. 1-6).
Рисунок 1. Микросхема Award BIOS с традиционной голографической наклейкой, по которой её легко определить
Рисунок 2. Набор BIOS Savior kit для безопасного извлечения микросхемы BIOS с материнской платы и «кроватка»
для резервного BIOS с переключателем, устанавливаемым на заднюю панель
Рисунок 3. Положение рук при съемке микросхемы
Рисунок 4. Установка «кроватки» с двойным BIOS – снизу оригинальная микросхема, сверху – экспериментальная
Рисунок 5. Двойной BIOS в собранном состоянии
Рисунок 6. Переключатель, отвечающий за выбор между оригинальным (ORG) и экспериментальным (RD1) BIOS
Еще нам потребуется документация на чипсет материнской платы. Компании Intel и AMD бесплатно выкладывают все, что нужно на сайт. Другие производители (VIA, SiS) держат документацию под спудом и отдают только за деньги плюс подписку о неразглашении. В частности, на дисках, рассылаемых компанией AMD, встречается много интересной документации со штампом «confidential», пролистывая которую, ощущаешь волнующее чувство причастности к тайне.
Комплект утилит для прошивки BIOS можно найти на сайте разработчика конкретного BIOS или производителя материнской платы. Некоторые производители (например, ASUS) вносят в BIOS большое количество изменений, в результате чего «родные» утилиты от Award перестают с ними работать и приходится использовать инструментарий, поставляемый вместе с материнской платой. Обычно там содержится:
- awdflsh.exe – «прожигатель»;
- modbin – простой редактор BIOS;
- cbrom – просматривает содержимое BIOS и добавляет новые модули в прошивку.
Как мы будем действовать
Модификация BIOS – очень рискованное занятие. Малейшая ошибка – и система отказывается загружаться, выдавая унылый черный экран. Большинство современных материнских плат снабжено защитой от неудачных прошивок, однако обычно она срабатывает лишь тогда, когда BIOS действительно поврежден (например, не соответствует контрольная сумма).
Насколько такая процедура безопасна? По правде говоря, опасности нас подстерегают на каждом шагу. Микросхема может выскользнуть из рук и упасть на плату, малейшая ошибка в прошивке может вывести оборудование из строя (например, переключить стабилизатор на повышенное напряжение, выбрать слишком большую тактовую частоту и т. д.). До приобретения боевого опыта лучше всего экспериментировать над старыми материнскими платами, которые все равно идут в утиль (например, Pentium-155).
Запускаем Award BIOS editor (кстати говоря, он запускается только из-под GUI, а под FAR просто «слетает»), в меню File выбираем файл с прошивкой, которую мы будем модифицировать (предварительно ее необходимо скачать с сайта производителя или запустить AWDFLASH.EXE с ключом /sy, чтобы сохранить текущую прошивку в файл). В левой колонке выбираем пункт «System BIOS» и смотрим, что хорошего тут можно изменить. А изменить тут можно очень многое! Например, имя BIOS, высвечивающееся при загрузке (в моем случае это: Award Modular BIOS v6.00PGN), дату выхода и название чипсета (03/29/2001-i815-W83627F-6A69RI3DC-00) и другие идентификационные строки подобного типа. А давайте напишем «assembled at military-industrial USA factory», чтобы потом подшучивать над приятелями (см. рис. 7).
Рисунок 7. Award BIOS editor, готовый к модификации текстовых строк, отображающихся при загрузке системы
Точно так же можно заменить все надписи в «BIOS Setup» (они находятся во вкладке «BIOS Options») и отредактировать значения по умолчанию (те самые, что загружаются по команде «load default BIOS configuration») под свой вкус. Наибольший интерес представляют пункты, помеченные как «Disabled». Это и есть опции, заблокированные производителем! Простым переводом радиокнопки в состояние «Active» мы разблокируем их! Разумеется, никакой гарантии, что система после этого заработает, у нас нет. Чаще всего блокируются недоделанные или нестабильно работающие режимы и возможности. Реже – производитель просто не хочет, чтобы материнские платы начального уровня конкурировали с дорогими моделями, вот и тормозит их. Нестабильно работающая материнская плата способна разрушить содержимое жесткого диска еще в процессе загрузки Windows, поэтому экспериментировать на своем рабочем винчестере недопустимо! Используйте запасной жесткий диск, на котором нет ничего ценного. Запустите несколько тестирующих программ и дайте им поработать несколько суток. Если за это время не произойдет ни перезагрузок, ни зависаний, можно переходить на основной жесткий диск, на всякий случай, предварительно зарезервировав его содержимое (см. рис. 8).
Рисунок 8. Разблокирование заблокированных возможностей в «BIOS Setup» в Award BIOS editor
А хотите изменить логотип, высвечивающийся в северо-восточном углу экрана? Это совсем несложно сделать. Старые BIOS хранили картинку в секции «LOGO» в нестандартном формате, условно называемом logo-форматом. С ним была связана куча ограничений, и требовался специальный конвертор, иногда прилагаемый к материнской плате, но чаще его приходилось писать самостоятельно.
Сейчас же секция «LOGO» в большинстве случаев пуста, а картинка хранится в секции «EPA pattern» в стандартном BMP-формате. Ограничений на размер и глубину цветности нет никаких, однако не все BIOS поддерживают слишком большие и цветастые картинки. Что произойдет, если подсунуть BIOS картинку, которую он не в состоянии обрабатывать? Ничего страшного! Система либо откажется выводить ее на экран или выведет с искажениями. Чтобы не попасть впросак, рекомендуется отталкиваться от уже существующей картинки: извлекаем оригинальный логотип в файл (в Award BIOS Editor за это отвечает команда «Export as Windows BMP»), загружаем его в Paint и правим в свое удовольствие без изменения глубины цветности и размеров. Один из примеров такой работы приведен ниже.
При желании можно зашить в BIOS полноэкранный логотип, высвечиваемый при загрузке. Этим занимается одноименная утилита от Award, входящая в штатный комплект поставки многих материнских плат ASUS. Однако в некоторых BIOS задержка вывода полноэкранного логотипа столь мала, что ряд CRT-мониторов просто не успевают прогреться за это время! Но ведь не переходить же ради этого на LCD-монитор? Разумеется, нет! Достаточно найти величину задержки в настойках BIOS и увеличить ее! А для этого нам вновь пригодится Award BIOS editor (см. рис. 9).
Рисунок 9 . Изменение стандартного логотипа, выводимого при загрузке на экран
А вот еще один трюк. Запустив уже упомянутую утилиту BP.EXE с ключом /c, мы сможем вручную задать имя процессора, высвечивающееся при загрузке, и его тактовую частоту. Реальная тактовая частота отображаться уже не будет. Почему бы не написать «AMD Pentium-V 666 GHz beta» и не похвастаться перед друзьями?
Да много чего можно придумать! В умелых руках BP.EXE и Award BIOS editor творят настоящие чудеса! Как бы там ни было, после всех издевательств прошивка должна быть залита в BIOS. О том, как это сделать, можно прочитать в документации на материнскую плату (см. рис. 10).
Рисунок 1 0 . Прожигание BIOS специализированной утилитой от ASUS
Конфигурирование чипсета осуществляется специальными регистрами, доступными через шину PCI. При загрузке системы BIOS настраивает процессор, контроллер системной шины, контроллер оперативной памяти и всю прочую периферию в соответствии с настройками, выбранными в «BIOS Setup». Однако практически ни один BIOS не дает доступа ко всем настройкам чипсета или умышленно ограничивает диапазон доступных значений. Как быть, что делать?
Сравнение конфигурационных возможностей чипсета с BIOS Setup показывает, что часть настроек в ней отсутствуют. Даже в заблокированных возможностях (о которых мы уже говорили выше) их нет! В частности, мой любимый AMD 761 поддерживает намного больший диапазон таймингов, чем указано в BIOS Setup. Взять хотя бы величину tPR (time to precharge), определяющую время закрытия DRAM-страницы, в процессе которого происходят возврат данных в банк памяти и его перезарядка. По умолчанию BIOS ставит 3 такта и не дает его изменять. Чтобы сократить tPR до 1 такта, необходимо модифицировать 8 и 7 биты регистра Dev 0:F0:0x54, присвоив им значение 2 («10» в двоичной нотации). Остальные биты не трогать! А как это сделать? Необходимо наложить маску (mask), которая в данном случае будет выглядеть так: «XXXX XXX1 1XXX XXXX». Как видно, 8 и 7 биты установлены в единицу, остальные помечены знаком «Х», указывающим BIOS, что данный бит необходимо оставить без изменений (см. рис. 11).
Рисунок 1 1 . Страничка из документации на чипсет, описывающая конфигурационные регистры
Запись «Dev0:F0:0x54» обозначает: Device 0:Function 0:Register 0x54. На самом деле этих регистров целых два. Регистр 0x54 хранит младшую, а 0x55 – старшую половину слова. Следовательно, в 0x54 необходимо занести 80h («10.00.00.00»), а в 0x55 – 01h. Соответственно в первом случае маска будет равна 80h («1X.XX.XX.XX»), а во втором 01h.
Возвращаемся к Award BIOS Editor, находим регистр с номером 0x54 и, кликнув правой клавишей мыши, выбираем пункт «modify». В появившемся окне первые три поля (Register, PCI, PCI) оставляем без изменений (это номер регистра, устройства и функции), а вот с двумя последующими полями «Resister» и «Value» придется разобраться особо. Мы не можем просто взять и записать значение 0x80, поскольку в этом регистре уже хранятся какие-то параметры, модифицирующие остальные поля. Мы должны устанавливать лишь «наши» биты (в данном случае это бит 7), а над остальными выполнить операцию логическое «OR» по маске. Аналогичным образом настраивается и регистр 55h (см. рис. 1 2 ).
Рисунок 1 2 . Разгон системы при помощи редактирования конфигурационных регистров
Залив обновленную прошивку в BIOS и установив качественные модули памяти, мы с удовлетворением замечаем, что быстродействие системы ощутимо возросло, особенно на операциях хаотичного доступа к памяти, когда закрытие DRAM-страниц происходит чуть ли не на каждом шагу.
Аналогичным образом можно редактировать и остальные регистры, отсутствующие в BIOS Setup, однако наши возможности будут довольно ограничены.
Кроме Award BIOS editor существуют и другие программы для редактирования BIOS или расширения его возможностей. Они перечислены во врезке.
В рамках одной-единственной статьи просто невозможно охватить все подробности этого увлекательного процесса целиком, поэтому не воспринимайте ее как законченный путеводитель. Скорее это пригласительный билет в удивительный мир, скрытый в недрах небольшой микросхемы. И пускай кто-то скажет, что редактирование BIOS носит скорее познавательный, чем практический характер (устанавливать «разблокированный» BIOS в ответственный сервер я бы не рискнул)! Но должны же у администратора быть хоть какие-то развлечения, тем более что экспериментировать со списанными материнскими платами никто не запрещает!
Как прожигают BIOS
AMI BIOS имеют специальный интерфейс, позволяющий работать с микросхемой FLASH-памяти (читать или прожигать), доступный через прерывания INT 15h и INT 16h (подробности– в Interrupt List Ральфа Брауна). Award BIOS такой возможности не имеют и программируются через порты ввода/вывода.
Конструктивно FLASH-микросхема подключена к южному мосту чипсета, поэтому описание интерфейса взаимодействия с BIOS, следует искать именно в документации на южный мост. Как вариант, можно воспользоваться готовым программатором, с которым поставляется все необходимое программное обеспечение.
Рисунок 13 . Микросхема FLASH-памяти, подключенная к южному мосту
DUAL-BIOS своими руками
Каждый радиолюбитель, умеющий держать паяльник в руках, может доработать материнскую плату, установив на нее сразу две микросхемы FLASH–памяти. Тогда между ними можно будет переключаться без труднодоступного и притом весьма дорогостоящего chip-extractor. Как видно из рис. 14, ничего сложного в DUAL-BIOS нет.
Сказано уже многократно, а совет до сих пор не теряет актуальность: «Десять раз подумай, прежде чем обновлять BIOS». Но психология бессильна против жажды к новому. Особенно в тех ситуациях, когда требуется получить скрытый потенциал, заложенный производителем в компьютер.
Преграды и препятствия на пути к поставленной цели не помеха! Если не получается «по науке», на помощь придет выдумка. Так, в ситуации, когда AMIBCP не справляется с редактированием образа BIOS, с помощью обходных маневров можно достичь успешного результата.
Flash Images Tool
Существенный недостаток доморощенных технологий не только в сложном пути к познанию истины, но и в ограниченности кругозора. Каждому из нас хорошо известно, что в технике лучше пользоваться не грубой силой, а специальным инструментом. Именно такой подход позволяет понимать все детали исследуемого процесса и вникать во все его тонкости. Вопрос прост: каким должен быть современный инструментарий компьютерщика и где его взять?
На первую часть вопроса следует заранее приготовленный упреждающий ответ: сегодня мы поговорим о Flash Images Tool — программном продукте для работы с образом, хранящимся во Flash ROM системной платы. Здесь и далее мы будем пользоваться следующими терминами:
- Образ Flash ROM — бинарный файл, который может быть записан в или считан из запоминающего устройства (сегодня это, как правило, микросхемы SPI) на борту персональной платформы. Его содержимое гарантирует полноценную работу компьютера, в первую очередь потому что в составе образа флешки имеется регион, где хранится BIOS системной платы. Подробное описание регионов Flash Image доступно в документе «System Tools User Guide for Intel® Management Engine Firmware 6.0».
- Образ BIOS для микросхемы Flash ROM — бинарный код, входящий в состав образа Flash ROM. Будучи из него извлеченным, этот двоичный код может быть сохранен в файл, который следует называть файлом BIOS, с которым в свою очередь возможны манипуляции с помощью утилиты AMIBCP. Из этого следует, что утилита AMIBCP работу с образом флешки не поддерживает, а позволяет манипулировать только образом AMIBIOS, в чем можно убедиться прочитав статью «AMIBCP и современные версии AMIBIOS».
Теперь совершенно очевидно, что преимущество Flash Images Tool перед AMIBCP состоит в "умении" работать с образом флешки. Это — заслуга разработчика, компании Intel.
Запуск утилиты FTool
После установки конфигурационных параметров по умолчанию утилита готова к работе, и мы можем убедиться в этом, обратившись за справкой к опции About Flash Image Tool…
Прежде, чем приступать к редактированию образа BIOS для микросхемы Flash ROM, необходимо установить параметры окружения утилиты:
Если требуется разместить результаты работы утилиты FTtool не в директории d:\amibcp\Build, следует откорректировать поле $DestDir в меню Environment Variables надлежащим образом.
Загрузка образа Flash Image
Следующим шагом на пути к достижению результата должна быть загрузка файла с исходным образом BIOS. В нашем случае — это файл amibios.rom, размером в четыре мегабайта.
Успешная загрузка приводит к тому, что утилита FTool создает директорию amibios (с тем же именем, что и образ для чипа флеш-памяти) и помещает туда результаты его декомпозиции:
Подготовка к настройке Прежде чем начать настройку «Биос Авард» настоятельно рекомендуем как следует подготовить свое «железо» во избежание непреднамеренных последствий. Сохранить резервную копию ОС. Создать резервную копию текущего состояния BIOS:
Настройка Bios award
Подготовка
Записать данные о конфигурации жесткого диска. При смене модели Биоса может потребоваться повторный ее ввод.
Записать остальные нестандартные настройки BIOS, такие как интегрированные настройки параллельного и последовательного портов, скорости передачи информации на жестком диске и и.т.д.
Внимательно и целиком изучить инструкцию, указанные к установке флэш-BIOS или к обновлению для микросхем.
В некоторых материнских платах, как правило, отключены автоматические обновления Биос в целях предотвращения несогласованных изменений. Если необходимо загрузить обновление, важно получить разрешение на изменение, затем при завершении обновления произвести сброс защиты.
Клавиши для входа в Биос
Наиболее часто встречающаяся клавиша для входа – Delete.
Возможные клавиши входя по моделям ПК и ноутбуков.
Esc – Acer, Asus, Compaq, Hp, Samsung
F8 – Asus, Packard Bell,
F9 – Acer, Compaq, Hp
F11 – Asrock, ECS, MSI (Micro-Star), Sony Vaio
F12 – Acer, Dell, Fujitsu Siemens, Gigabyte, Lenovo, Toshiba
Разделы
Разберем основные настройки Биоса
начнем со стандартных функций (Standard CMOS Features)
В этой вкладке можно настроить основные параметры BIOS, например, дату, время, тип дискеты и и.т.д. Перемещаемся с помощью клавиш навигации на клавиатуре, с изображением стрелок. При выборе нужной настройки нажимаем на Enter. А теперь обо всем по порядку.
Date и Time настройка системных параметров даты и времени с помощью «+», «←», «↑», «↓», «→».
Так же на этом этапе есть еще 2 достойных конфигураций
No Errors – ОС загрузится в любом случае, даже если возникнут ошибки
Extendet Memory показывает сведения об ОЗУ (Оперативная память).
Теперь перейдем к расширенным возможностям CMOS
В этом разделе можно настроить содержимое буферов чипсета, которые напрямую взаимосвязаны с оборудованием. Чтобы избежать печальных последствий некорректной настройки (если вы новичок), советуем оставим настройку BIOS AWARD software по умолчанию.
Далее рассмотрим еще более интересную опцию
First Boot Device (Первое загрузочное устройство), здесь указываем тип устройства, с которого Вы хотите установить операционную систему на ПК или же уже загрузиться с установленной.
BIOS представляет различные комбинации настроек, я же расскажу вам о самых важных:
CD-ROM (встроенный привод) выбираем при установки ОС с загрузочного лазерного диска;
USB-FDD и USB-HDD выбираем при установки/загрузки ОС с загрузочной флешки;
USB-CDROM (внешний привод, который подключается через USB порт).
Так же путём нехитрых клавиш выбираем устройство которое подходит в Вашем случае и сохраняем изменения. Рекомендуемая настройка CD-ROM, но каждый раз при запуске компьютера система будет искать ОС на приводе, а потом только перейдет на нижний (второй) уровень который называется Second Boot Device.
Second Boot Device (Второе загрузочное устройство) аналогичная настройка как и в пункте выше. Рекомендуемая настройка Hard Disk.
Third Boot Device (Третье загрузочное устройство) можно поставить в режим Disabled (отключить).
Пункт Password Check предназначен для установки паролей (если они установлены) не только на вход в BIOS (Setup), но и на вход в ОС (Always).
Integrated Peripherals
Интегрированные периферийные устройства позволяют изменять различные устройства ввода-вывода, такие как контроллеры IDE, последовательные и параллельные порты, клавиатуру и другие. Управление питанием позволяет настроить различные функции энергосбережения, когда ПК находится в режиме ожидания или в режиме работы. Конфигурации PnP/PCI позволяет отрегулировать слоты PCI. Назначают IRQ для различных конфигураций. Оставляют настройки AWARD BIOS utility по умолчанию, в противном случае, они могут усложнить работу с IRQ.
Power Management Setup
Дальше приведена табличка, которую вы не можете редактировать, написано там следующее:
Параметры напряжений
Frequency/Voltag Control (Контроль напряжений и рабочих частот устройств)
Читайте также: