Как Перезапустить Драйвер Без Перезагрузки — Утилита DevCon

в рубрике 

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

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

Ваш покорный слуга столкнулся с аналогичным поведением Autodesk Maya 2012, которая где ни попадя валится от использования нового инструмента Interactive Split Tool ( на который, кстати, жалуются очень многие ) с ошибкой в файле atio6axx.dll. Так вот, не смотря на то, что после перезапуска Maya работает более-менее корректно ( правда, до очередного вылета xD ), вышеназванный Interactive Split Tool перестаёт корректно реагировать на перемещения курсора и не отображает точки, в которых должен происходить Split. Иными словами — вьюпорт перестаёт обновляться "на лету", что прямо говорит нам о том, что один из компонентов видеодрайвера дал сбой.

Перезагружаться после каждого такого подарка судьбы было очень несподручно, поэтому я начал искать способ ручного перезапуска видеодрайвера — благо, в былые времена такая возможность была в RivaTuner, которая затем куда-то пропала. И выход был найден! При помощи утилиты DevCon возможно перезапустить практически любой драйвер ( или устройство ), которое по какой-либо причине начало работать не так, как должно было бы.

Итак, настало время небольшой уличной магии. Вам понадобится утилита DevCon — специальная программа для разработчиков, которая является более функциональной альтернативной стандартному Диспетчеру Устройств Windows и управляется через командную строку. Скачать утилиту, а также почитать о ней немного подробнее можно по этой ссылке (link is external).

Хотелось бы напомнить, что все манипуляции вы производите на свой страх и риск!

Распаковываем программу в любое удобное место, запускаем командную строку Windows и пишем:

cd "<путь к папке с devcon для вашей версии Windows>"

В моём случае ( Windows 7 x64, архив распакован в корень диска C ) это выглядело так:

cd "C:\devcon\x64"

Теперь запускаем Диспетчер Устройств ( команда devmgmt.msc в меню Выполнить ), находим в списке свою видеокарту и смотрим в её Свойствах на вкладке Сведения параметр ИД Оборудования. Нас интересует лишь порядок символов до второго знака &, в моём случае искомый параметр выглядел вот так: 

PCI\VEN_1002&DEV_9440&

Это — ИД нашей видеокарты. Теперь нам остаётся только запустить devcon и выполнить соответствующую команду. В моём случае необходимая команда выглядит вот так:

devcon_x64 restart PCI\VEN_1002*DEV_9440*

Обратите внимание, что вместо символов & использованы символы звёздочки ( * ). Если выполнить команду с &, то перезапустятся два устройства. Почему именно так происходит — пока не знаю, поэтому рекомендую следовать примеру и использовать команду с заменой & на *.

devcon_screenshot.png

После выполнения данной команды монитор потухнет и снова включится, а командная строка в случае успеха покажет сообщение: 1 device(s) restarted. После этого ваш видеодрайвер перезапущен и должен работать правильно, избавив вас от необходимости перезагружать весь компьютер. Продвинутые пользователи могут даже написать специальный bat-файл с этой командой, чтобы ускорить процесс. Также стоит упомянуть, что ручной перезапуск драйвера не является панацеей и в некоторых случаях всё же придётся перезагрузить PC целиком. Аналогичным образом можно перезапускать и другие устройства — например, звуковую карту, если она начинает хрипеть или звук внезапно полностью пропадает.

Получить подробную справку по работе утилиты DevCon (link is external) и по синтаксису команд можно на сайте Microsoft.

Average: 6 (55 votes)
Рекомендуемые Материалы По Теме:
Об авторе: Сергей “Treidge” Данченко

АватарСергей "Treidge" Данченко — автор блога 3DG.Me, вольный 3D-художник и разработчик игр, веб-разработчик на Drupal и человек-оркестр с опытом в некоторых других областях. Личное кредо — "хочешь сделать что-нибудь хорошо, сделай это сам". В моменты особого вдохновения пишет стихи и играет в волейбол. Основные профессиональные инструменты — Autodesk Maya, Autodesk Mudbox и Adobe Photoshop. Без ума от индюков и попугаев. Спасибо за внимание, заходите снова!

Комментарии

Так и не смог дать ей ладу :( пишет Restart failed No matching devices found. Хотя id вроде правильно скопировал.

А можете показать ту команду, которую вы исполняли и которая дала такой результат? ( No matching devices found ). Возможно, где-то в синтаксисе ошибка или что-то упустили.

Примерно так это выглядело: http://floomby.ru/content/ldGgBo4FkO

Странно, вроде всё правильно... Попробуйте укоротить команду, например так:

devcon_x64 restart PCI\VEN_1002*

Получается то-же самое http://floomby.ru/content/xj8dZWhEO0
Вот если что список ID которые были у видюхи: http://floomby.ru/content/osJmKVR6LE

Эге, вроде нашёл источник проблемы... Судя по всему, ваша командная строка запускается без прав администратора. Попробуйте найти cmd.exe в папке C:\Winows\System32 , нажать на него правой кнопкой и выбрать Запуск от имени администратора. Ну и повторить команды на рестарт видеокарты из этой командной строки.

Спасибо! Проблема решена! Дело действительно было в том что командная строка была без админ. прав!

А у вас что не работало? Интересно было бы собрать другие возможные способы применения и сценарии, в которых может пригодиться утилита, кроме описанного непосредственно в статье...

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

Кому интересно: мой код на перезагрузку видеокарты батником:
@echo off

start cd "C:\devcon\x64"
C:\devcon\x64\devcon_x64 restart PCI\VEN_1002*DEV_6739*

C:\>devcon restart PCI\VEN_10DE***********
PCI\VEN_10DE***********************************************************: Requires reboot
Not all of 1 device(s) restarted, at least one requires reboot to complete the o
peration.

К сожалению, даже при помощи этой утилиты не все драйвера можно перезапустить без перезагрузки. С вашим устройством как раз такой случай. fingal

попробуйте чтонить поделать инициализировать в Досе желательно в безопастном режиме или проверить видеокарту в биосе, но скорей всего ОЕМ версия пиратской видюхи короче хнает что там как код выдаст, не всегда их клепают под ВИнду)

