Удаление драйверов с компьютера. Как полностью удалить драйвер из системы Windows

Как известно, достаточно часто многие пользователи компьютерных систем сталкиваются с проблемой удаления старых или неиспользуемых драйверов устройств. Это может связано со многими причинами, включая конфликты оборудования, неправильную работу устройств. Сюда же можно отнести и установку более свежих версий драйверов. Вот тут-то и возникает закономерный вопрос: как удалить драйвер того или иного устройства?

Что такое драйвер

Прежде чем начинать процесс удаления драйвера или его обновления, нужно знать, что он из себя представляет. По сути, это небольшая программа, обеспечивающая связь «железного» компонента с операционной системой, без которой само устройство не то что работать не будет, система его может даже не распознать.

В некоторых случаях (особенно при включенном автоматическом обновлении системы) возникает необходимость смены версии драйвера на более новую.

Просмотр сведений о версиях и файлах драйверов

Теперь несколько слов о том, что нужно сделать перед тем, как приступить к операции удаления. Для начала нужно узнать версию драйвера (особенно это касается случаев, когда он загружен с официального сайта производителя оборудования). Весьма вероятно, что в системе имеется самая свежая версия, и причина конфликта или неработоспособности оборудования заключается совсем не в этом. Тогда и проблема, как удалить драйвер, отпадет сама собой. Сделать это можно несколькими способами.

Например, для устройств Plug & Play или стандартных компонентов системы можно использовать вызов диалога DirectX (команда dxdiag в меню «Выполнить»). Правда, здесь можно увидеть версии драйверов экрана, звукового оборудования и устройств ввода/вывода (если не установлено что-то еще).

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

Удаление драйверов стандартными средствами Windows

В данном случае необходимо использовать меню Панели управления, в котором выбирается пункт «Диспетчер устройств». Название может меняться, в зависимости от версии установленной «операционки». Теперь достаточно выбрать интересующее вас устройство и вызвать контекстное меню, после чего использовать команду «Свойства». Там и будет полное описание версии драйвера (вкладка «Драйвер», меню «Свойства»).

Теперь рассмотрим пример, скажем, как удалить драйвер аудио (или как удалить драйвер принтера). Принципиально постановка вопроса не имеет значения, схема одна и та же. Выполняем вышеописанные процедуры, но только вместо кнопки «Свойства» используем кнопку «Удалить». Система запросит подтверждение удаления, после чего можно будет перезагрузить компьютер.

Если драйверы принтера являются стандартными и присутствуют в установочном пакете ОС Windows, после перезагрузки они будут установлены автоматически. В противном случае придется устанавливать их либо с оригинального диска, либо загружать с официального сайта производителя.

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

Стороннее программное обеспечение

Сегодня существует достаточно много программ, которые могут решить проблему, как удалить старые драйвера, в автоматическом режиме. Одной из таких является Driver Sweeper.

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

Не удивляйтесь, если программа найдет даже драйверы интегрированных видеокарт или звуковых чипов. Далее нужно нажать кнопку «Очистка», после чего все, что приложение нашло, будет удалено.

Конечно, заниматься неопытному пользователю такими вещами можно только на свой страх и риск, но, как показывает практика, эта программа работает абсолютно корректно, не вызывает сбоев в операционной системе и не нарушает работу программных и «железных» компонентов.

Автоматическое обновление

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

В один прекрасный (или печальный, кому как) день мне надоело, что у меня периодически заканчивается место на ноутбуке. Да, я в курсе, что жёсткие диски сейчас дешевы, но это для меня не выход, потому что:

  • У меня SSD, а он всё-таки подороже будет, чем обычные HDD (объём моего текущего SSD - 120 гигов)
  • Ноутбук рабочий, соответственно данные на нём тоже, должны быть шифрованы, всё такое, поэтому самопальный и не утверждённое работодателем носитель втыкать не стоит
  • Я жадный:)
Этот топик, пожалуй, предназначен и может быть полезен тем людям, кого волнует свободное место на системном диске, обычные средства очистки уже испробованы, а хочется выжать ещё чуть-чуть (как в старом анекдоте - первая попавшаяся в гугле ссылка на анекдот, если сайт плохой - пардон).

