Статья: Видеокарты
Перепрошивка BIOS видеокарт
с чипами GeForce (GeForce 256,
GeForce2, GeForce3)
Введение.
В данном материале я хочу рассказать вам о процедуре изменения и последующей
перепрошивки BIOS (от англ. Basic Input-Output System Ч Базовая Система
Ввода-Вывода) видеокарт класса GeForce, GeForce2 и GeForce3 от NVIDIA. Как вы
уже, наверное, знаете, BIOS Ч один из самых важных элементов функционирования
карты, поэтому вопрос его лзамены, по-моему, более чем серьезен. Мы уже
обращались к этой теме, когда рассматривали перепрошивку BIOS на более ранних
чипах серии TNT2, однако жизнь вносит свои коррективы, появляется новое
железо, новое программное обеспечение, и пришло время к теме вернуться, на
этот раз для семейства GeForce/GeForce2/GeForce3. Тем, кто не читал прошлый
материал, я рекомендую ознакомиться с ним Ч в свое время он был довольно
известен в Рунете, читавшие же его ранее также найдут для себя нечто новое (я
надеюсь J). Как и в прошлый раз, рассмотрим теоретические аспекты этого
вопроса и инструменты, позволяющие получить практический результат. Вначале
хочу напомнить о существующем многообразии различных биосов. Будьте
внимательны, выбирая биос для последующей работы Ч обратите внимание на
соответствие параметров вашей видеокарты (чип, тип памяти и ее размер,
производитель и др.) и лжеланного биоса. Если все в порядке, то переходим к
теории, не забывая, что речь пойдет о семействе GeForce/GeForce2/GeForce3 и
его различных модификациях (SDR/DDR, МХ, GTS, Pro, Ultra).
Зачем вам менять BIOS?
Предлагаю вначале провести эдакий соцопрос на тему лЗачем вам менять BIOS?.
Вполне возможно, что надобности в этой процедуре у вас нет. Особенно это
относится к новичкам, которые, наслушавшись разговоров лбывалых, тоже
решаются на этот шаг, плохо осознавая, что и зачем делают. Именно они потом
появляются на всевозможных лжелезных конференциях с криками: лЯ перепрошил
биос, теперь мой компьютер не грузится! Именно для того, чтобы процент таких
возгласов был как можно меньше, и проведем наш соцопрос.
Хочу BIOS с поддержкой SBA (Fast Writers)
Прирост от включения SBA (см. лЧто такое SBA? Нужно ли оно мне и как его
поставить себе?), как, впрочем, и Fast Writers (см. лЧто такое режим лFast
Writes?), невелик, о чем свидетельствует данный материал, т.е. лично я бы
из-за этого биос не менял (а вдруг случайно запорю Ч возиться потом не очень-
то охота J). К тому же если у вас GeForce2 MX, то биоса с поддержкой SBA я
для него не встречал, а если GeForce2 GTS, то он по умолчанию у лнормальных
производителей включен.
Но даже не это в данном случае главное. Главное Ч внимательно проверьте,
поддерживает ли ваша материнская плата данный режим. Проверить это можно либо в
документации по материнской плате, либо используя специальные утилиты Ч
RivaTuner, ZTAGPTool, PCIList, PowerStrip. Вы также можете воспользоваться
нашим FAQ (часть 1, часть 5) Ч там уже освещен данный вопрос по самым
распространенным чипсетам. Так вот, если вдруг ваша материнская плата
не поддерживает искомый режим, то пусть у вас будет хоть самый
наипоследнейший биос с поддержкой SBA, Fast Writers и прочих чудес,
воспользоваться вы ими не сможете. Совсем!
Хочу разогнать свою карту, изменив
частоты прямо в BIOS, чтобы не загружать каждый раз твикер, например,
PowerStrip
До недавних пор для обладателей GeForce'ов этот вопрос стоял очень остро,
т.к. разгон был возможен двумя способами:
o с помощью твикера, который постоянно висит в памяти (что
огорчает, согласитесь J)
o через закладку Детонатора/фирменных драйверов (Детонаторы
имеют ограничение по разгону, а фирменные драйверы не всегда имеют закладку и
почти всегда лдовольно стары и медленноваты)
Мне могут возразить: я, мол, разгоняю лруками через реестр, т.е. напрямую
прописываю частоты карты в соответствующих ветках реестра. Да, сейчас эта
опция доступна, но до недавнего времени ключи были зашифрованы хитрым
алгоритмом, и только с расшифровкой ключей Unwinder'ом этот подход стал
широкодоступным. Да и зачем ллопатить реестр, перепрошивать биос, когда
можно взять RivaTuner с закладкой разгона и, спокойно выставив нужные
частоты, записать их в реестр.
Те же, кто перешел на GeForce с TNT2 и привык к TNTClck, могут
воспользоваться старшим братом этой утилиты Ч GF2Clck. Вывод: на данный
момент лучшие твикеры для GeForce/GeForce2 позволяют разгонять видеокарты без
перепрошивки биоса и без постоянного нахождения в ОЗУ машины.
Хочу уменьшить тайминги памяти и
тем самым увеличить скорость
По данному вопросу можно отметить два момента: во-первых, значения таймингов
для линейки GeForce до сих пор не расшифрованы, а во-вторых, вряд ли можно
существенно поднять производительность, меняя тайминги памяти. Таким образом
можно скорее понизить стабильность работы платы, чем увеличить
быстродействие.
Хочу разогнать карту под ОС UNIX (или ее клоном)
Да, надо признать, что пока под UNIX-системами довольно мало такого рода
программ (я имею в виду "твикалки"). Поэтому теперь наряду с NVClock можно
использовать и метод разгона путем внесения необходимых частот в BIOS.
Хочу поменять Sub Vendor ID/ Sub Vendor Model
Если вы хотите сделать из своего noname фирменную карту (например, для
последующей установки фирменного ПО), то изменение ID с последующей
перепрошивкой биоса как раз для вас. Другого способа на сегодня нет (разве
что программный взлом драйверов, но это уголовно наказуемое деяние).
Хочу поменять BIOS на более свежий
Ч у меня некорректно работает карта
Это веская причина при соблюдении двух условий: ваша видеокарта и вправду
функционирует местами некорректно (кстати, а почему вы сразу не поменяли ее
по гарантии?!), и новый биос исправляет именно лваши проблемы. Тогда,
конечно, стоит заняться перепрошивкой. А если просто вышел новый биос, в
котором что-то там исправлено, а у вас карта прекрасно работает и со старым,
то зачем искать себе на голову приключений? J Кстати, в настоящее время
перепрошивка биоса стала уже чем-то обыденным (написано много материалов,
даны тонны рекомендаций и т.д.), и следствием этого являются попытки новичков
при нестабильной работе платы в первую очередь перепрошить биос Ч мол,
перепрошью, и все будет ОК. На самом деле, как показывает опыт, перепрошивка
реально требуется довольно редко. Чаще всего нестабильность обусловлена
перегревом платы (на чипах нет не только вентилятора, но и радиатора!),
некачественным монтажом элементов или плохим качеством комплектующих. Также
могут влиять лзамусоренность ОС или неправильная установка драйверов, но уж
никак не биос.
Подготовка к перепрошивке биоса
Итак, выбор сделан, и необходима перепрошивка биоса, возможно, с
предварительной его модификацией. Прежде чем что-то запускать и что-то там
шить, нужно основательно подготовиться к процедуре Ч чем лучше будем готовы,
тем меньше вероятность возникновения проблем в дальнейшем, поверьте. Кстати,
начиная прошивать биос, запаситесь ручкой и бумагой и документируйте все свои
действия и все то, что будет лговорить вам компьютер Ч это может очень
сильно пригодиться в случае неудачи. Возвращаясь к подготовке: она включает в
себя, строго говоря, два этапа Ч сохранение (резервирование) старого биоса и
подготовка компьютера в целом к перепрошивке. Давайте чуть подробнее
рассмотрим эти, несомненно важные, моменты.
Правильный выбор биоса
BIOSы различных производителей отличаются своими обозначениями (кодом).
Например, NVIDIA обозначает свои BIOSы набором лCC.cc.mm.ee.oo, где лoo Ч
OEM-версия, а Creative Ч набором лCC.cc.oo.mm.ee. То есть одна и та же
версия биоса обозначается:
в транскрипции от NVIDIA Ч 2.10.01.04.1
в транскрипции от Creative Ч 2.10.1.01.04
Поэтому рекомендуем убедиться, какой биос и для какой карты вы собираетесь
прошивать. Как показывает практика, встречаются лумельцы, пытающиеся
увеличить производительность TNT2, прошивая биос от GeForce. Внимательно
изучите, подходит ли вам выбранный биос по различным параметрам: чипу, типу
памяти, наличию дополнительных функций и т.д.
Резервирование биоса
1. Берем прошивальщик биоса (либо аналогичного класса
программу) и сохраняем локально образ видеобиоса. Это будет небольшой,
порядка 50 КБ, файл.
2. Полученному файлу даем простое имя (например, my.bin
) и помещаем его в корневой каталог системной дискеты. Копию помещаем в корень
диска С:
3. Теперь добавляем к этому файлу недостающие для перепрошивки
файлы Ч собственно, сам прошивальщик и библиотеки для его работы. В случае
прошивки референс-биоса от NVIDIA это будет соответствующий nvXXflash.exe
и DOS-extender dos4gw.exe.
4. Проверяем, грузится ли машина с этой системной дискеты. По
собственному опыту знаю, что со временем дискеты лсыпятся, а проверить,
рабочий ли диск, до сих пор обычно лень. В данном случае это обязательный
пункт.
5. После этого создаем системные файлы autoexec.bat и
config.sys на случай неудачи. Вы можете скачать наши файлы либо подготовить
свои; главное, чтобы через N (у нас установлено в 10) секунд машина
автоматически пыталась прошить оригинальный биос.
autoexec.bat:
CLS
PROMPT
$p$g
GOTO
%CONFIG%
:success
GOTO end
:failed
nvflash my.bin
GOTO End
:end
config.sys:
[Menu]
MENUITEM = success, Bios successfully changed
MENUITEM = failed, Bios change is FAILED!
MENUDEFAULT = failed, 10
[success]
[failed]
6. Внимательно проверяем наличие всего необходимого еще раз и
приступаем непосредственно к процедуре модификации/перепрошивки.
Проверка биоса лна совместимость
После подготовки резервной копии нужно проверить, подходит ли вам выбранный биос
по различным критериям Ч соответствующим ID, контрольной сумме и т.д. Для этого
воспользуемся чудесной программой VGABios. Эта программа представляет собой
динамически загружаемый драйвер, который позволяет подгружать BIOS с диска.
VGABios перезаписывает ту область системного ОЗУ, где кэшируется BIOS
видеокарты (в BIOSе материнской платы предварительно должно быть включено
кэширование BIOSа видеокарты в системном ОЗУ). При этом содержимое ПЗУ
видеокарты не изменяется. Для постоянного использования необходимо прописать
загрузку программы в autoexec.bat (сама программа и файл BIOSа должны
быть в одной папке диска, лучше в корне, чтобы не запутаться с путями):
c:\vgabios -fROMFile -tM
где ROMFile Ч файл видеобиоса, M Ч TV-режим (значения от 0 до 5)
Тем же VGABios'ом проверяется работоспособность прошиваемого BIOSа: загрузили,
проверили, если все ОК, то шьем. То есть в случае неудачной загрузки вам
следует просто загрузиться с обычной системной дискеты и отменить вызов
VGABios'а в autoexec.bat.
Перепрошивка биоса
Перед самой процедурой перепрошивки хотелось бы сделать одно, на мой взгляд
ценное, замечание. Зачастую после сохранения оригинального биоса и сравнения
его с претендентом на заливку пользователя пугает разница в размерах файлов.
На самом деле ничего страшного здесь нет Ч просто один биос дополнен нулями
до размера, кратного машинному слову, второй же показывает фактический размер
биоса (а по числу занимаемых блоков (кластеров) на винчестере они одинаковы).
Так что не пугайтесь, ситуация под контролем.
Общие рекомендации к перепрошивке
Обычно процедура перепрошивки выполняется из лчистого DOS'а (в Win 9X по
нажатию лShift + F5), как и рекомендовано, однако торопыги могут работать и
из окна MS-DOS под Windows. Для NT и Windows 2000, вероятнее всего, лучше
загрузиться с DOS-дискеты. Имена директориям и файлам, используемым в
процессе прошивки, лучше давать максимально простые Ч для удобства, если
придется работать с командной строкой. Кроме того, желательно наличие блока
бесперебойного питания (на случай появления экскаватора для починки
магистрали или дяди Васи-электрика) или хотя бы сетевого фильтра для
помехозащищенности. Если у вас наличествует разгон какого-либо компонента
(процессор, видеокарта.) или их совокупность, то лучше перевести все в
штатный режим функционирования, хотя возможна спокойная прошивка при
системной шине 83 МГц и прилично разогнанной видеокарте. Но это из серии лкак
делать не надо.
Редактирование биоса
Для редактирования биоса воспользуемся лучшей (и единственной?) программой в
этом классе Ч GF123Bios Edit, предназначенной для редактирования биоса карт
на базе GeForce256 (SDR/DDR), GeForce2 (МХ, МХ100, МХ200, МХ400, GST, Pro,
Utra) и GeForce3. Я намеренно перечислил все модификации, так как если
написать просто лплат на чипах GeForce, то меня завалят вопросами типа:
лВот, вы писали про GeForce, а как мне прошить мою NVIDIA GeForce2 MX? Итак,
вернемся к GF123Bios Edit. Программа предназначена только(!) для
редактирования биоса, но не для самой перепрошивки. Редактировать можно:
различные ID (производителя, модели и т.д.), частоты чипа и памяти, которые
являются дефолтными (по умолчанию), тайминги, выводимые при загрузке надписи
и т.д. Программа предоставляет развитый графический интерфейс, избавляя нас
от разбора шестнадцатеричных чисел лподопытного файла с биосом, поэтому
работа с ней Ч одно удовольствие: загрузили нужный (текущий или с диска)
биос, откорректировали необходимые параметры и сохранили в виде файла на
диск. После этого запустили прошивальщик, и лдело в шляпе.
Рассмотрим саму программу:
Верхний блок из двух
редактируемых полей Ч строки, выводимые при загрузке машины (можно
написать что угодно, вплоть до лNVIDIA GeForce4 GTS VGA BIOS)
SubVendorID, SubVendor Model
Ч ID фирмы производителя карты и модели
NVIDIA Model Ч
идентификатор чипсета (модель чипа, установленного на видеокарте)
Core Clock/Memory Clock
Ч частоты ядра/памяти соответственно
Current Clocks Ч блок
для установки частоты ядра (core), частоты памяти (memory) и таймингов памяти
(последние менять категорически не рекомендую, т.к. информации по расшифровке
значений на данный момент нет)
Блок кнопок лCommon Ч
обеспечивает получение текущего BIOSа (лGet Current BIOS), открытие (лOpen
BIOS file) и сохранение (лSave BIOS file) файлов с BIOSом. Важное замечание:
для начала работы выполните чтение текущего образа BIOS Ч из памяти либо с
диска!
Блок кнопок лSpecial
Ч обеспечивает загрузку шрифтов (лBIOS Font) для лрусификации BIOSа и
синхронизацию копий биоса (лSync with 1st)
Остановимся подробнее на некоторых рабочих моментах программы. Для этого
рассмотрим новинку от VICO Ч работу со шрифтами, прошитыми в BIOS. Вызов данной
функции производится кнопкой лBIOS Font
Эта функция позволяет заменять кодовую таблицу шрифтов в видеобиосе на любую из
определенных в CPI-файлах комплекта DOS (находятся для Windows 98 в каталоге
%WIN%\COMMAND\). Для чего это нужно? Замена позволяет видеть корректное
отображение русских символов без загрузки пресловутого display.sys,
не отдавая ему порядка 10 КБ ОЗУ. Например, это может пригодиться при загрузке
в Safe Mode.
Для установки русской кодовой страницы на большинстве машин будет достаточно
загрузить ega3.cpi и выбрать 866-ю кодировку.
Следующая новинка по сравнению с TNT Bios Edit Ч это синхронизация копий биоса
от NVIDIA и производителя карты. По идее они должны совпадать, но некоторые
фирмы-лумники пишут в свою копию оригинальные значения. Функция, вызываемая по
кнопке лSync with 1st поможет вам избежать рассинхронизации
копий.
И последний момент, на который хотелось бы обратить ваше внимание Ч
несовпадение контрольной суммы файла BIOSа. Довольно часто пользователи
сталкиваются с такой проблемой, и GF123Bios Edit ее успешно решает: просто
загрузите файл биоса в программу, а затем сохраните Ч контрольная сумма будет
пересчитана и образом можно пользоваться.
Замечание: для работы программы необходима предварительная
установка run-time библиотеки LabWindows/CVI Run-Time Engine
, которую можно взять там же, где вы взяли основную программу.
Непосредственно замена биоса
После подготовки образа биоса к перепрошивке (с предварительным редактированием
или без оного) файл биоса нужно лзалить в видеобиос. Для референсных биосов
используется программа nvFlashХХ.exe, точнее, ее определенная версия.
В нашем случае для GeForce256 (SDR/DDR), GeForce2 (MX, MX100, MX200, MX400,
GTS, Pro, Ultra) и GeForce3 это nvflash.exe
Формат запуска файла из командной строки таков:
с:\nvflash change.bin
где change.bin Ч файл прошиваемого BIOSа.
После выполнения данной команды биос прошит. С чем вас и поздравляю.
Что делать в случае неудачи?
В случае неудачи не нужно судорожно жать на кнопку лPower в надежде, что
леще не поздно и, может, лоно еще не прошило. Лучше спокойно попробуйте
повторить процедуру перепрошивки. Если не получилось Ч попробуйте
восстановить резервный BIOS (можно и второй раз, после загрузки со сделанной
системной дискеты). Если же ваш компьютер все равно не грузится Ч карта не
оживает, то нужно взять старую ISA- или PCI-карту (только
неперепрограммируемую Ч nonFlashable) и вставить в машину. Далее повторяем
процедуру прошивки заново. Дело в том, что первой в машине включается именно
видеокарта, а ISA-видеокарта Ч более лстарое устройство и включается
независимо, не требуя BIOSа (в компьютерах с BIOSом Award на материнской
плате есть boot-block, инициализирующий ISA-карту).
Если в результате манипуляций видеокарта не ожила. Что ж, вам нужно
обратиться к специалисту либо в фирму, продавшую вам видеокарту.
Что делать, если прошивальщик лне понимает биос?
Иногда пользователь при попытке перепрошивки получает сообщение вроде лEEPROM
not found, не могу прошить биос.. Здесь возможны несколько причин. Причина
первая и самая тривиальная: ваша карта непрошиваема, т.е. у вас стоит
неперепрограммируемая микросхема биоса (сейчас это редкость, но случается).
Причина вторая: данная программа-прошивальщик не подходит к вашей карте (либо
не тот ID, либо не поддерживаемый тип микросхемы). В этом случае можно
попытаться найти другой прошивальщик Ч либо фирмы-производителя карты, либо
референсный от NVIDIA (надо сказать, что он подходит к большинству карт). И,
наконец, третья причина: несовпадение контрольной суммы файла биоса. Эта
проблема решается просто: нужно загрузить файл в GF123Bios Edit и сохранить
его на диск под другим именем. Новый файл уже будет дополнен до машинного
слова и контрольная сумма будет в порядке.
Заключение
Помните, что изменяя/перепрошивая BIOS видеокарты, вы тем самым производите
несанкционированное вмешательство в лустройство прибора. При этом вы
автоматически лишаетесь гарантии продавца на товар, даже если все прошло
удачно. Здесь уместно указать следующее: если карта перестала нормально
функционировать по какой-либо причине, не связанной с вашей перепрошивкой
BIOSа, то никто не мешает вам перепрошить лродной BIOS и поменьше
распространяться в гарантийной мастерской о проделанной процедуре. В случае
неудачи вам нужно будет обратиться к специалистам для восстановления биоса
либо замены видеокарты.
Удачи!