Ссылка на скачку не пашет.

Ссылки исправлены, спасибо.

На ноутбуке "asus f8s" время от времени съезжает цветовая палитра, спасал только ребут. видео ATI mobility radeon hd2400

Огромное спасибо за совет!)

Приветствую уважаемый. очень хорошая программа)) спасибо большое. вот только у меня вопрос. у меня ноутбук и там 2 видеокарты, одна интегрированная. как прописать чтоб оба драйвера перезапустить? один у меня получилось http://floomby.ru/s1/YYvMHW вот скрин. и еще вопрос. как сделать чтоб это не каждый раз вручную прописывать можно было? с ярлыка запуск или еще как нибудь.

Огромное спасибо! Вы меня просто спасли! Спасибо!

У меня она не перезапускается, а просто отключается
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:\Users\User>cd C:\devcon\i386

C:\devcon\i386>devcon restart PCI\VEN_10DE*DEV_0DE1*
PCI\VEN_10DE&DEV_0DE1&SUBSYS_00000000&REV_A1\4&1F1B1882&0&0008: Restarted
1 device(s) restarted.

C:\devcon\i386>

видеокарта ломаная ОЕМ либо собрана на коленке китайских рынков электроники)об этом говорит код длинный оч. много нулей0000)) либо по факту ломаный драйвер под правами сторонней проги типо хак, а там пляши как хочешь, но лучше винду переставлять и все заново ставить и норм антивирусник ставить! ну естесно если есть проблемки;)так то если ниче не мешает мож пока не парится, правда всякий хлам может создавать перегрузку, соотв. износ.

Большое спасибо за программу!

Хочу дополнить эту полезную статью, которая меня в свое время выручила.
На Вин 7 х64 столкнулся с одной проблемой при выполнении .bat файла.
cd "D:\Program Files\devcon\x64"
devcon_x64 restart PCI\VEN_10DE*DEV_05E6*
Не хотел выполняться пока в первую строку не дописал d:
Не знаю почему переходить не хотел на диск д, но раньше на Вин 7 х32 аналогичный батник работал нормально.
cd "D:\Program Files\DevCon"
devcon restart PCI\VEN_10DE*DEV_05E6*
Надеюсь кому-то пригодиться, т. к. статья по прежнему актуальна!

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

После установки Windows 8.1 бат файл работал, но открывал второе окно и ждал команда
Решение:
start cd "C:\devcon\x64" делаем start "" C:\devcon\x64
то есть перемещаем ковычки (если это иожно так назвать)
у меня работает =)

наверно твою систему совратил какойнить вирусняк))

После установки Windows 8.1 бат файл работал, но открывал второе окно CMD и ждал команды
Решение:
start cd "C:\devcon\x64" делаем start "" C:\devcon\x64
то есть перемещаем кавычки (если это можно так назвать)
у меня работает =)

После скачивания по прямой ссылке и распаковки при запуске девкон открывается на 1 секунду и сразу закрывается . Качал с разных сайтов . одно и тоже.

devcon нужно запускать из командной строки. То есть, сначала нужно запускать не сам devcon, а командную строку cmd.exe, из которой уже нужно обращаться к devcon. Об этом говорится и в самой статье.

Извините, такая же проблема, при этом я все делаю точно по описанию из статьи, запускаю программу через cmd, но тем не менее открывается она только на секунду и сразу закрывается, помошник по устранению проблем виндовс не помог. Может подскажите чего?

К сожалению, в этом вопросе не могу помочь чем-то конкретным. Разве что попробуйте запускать командную строку cmd от имени администратора (есть вероятность, что для запуска devcon не хватает прав).

Пробовал, не помогает. Но все равно спасибо, если решиться - отпишусь.

проверь нет ли принудительной защиты в антивируснике, к примеру откл. замозащиту!

не знаю,что делать- вот проблема__
requires reboot the 1 device(s) are ready to be restarted. to restart the devices,reboot the system

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

Лалки! просто нажмите в диспетчере устройств отключить, затем задействовать видео драйвер. правда у меня две видео карты. но все заработало. экран стал с прежним разрешением

У меня, бывает недостаточно одного перезапуска. Иногда нужно перезапустить 2 раза. При лишней перезагрузке устройство опять подвисает. Можно ли воткнуть какое то условие If, которое бы выполнялось пока устройство не заработает нормально, но не допуская при этом лишнего перезапуска устройства.

Еще есть способ, поставить программу RivaTuner и в закладке Главная выбрать Настроить - Перезагрузка драйвера видеоадаптера.
Вот тут есть подробное описание программы http://nvworld.ru/files/old/docs/noviceRC151.html
В английской версии эта опция называется Reload display driver

Copyright © 2010-2013 Сергей "Treidge" Данченко. Свяжитесь со мной, если у вас есть вопросы или предложения. Тема основана на BlogBuzz от Antsin.com