В общем, я иногда чищу место на диске. Стандартные процедуры - очистка %TEMP%, очистка диска (стирает всякие там отчёты об ошибках, прикопанные системой на всякий пожарный, всякие memory dump"ы упавших процессов и прочее), снос ненужных более программ.
Однако, как я выяснил, есть папки, которые не чистит никто (от слова совсем). Ну в смысле из стандартных средств. И сейчас я хочу поговорить о папке %WINDIR%\System32\DriverStore.

Если у Вас эта папка занимает много-много места, а читать весь пост неохота - пожалуйте в самый его конец, там есть ссылки на github, откуда можно взять готовый результат моих изысканий и попробовать выжать (или отжать) немного места у винды.

Введение в проблему - что это за папка, зачем она нужна, кто виноват, что делать

Если порыться в интернетах , можно найти, что это то место, куда система про запас складывает вообще все драйвера, которые ей когда-либо попались по дороге. Да-да, и те, что были установлены для Вашей видеокарты три года назад, тоже лежат там, несмотря на то, что Вы их себе обновляли много-много раз.

Приведу немного теории с того самого MSDN:

Starting with Windows Vista, the driver store is a trusted collection of inbox and third-party driver packages. The operating system maintains this collection in a secure location on the local hard disk. Only the driver packages in the driver store can be installed for a device.

When a driver package is copied to the driver store, all of its files are copied. This includes the INF file and all files that are referenced by the INF file. All files that are in the driver package are considered critical to the device installation. The INF file must reference all of the required files for device installation so that they are present in the driver store. If the INF file references a file that is not included in the driver package, the driver package is not copied to the store.

The process of copying a driver package to the driver store is called staging. A driver package must be staged to the driver store before the package can be used to install any devices. As a result, driver staging and device installation are separate operations.

A driver package is staged to the driver store by being verified and validated

В моём вольном переводе получится что-то вроде:

В Windows Vista и позднее, хранилище драйверов используется как сборник доверенных предустановленных и сторонних драйверов. Операционная система поддерживает этот сборник в безопасном месте на локальном диске. Только те драйвера, которые лежат в хранилище, могут быть установлены.

Когда драйвер копируется в хранилище, туда попадают все его файлы, включая.INF файл и все файлы, на которые этот.INF ссылается. Все файлы, составляющие драйвер, считаются необходимыми для работы устройства. INF файл должен ссылаться на все файлы, необходимые для работы устройства, для того, чтобы они все попали в хранилище. Если.INF файл ссылается на файл, не входящий в драйвер, этот драйвер не копируется в хранилище.

Процесс копирования драйвера в хранилище называется staging (не стал пытаться выдумать термин, оставил английское слово - прим.пер. ). Для того, чтобы драйвер мог быть использован для какого-либо устройства, он должен пройти процесс staging, таким образом, установка устройства и staging драйвера - отдельные операции.

Перед попаданием в хранилище драйвер проверяется на действительность подписи и целостность файлов.

Неужели всё так плохо, и никто не поможет?

Выглядит страшновато для влезания своими грязными руками, не правда ли? Однако тут есть небольшая (и не слишком удобная) соломинка от Microsoft, называется она pnputil.exe и умеет:
  • Перечислять драйвера, находящиеся в staging (но не входящие в стандартную поставку Вашей Windows, т.е. не интегрированные в установочный дистрибутив)
  • Добавлять драйвер в хранилище
  • Удалять драйвер из хранилища
Причём при удалении она проверяет, не используется ли удаляемый драйвер на данный момент для какого-нибудь подключенного устройства, и без опции /f (т.е. /force - заставить насильно) удалять такие драйвера отказывается.
Этой утилитой я и воспользовался.

Тут надо упомянуть, что я не первый такой умный, кто думал над этой проблемой, на codeplex есть проект по GUI приложению DriverStore Explorer , но он фактически является только графической обёрткой вокруг pnputil и никак не анализирует драйвера, предоставляя полную свободу своему пользователю.
Мне же, во-первых, искать вручную устаревшие версии драйверов было не очень охота, а во-вторых хотелось понять, что я выиграю от удаления того или иного драйвера (в смысле места на диске). Так что тут был синдром в полный рост.
Поэтому я взял в руки Python и понеслось.

Ура, строим свой велосипед!

Методом пристального всматривания я обнаружил, что для того, чтобы найти наиболее свежую версию, достаточно данных от pnputil, а вот для определения размера - нет, потому что pnputil про драйвер говорит примерно следующее - кто сделал, когда, версия и имя INF файла. Какая из кучи папок в DriverStore относится к этому драйверу - он не говорит.
Вглядевшись ещё внимательнее в папочку %WINDIR%\Inf, я обнаружил там те самые.INF файлы (по именам), которые перечисляет pnputil, а заглянув в папки в DriverStore, обнаружил там… те же самые.INF файлы, но с другими именами - каждый в папке от своего драйвера.
Наверняка есть способ и попроще, но я пошёл в лоб - построил отображение от имени.INF файла в выдаче pnputil на папку в DriverStore, в которой лежит такой же по содержимому.INF файл (с другим именем). И взял размер этой папки за размер драйвера.

Теперь дело оставалось за малым - обернуть всё это в скрипты для удобного исполнения.
По дороге, правда, лежала подстава в виде UAC - pnputil работал только с администраторскими правами, а значит, надо было повышать привилегии из Питона. Беглое гугление дало несколько рецептов, которые говорили что-то вроде «можно сделать так, но вывода (и уж тем более ввода) не будет, как будете отлаживаться - без понятия», и меня это не устроило, так что я чуть-чуть доработал примеры.
Правда, моя реализация на данный момент неидеальна - она упадёт при попытке перенаправить stdout или stderr, потому что внутри я использую виндовое понятие консоли, а для перенаправленных потоков это не работает…
Но я пока закрыл на это глаза, потому что для починки надо городить чуть более сложный механизм, чем вызов FreeConsole/AttachConsole, т.е. заниматься перенаправлением всех потоков вручную.

Пробуем написанное на практике

А теперь, собственно, самый смак - результаты всей этой портянки текста. Можно брать, использовать на свой страх и риск, можно пробовать наносить добро и причинять пользу исходникам (MIT лицензия, да). Можно даже сказать мне спасибо в комментариях, если кому-то эти скрипты помогут:)

