По случаю купил для дочери неплохой моноблок, построенный на базе платформы Pegatron Dubai L6 H55. Моноблок оказался действительно хорошим, но несколько устаревшей модели — потребовалось к имеющимся 2 Гб оперативной памяти добавить ещё хотя бы столько же. С памятью вопрос я оперативно решил, и вот дошла очередь до установки системы. На приобретённом мной моноблоке была установлена неактивированная Windows 7, к тому же на жёстком диске был только один раздел. Я привык всё делать самостоятельно и именно так, как лично мне это нужно, поэтому, недолго думая, я отформатировал жёсткий диск, разбив его на разделы. После того, как я заново установил Windows 7, я увидел много устройств, для которых не были установлены драйверы. В Интернете я нашёл и установил все драйверы, кроме одного — драйвера на видеокарту. Вернее Windows автоматически установила драйвер, но стандартный. А это значило, что отрисовка графики происходила крайне медленно, так как не использовалось аппаратное ускорение. То есть с таким драйвером про игры, видео и т.д. можно было сразу забыть:
Я знал, что в моноблоке используется GeForce 310M, эту же информацию подтвердил и автоматический анализатор сайта NVIDIA:
Тем не менее предложенный драйвер ни в какую не хотел ставится, сетуя на отсутствие поддерживаемого оборудования:
Где-то на форумах я нашёл упоминание о том, что на гибридных системах драйвер на GeForce невозможно установить до тех пор, пока не будет установлен драйвер на встроенное видео от Intel (в моноблоке установлен процессор Intel Core i5). Однако ни один из множества скачанных драйверов с сайта Intel так и не установился, ругаясь также, как и драйвер NVIDIA, на отсутствие необходимого оборудования. В итоге, на сайте DNS я всё-таки нашёл нужный драйвер, который, наконец-то, установился. С этого момента стало понятно, что драйвер Intel не требуется, а для NVIDIA используется какой-то свой особенный драйвер. Найденный драйвер оказался довольно старым — версии 198.19, датированной 2010 годом. Кроме того, моей целью была Windows 10, а драйвер был рассчитан максимум на Windows 7. И хотя обновление до Windows 10 прошло успешно, а новая система сама нашла и установила все нужные драйвера, но видео осталось всё так же базовым видеодаптером. То есть драйвер от Windows 7 при обновлении не подхватился. Не захотел устанавливаться этот драйвер и заново — установка проходила без сбоев, но на установленное устройство это никак не влияло. Что я только не делал, но в диспетчере устройств я видел лишь «Базовый видеоадаптер (Майкрософт)». По роду службы я имею выход на производителя платформы, компанию Pegatron, и за помощью я обратился к нему. Мне обещали помочь, но финальный ответ меня не обрадовал. Мне сообщили, что платформа старая, и что мой удел пользоваться тем единственным драйвером, который есть в моём распоряжении. То есть Windows 10 мне не видать «как своих ушей». Но такой ответ меня не удовлетворил! Я не нашёл готового решения в Интернете, меня отшил производитель платформы, поэтому мне пришлось полагаться только на собственные силы.
Я начал с изучения идентификатора моего видеоадаптера:
Итак, идентификатор моей видеокарты оказался таким:
PCI\VEN_10DE&DEV_0A75&SUBSYS_00D91B0A&REV_A2\4&D57D236&0&0008
Далее я полез в содержимое того единственного работающего драйвера, которым располагал. По своему опыту я знаю, что в драйвере информация об устройстве хранится в INF-файле. Я нашёл тот самый файл и обнаружил, что в нём прописано лишь два видеоадаптера, один из которых мой. Далее я обратился к самом свежему драйверу, который распаковался после запуска исполняемого файла вот сюда:
c:\NVIDIA\DisplayDriver\341.92\Win8_WinVista_Win7_64\International\Display.Driver\
После изучения данной папки, выяснилось, что, во-первых, там довольно много INF-файлов, а во-вторых, в каждом из них прописано довольного много разнообразных устройств — одних только GeForce 310M там прописано более десятка моделей. Мои попытки добавить строки из работающего INF-файла в свежий ни к чему положительному не привели.
Тогда я продолжил копаться в INF-файлах и искать что-то, напоминающее мой идентификатор. Я нашёл интересующую меня запить вот в этом файле:
c:\NVIDIA\DisplayDriver\341.92\Win8_WinVista_Win7_64\International\Display.Driver\nvpmi.inf
А сама запись выглядела так:
%NVIDIA_DEV.0A75.00B9.1B0A% = Section037, PCI\VEN_10DE&DEV_0A75&SUBSYS_00B91B0A
То есть найденный идентификатор отличался от моего только одной буквой: 00B9 в драйвере вместо 00D9 у моей видеокарты! Всего в этом INF-файле в разных его частях нашлось пять строк, содержащих данный идентификатор:
%NVIDIA_DEV.0A75.00B9.1B0A% = Section037, PCI\VEN_10DE&DEV_0A75&SUBSYS_00B91B0A %NVIDIA_DEV.0A75.00B9.1B0A% = Section038, PCI\VEN_10DE&DEV_0A75&SUBSYS_00B91B0A %NVIDIA_DEV.0A75.00B9.1B0A% = Section039, PCI\VEN_10DE&DEV_0A75&SUBSYS_00B91B0A %NVIDIA_DEV.0A75.00B9.1B0A% = Section040, PCI\VEN_10DE&DEV_0A75&SUBSYS_00B91B0A NVIDIA_DEV.0A75.00B9.1B0A = "NVIDIA GeForce 310M "
Первые 4 строки — это 4 разных сценария установки драйвера для разных версий Windows, а пятая — это, собственно, задание имени адаптера, которое будет отображаться в диспетчере устройств.
В каждой из этих строк я заменил 00B9 на 00D9 и строки стали выглядеть так:
%NVIDIA_DEV.0A75.00D9.1B0A% = Section037, PCI\VEN_10DE&DEV_0A75&SUBSYS_00D91B0A %NVIDIA_DEV.0A75.00D9.1B0A% = Section038, PCI\VEN_10DE&DEV_0A75&SUBSYS_00D91B0A %NVIDIA_DEV.0A75.00D9.1B0A% = Section039, PCI\VEN_10DE&DEV_0A75&SUBSYS_00D91B0A %NVIDIA_DEV.0A75.00D9.1B0A% = Section040, PCI\VEN_10DE&DEV_0A75&SUBSYS_00D91B0A NVIDIA_DEV.0A75.00D9.1B0A = "NVIDIA GeForce 310M "
Пришла пора пробовать установить подправленный драйвер. Для этого я запустил установщик:
c:\NVIDIA\DisplayDriver\341.92\Win8_WinVista_Win7_64\International\setup.exe
По началу всё пошло отлично, и вместо угрожающего окна с сообщением о том, что невозможно продолжить установку по причине отсутствия подходящего оборудования, я получил окно, предлагающее согласиться с лицензией:
И драйвер начал уже было устанавливаться, но всё прервалось вот таким сообщением:
Но тут мне даже и гуглить не пришлось, потому что я знал, что проблема заключается в цифровой подписи. Честно говоря, я надеялся, что корректировка INF-файла не повлияет на цифровую подпись, так как сами файлы драйвера никаким изменениям не подвергались. Но это оказалось не так! Внеся изменения в любой файл драйвера цифровая подпись оказывалась неверной. Теперь для того, чтобы установить изменённый драйвер, потребовалось отключение обязательной проверки цифровой подписи. Чтобы это сделать в Windows 10 требуется последовательно пройти такой путь:
Пуск → Параметры → Обновление и безопасность → Восстановление → Перезагрузить сейчас → Поиск и устранение неисправностей → Дополнительные параметры → Параметры загрузки → Перезагрузить → Нажать клавишу F7 (Отключить обязательную проверку подписи драйверов).
После этого компьютер перезагрузился в Windows 10 и на первый взгляд ничего не изменилось. Тем не менее я попробовал ещё раз установить драйвер. На этот раз в процессе установки у меня появился вот такой запрос:
И после того, как я согласился установить этот драйвер, в конце меня ожидал успех:
В диспетчере устройств вместо базового видеоадаптера я, наконец-то, увидел NVIDIA GeForce 310M:
Правда, драйвер ожидаемо оказался без цифровой подписи:
Тем не менее все функции и аппаратное ускорение видео заработали на ура. Моя цель была достигнута! Я получил Windows 10 c актуальными драйверами от NVIDIA вопреки заверению производителя платформы.
На этом можно было бы завершить эпопею с драйверами. Но мне не давал покоя тот факт, что, во-первых, теперь каждый раз после выхода нового драйвера придётся патчить драйвер. А во-вторых, мне не нравится вся эта чехарда с отключением цифровой подписи и сама надпись «Цифровая подпись отсутствует».
Я двинулся дальше. Но тем, кто сейчас читает эту статью, найдя её в поиске, потому что столкнулся с аналогичной проблемой на своём моноблоке или ноутбуке, и при этом не уверен в своих силах, я настоятельно рекомендую остановиться на этом этапе! Вы рискуете погубить своё устройство! Помните: лучшее — враг хорошего! Подумайте, что лучше: рискнуть и погубить устройство или просто пропатчить драйвер и наслаждаться полноценной работой устройства пусть и без цифровой подписи?
Логично предположить, что стандартный драйвер не устанавливается потому, что устройство отзывается не так, как того ожидает драйвер, и необходимо сделать так, чтобы устройство имело один из тех идентификаторов, которые прописаны в драйвере. Я начал изучать вопрос и выяснил, что карта идентифицируется из трёх мест. Во-первых, это сам чипсет, на котором построена видеокарта. Во-вторых, на самой плате видеокарты могут быть распаяны перемычки, которые будут рапортовать определённые сведения системе. Ну, и наконец, это BIOS видеокарты, в котором прописаны различные параметры. К счастью, нужные мне значения прописаны именно в BIOS’е. У меня выработался следующий план: мне нужно было считать BIOS моей видеокарты, подправить его и залить обратно. Для осуществления этого плана я нашёл три программы (хотя на самом деле можно было обойтись только двумя):
1. GPU-Z
2. NVIDIA BIOS Editor (NiBiTor)
3. NVFlash for Windows
Для начала с помощью GPU-Z я считал BIOS видеокарты, нажав на кнопку со стрелочкой:
На всякий случай я считал BIOS и с помощью NVFlash, и потом сравнил оба дампа, чтобы убедиться, что всё считывается без каких-либо ошибок. Именно поэтому я написал выше, что можно было обойтись только двумя программами (NVFlash и NiBiTor). Но мне показалось, что считывать BIOS с помощью CPU-Z проще и поэтому для данной процедуры я бы порекомендовал именно эту программу.
Далее я открыл считанный BIOS в программе NiBiTor и перешёл во вкладку “Adv. Info”:
Здесь я увидел те самые значения, которые отображаются в качестве идентификаторов в диспетчере устройств. Интересующее значение D9 было прописано в поле “Sub System ID”. Мне оставалось лишь изменить его на B9, которое я менял, когда патчил драйвер, и пересчитать контрольную сумму BIOS, нажав на кнопку “Rescan BIOS”:
После сохранения исправленного BIOS’а (я назвал его fixed.rom), я ещё раз на всякий случай сравнил два файла и убедился, что в откорректированном файле BIOS поменялись только два байта (Sub System ID и Checksum).
Настало время для самой опасной процедуры — записи исправленного BIOS в видеокарту. Ещё раз хочу предупредить, что вы должны осознавать, что если вы что-то сделали не так или в чём-то ошибётесь, то после перепрошивки BIOS ваша видеокарта больше не включится, и вы больше не увидите никакого изображения на экране дисплея. И если для настольного компьютера всё ещё существует шанс вернуть видеокарту к жизни, то для моноблока или ноутбука со встроенной картой и без возможности подключения другой видеокарты, такой шанс стремится к нулю.
Итак, я распаковал NVFlash в папку без русских символов и пробелов в имени пути:
D:\nvflash\
В ту же папку я поместил и исправленный BIOS — fixed.rom. Теперь нужно было запустить командную строку от имени администратора (кликнуть правой кнопкой мыши по кнопке Пуск и выбрать там соответствующий пункт), перейти двумя командами в папку с утилитой (d: и cd nvflash), после чего можно было давать команду для записи подправленного BIOS в видеокарту:
nvflash.exe -6 fixed.rom
В процессе записи утилита попросила подтвердить мои намерения, путём нажатия на кнопку “y” (Yes). К моему счастью, всё прошло успешно и, наконец-то, можно было перезагрузить компьютер.
По изменившемуся разрешению дисплея я понял, что мой видеоадаптер изменился, а ранее установленный драйвер слетел. На этот раз я без малейших проблем установил стандартный свежескачанный с сайта NVIDIA драйвер для видеоадаптера NVIDIA GeForce 310M. Драйвер установился, а цифровая подпись оказалась на месте:
Всё, результат достигнут! Больше не потребуется никаких «танцев с бубном». С этого момента любой свежий драйвер, скачанный с сайта NVIDIA, установится на мой моноблок без проблем. Проблема решена, осталось только поделиться путём её решения с остальными.
1) Как реанимировать карту на настольном ПК? (на всякий случай)
2) Актуальная версия для моей gts 250 — 341.96. Есть какой-либо способ поставить драйвер 368.95 или выше? Моя карточка способна запускать современные игры на минимальных настройках, но некоторые ругаются на устаревшую версию драйвера.
Прошу, помогите!
1. Необходимо использовать любую вторую видеокарту, вставленную в PCI или PCI-E разъём. К ней подключается монитор и запускается компьютер. Мёртвая карта, естественно, остаётся в компьютере. После этого специальными утилитами прошивается BIOS повреждённой карты.
2. Мне такой способ неизвестен и скорее всего его не существует.
Автор, ты лучший в мире!!!) спс)
Большое спасибо. Очень помогли
Человечище!! ты просто гений. Я привысокоблагодарен тебе за написаную статью… Я 3 дня мучался с этой ребаной видеокартой, волосы уже почти начал рвать на голове ))) СПАСИБО ОГРОМНОЕ ВСЕ ЗАРАБОТАЛО!!!!
Здравствуйте, снова переустановил Windows 10, пробую так же установить драйвер все по интсрукции, посл перезапуска с (Отключить обязательную проверку подписи драйверов) не вылазиет окно безопасности, в чем может быть причина ?(( (Windows 10 Pro)
Огромное спасибо!
Как же я намучился с этим драйвером!
Сейчас буду перезагружать после прошивки и накачуц Win10
Вопрос конечно не совсем в тему. Есть ноутбук , померла видеокарта, тяжело найти такую же. Нашел немного другую, «физически» встанет. Но как мне сказали- в биосе ее нет в списке поддерживаемых устройств и работать она не будет. Ноут ASUS G50VT 9800M GS померла, хочу GTX 260M от более старшего ASUS G60. Куда копать ? пните в нужную сторону
Здравствуйте! Тоже возникла подобная проблема, но на 10-ке. У меня один видеоредактор встроен/выделен в процессоре i5-10210U, а второй дискретный GeForce MX250 и вот он, как базовый от Microsoft. Хочу пройти Ваш путь, но нет у меня на ноуте (он кстати из Китая) папки Nvidia. Где искать подобные записи? Чем открывать и чем редактировать? Подскажите, пожалуйста!
Было тоже самое, не стал городить как автор статьи, а просто установил драйвер принудительно в ручном режиме. Если коротко, то: Свойства видеоадаптера, обновить драйвер, вручную, обзор, и тут нужно указать Display.Driver\nv_dispi.inf из инсталлятора NVIDIA. Дальше снять галку «Только совместимое», и выбрать свою видеокарту. Жмем установить и все, наслаждаемся