Если качаете бинарную версию (интерпретатор зашит внутри) - берите ту, что соответствует разрядности операционки (32-битная версия на 64-битной ОС не найдет pnputil и работать, соответственно, не будет… если очень надо - пишите, можно попробовать это обойти).
Если берёте скриптовую версию - аналогично, запускать надо интерпретатором с разрядностью операционки.

Сам лично я это проверял на двух компьютерах с Windows 7, в теории должно работать на Vista и 8. На WinXP должно быть (вроде) бесполезно.
Скрипт проанализирует хранилище драйверов, постарается найти устаревшие версии драйверов (т.е. такие, для которых одновременно в staging находится более новая версия) и предложит их удалить, выдав оценку занимаемого драйверами места (и оценку выигрыша, разумеется, тоже).

Результат на моем ноутбуке
Лично мне удалось отжать порядка 6 гигабайт (!), в основном за счет удаления старых версий драйверов видеокарточки NVidia.
На другом ноутбуке всё оказалось не так радужно, удалось очистить всего 200 (по-моему) мегабайт, но там система жила существенно меньше моей и просто не успела накопить много драйверов.

Оба ноутбука с тех пор живут полной жизнью, в смысле никаких проблем от очистки я не заметил.

Если Вы досюда дочитали - спасибо за внимание!

Послесловие

Ожидаемо выяснилось, что скрипты по очистке работают не всегда, основная проблема - если Windows не англоязычный (как-то я не подумал, что и совсем служебные утилиты будут локализованы). Это я буду чинить. Основная масса проблем должна быть починена, см.

Продолжаем своеобразную очистку системы от накопившегося мусора. Сегодня затронем тему драйверов. В статье я лишь немного в конце показал как можно удалить драйвера. А в статье дело в "дровах" и нужно было их удалять. Там я расписал более подробно.
Поэтому, если хотите удалить или откатить драйвера, почитайте одну из статей выше. А ещё лучше обе.

Теперь ближе к сути. Нижеописанный способ поможет Вам увидеть и удалить все драйвера, которые находятся в системе и не используются. Какие это дрова? Да всякие. Это и те, которые установились когда Вы "втыкнули" какую-то чужую флешку единожды. Это и дрова, которые установились вместе с какой-нибудь программой для обработки видео или звука, а так же антивирусы и т.п. программное обеспечение. Впоследствии Вы уже удалили эти программы, а хвосты в виде драйверов могут остаться. Так же этот хлам может остаться после неправильной переустановки "винды".

Сейчас мы будем их удалять стандартным способом систему Windows.

Открываем Свойства системы . Это можно сделать тремя способами:

1) Win + Break/Pause

2) ПКМ по значку Моего компьютера и в контекстном меню выбираем Свойства

3) Пуск -> Панель управления -> Система

В Windows 7 и 8 нужно ещё слева выбрать Дополнительные параметры системы


В этом окошке жмём кнопку Создать в поле "Системные переменные"


Теперь в этом новом маленьком окошке вводим Имя переменной как devmgr_show_nonpresent_devices , а Значение будет 1


Затем жмем везде ОК до окна Свойств системы.

Остаётся только открыть этот самый Диспетчер.
Либо в этом самом окне Свойств системы выбрать вкладку Оборудование :


Либо вызвать и ввести в неё Devmgmt.msc или start devmgmt.msc


Всё. Теперь можете раскрывать списки и увидите, что там появились пунктики полупрозрачные или с восклицательным знаком. Это то, что нам нужно:


жмём по ним ПКМ и удаляем:

Так же все эти действия можно упростить (до открытия Диспетчера), введя в командную строку Set devmgr_show_nonpresent_devices=1
Тогда можно открыть диспетчер, поставить отображение скрытых и удалять.
Здесь следует учитывать то, что после перезагрузки эта опция пропадёт.

На этом всё. И в качестве заключения хотелось бы дать несколько примечаний:

1) Если не получается - попробуйте делать под Админом

2) Если не отображается - нажмите на кнопку "Обновить конфигурацию оборудования" или перезапустите Диспетчер

3) Смотрите внимательно что удаляете. Если что-то потом не запустится - я не виноват.

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

Создано по мотивам

Там мы их устанавливали. Здесь разберемся как удалить драйвер . Итак, драйвер — это программа посредник между оборудованием и операционной системой, помогающая последней корректно использовать все функции устройства. Сам драйвер для операционных систем Windows состоит из двух частей: файл inf, и системные файлы dll, sys и другие. INF файл текстового типа и содержит инструкцию о том, какие файлы и как необходимо использовать.

Вся эти система работает стабильно, пока не возникают ситуации с переустановкой драйвера. Обычно это происходит при обновлении драйвера или при установке другого оборудования. Например видеокарты . В этих ситуациях необходимо сначала удалить старый драйвер полностью, и установить другой или более новую версию. Программы типа CCleaner и подобные нам не помогут, так как не обладают необходимыми функциями. В этой статье мы расскажем как удалить драйвер с помощью специально-предназначенной для этого утилиты — Driver Sweeper. Утилита уже не поддерживается производителем, но по прежнему остается лучшей в своем деле. Мы так же рассмотрим ее приемника, по обещаниям, не менее эффективной программы — Driver Fusion

Как уже говорилось производитель не поддерживает данную утилиту и скачать ее с официального сайта не получится. Установщик весит 5.2 MB. Предлагаю скачать ее быстро по ниже приведенной ссылке

  • DriverSweeper_3.2.0.exe — .

Скачиваем и устанавливаем программу. Установка простая. Необходимо только в окошке ниже отказаться от установки Instagrille и нажать Далее >

Программу установили. Теперь необходимо стандартными средствами Windows удалить программное обеспечение, например драйвер для видеокарты. (Как выбрать графический адаптер можно прочитать .) Осуществляется это в разделе «Удаление программ» панели управления.

После того как драйвера удалены, приступаем к очистке.

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

Запускаем программу для удаления драйверов Driver Sweeper.

Программа по умолчанию на английском языке. Переключим на русский. Для этого в поле Options выбираем раздел Language . Далее справа, из выпадающего списка выбираем необходимый язык. Для изменения настроек нажимаем внизу кнопку Apply

Затем, слева выбираем Анализ и очистка . Справа выделяем флажками драйвера, которые необходимо удалить, и нажимаем внизу справа кнопку Анализ . В моем случае буду удалять старые драйвера видеокарты AMD

Программа произведет поиск оставшейся информации и покажет нам ее. От нас требуется нажать на кнопку Очистка

Driver Sweeper выдаст предупреждение. Нажимаете ОК

Необходимо немного подождать. Затем программа предложит перезагрузить компьютер. Нажимаете ОК и перезагружаетесь.

На этом процедура удаления драйвера закончена.

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

Вдобавок к этому, если устройства отсоединяются от USB порта некорректно (выдёргиваются без программного отключения функцией «Извлечь»), то установленные драйвера не только остаются в системе, но и ещё продолжают функционировать. Из-за чего нередко становятся причиной программного конфликта в процессе подключения другого USB-устройства (система «не видит» девайс, выдаёт ошибки, виснет).

Данная статья поможет вам избежать всех этих неприятностей: расскажет, как удалить драйвер неиспользуемого USB-накопителя или гаджета из операционной системы полностью, как автоматически деинсталлировать все USB-драйвера.

Удаление штатными средствами

Поверхностная очистка

1. Откройте меню «Пуск».

2. Клацните правой кнопкой мышки в появившейся панели «Компьютер». В перечне команд выберите «Свойства».

3. В колонке слева клацните «Диспетчер устройств».

4. В окне диспетчера, в горизонтальном меню, откройте раздел «Вид» и нажмите «Показать скрытые устройства».

5. Откройте директорию «Контроллеры USB».

6. Удалите старый или неиспользуемый драйвер: клацните по его названию правой кнопкой → нажмите «Удалить».

Глубокая очистка

1. Удерживая клавишу «Win», нажмите клавишу «Pause/Break». Или откройте: Пуск → правой кнопкой «Компьютер» → Свойства.

2. В открывшемся окне, в левой панели, кликните «Дополнительные параметры системы».

3. На вкладке «Дополнительно» нажмите кнопку «Переменные среды».

4. В верхнем блоке щёлкните «Создать».

5. В окне «Новая пользовательская переменная»:

  • в строке «Имя переменной» введите - devmgr_show_nonpresent_devices;
  • в «Значение переменной» - 1.

6. Нажмите «OK» в панели переменной и в окне «Переменные среды».

7. Вернитесь в окно свойств системы (Win+Break) и клацните «Диспетчер устройств».

8. В диспетчере откройте: Вид → Показать скрытые…

9. Нажмите кнопку «Обновить конфигурацию… » (последняя в панели).

10. Иконки неиспользуемых драйверов в диспетчере окрашены в серый цвет (то есть можно удалить этот драйвер). Поочерёдно откройте следующие директории и уберите ненужные элементы (клик правой кнопкой по названию → Удалить):

Драйверы несамонастраиваемых устройств

Совет! В этой директории вы также можете удалить старые драйвера, установленные программами, которые уже деинсталлированы из Windows (например, пакет фаервола Comodo).

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

11. По завершении очистки перезагрузите ПК.

Автоматическое удаление утилитой USBDeview

1. Скопируйте в адресную строку браузера эту ссылку - http://www.nirsoft.net/utils/usb_devices_view.html#DownloadLinks (официальный сайт утилиты). А затем нажмите «ENTER».

2. На открывшейся странице:

  • если у вас 32-разрядная система, клацните первую ссылку «Download USBDeview»;
  • если 64-x, вторую - «… for x64 systems».

3. Распакуйте скачанный архив: клацните по нему правой кнопкой → выберите «Извлечь всё… » → в окне «Распаковка… » нажмите «Извлечь».

4. Откройте распакованную папку. Запустите с правами администратора исполняемый файл USBDeview.

5. В окне утилиты отображается список всех установленных в систему драйверов. Красными «фишками» отмечены отключенные элементы.

Чтобы убрать драйвер из Windows, выделите его кликом мышки, а затем нажмите иконку «Корзина» в панели USBDeview. Или щёлкните по нему правой кнопкой и выберите в контекстном меню «Uninstall Selected Devices».

Примечание. Кроме функции удаления, USBDeview предоставляет возможность пользователю отключить/включить драйвер, посмотреть его свойства.

Удаление всех драйверов USB-устройств

Глобальную очистку драйверов можно выполнить утилитой DriveCleanup (ссылка для скачивания - http://uwe-sieber.de/files/drivecleanup.zip).

1. Распакуйте загруженный на компьютер архив.

2. Если у вас Windows 32-разрядная, откройте папку «Win32», если 64-х, соответственно, «x64».

3. Запустите от имени администратора файл «DriveCleanup».

После запуска утилита автоматически выполнит очистку. По завершении процедуры (когда в окне консоли появится сообщение «Press any key») нажмите любую клавишу.

Успехов в настройке системы!