Как удалить все драйвера системы. Как удалить установленные драйвера в ос windows различными способами

Специализированное программное обеспечение, выполняющее роль промежуточного звена в общении между операционной системой и внутренними или периферийными аппаратными компонентами, называется драйвером. Получая команду от ОС, драйверы преобразуют ее в понятный конкретному устройству набор инструкций, а получив отчет о выполнении - транслируют его назад. Изменения в аппаратной конфигурации или некорректная работа могут стать причиной, по которой требуется удалить драйверы. Рассмотрим возможности, предоставляемые пользователю для выполнения данной операции.

Производитель может обновить инструкции устройства, а разработчик ОС - внедрить новые функции. В результате драйвер, как и любое ПО, со временем устаревает. Пользователь, получая автоматические обновления, даже не замечает, как происходит замена. Идеальная картина взаимодействия портится за счет того, что система «аккуратно» складирует, а не удаляет ненужное. Microsoft отдала решение этой проблемы в руки пользователя.

Windows 7

Никаких специальных инструментов, предусматривающих удаление старых драйверов, здесь не предусмотрено. Тем не менее, у пользователя такая возможность имеется. Отправимся в панель управления.

Отмеченный на скриншоте пункт открывает меню управления установленным программным обеспечением и компонентами системы. Во вторую категорию как раз и попадают драйверы устройств.

Упростить поиск можно, выполнив сортировку по издателю. Когда вы знаете производителя ненужного более устройства, его можно найти и отметить в выпадающем списке. Система оставит в окне только выпущенное им ПО.

После того как вы определились с компонентами, можно начинать удаление драйверов из системы Windows 7. Воспользовавшись указанной кнопкой, вы получите предупреждение о последствиях своих действий.

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

Windows 10

В последней версии ОС Microsoft сделала шаг навстречу пользователям и предусмотрела специальные инструменты, позволяющие удалить ненужные драйверы в Windows 10. Располагаются они в меню очистки диска.

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

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

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

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

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

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

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

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

Командная строка

В особо запущенных случаях удалить драйвер с компьютера на Windows 7 или 10 можно с помощью командной строки. К примеру, когда устройства уже нет, а описанными способами избавиться от управляющих им компонентов не получается. Этот метод официально документирован Microsoft и разрешен для применения пользователям с административными правами. Воспользовавшись им, можно полностью удалить драйвер из системы.

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

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

Продолжим бороться с аудиосистемой ПК и рассмотрим, как удалить звуковой драйвер, обнаруженный в списке. Теперь, когда нам известного его имя, опубликованное в системе, снова воспользуемся командной строкой в режиме администратора.

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

Стороннее ПО

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

Driver Sweeper

Распространяется бесплатно и поддерживает полтора десятка языков, в число которых входит и русский.

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

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

При попытке запустить обновление, уведомление о котором появляется в верхней строке, мы попадаем на домашнюю страницу следующего «кандидата» - Treexy Driver Fusion.

Treexy Driver Fusion

Такое интересное поведение, с которым мы столкнулись, заставляет, установив программу, проверить версию и лицензионное соглашение.

Версия свежая, а вот кнопка «Хорошо» - смущает. Посмотрим, что предлагает нам данное ПО, изучив настройки.

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

Тягостное впечатление от возможностей данной программы приводит к мысли, что опыт, о котором говорят разработчики, будет напрямую связан с установкой Windows.

Driver Genius

Производитель Driver Genius русским языком нас не балует. Интерфейс в свежей версии ПО полностью на английском.

Предложения по очистке диска от «неверных» драйверов сводятся к сканированию хранилища. Список его содержимого мы создавали в командной строке.

В результате действий программы нам предлагается освободить «целых» девять мегабайт дискового пространства.

В заключение

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

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

  • У меня 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 при установке или обновлении драйверов устройств, старые версии драйверов сохраняются в системе. Тем самым пользователю предоставляется возможность в любой момент вернуть старую версию драйвера, если новый драйвер работает нестабильно (полезная возможность, как показал кейс с в которой пришлось ). Однако Windows автоматически не чистит и не удаляет старые версии драйверов, поэтому со временем, размер места, занимаемого драйверами на системном диске становится довольно большим. В этой статье мы поговорим о способах удаления старых версий драйверов (дубликатов) с помощью внутренних средств системы (без использования стороннего ПО).

Windows хранит все файлы в драйверов в своем репозитории драйверов (), находящемся в каталоге %WINDIR%\System32\DriverStore\FileRepository.

В моем случае на домашнем ноутбуке с Windows 7 (дата установки системы почти 8 лет назад), каталог FileRepository занимает на диске около 11 Гб и содержит >5000 файлов. Немало! В частности в этом каталоге хранится более 20 различных версий видеодрайвера Nvidia.

Важно!

  1. Ни в коем случае нельзя удалять файлы драйверов из каталога DriverStore вручную.
  2. Перед очисткой драйверов настоятельно рекомендуется создать точку восстановления системы (Checkpoint-Computer -Description «BeforeDriversDelete») или .
  3. После очистки хранилища, при подключении новых устройств возможно придется качать и устанавливать драйвера вручную.

Поиск и удаление старых версий драйверов в Windows 7

Рассмотрим способ поиска и удаления устаревших драйверов для Windows 7 (в Windows 8 и Windows 10 есть более простые методы удаления старых драйверов, о них написано ниже).

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

dism /online /get-drivers /format:table > c:\tmp\drivers.txt

Полученный файл импортируем в Excel и удаляем все лишние данные так, чтобы осталась только таблица со списков драйверов репозитория в формате: номер драйвера в системе (oemXXX.inf ), имя оригинального inf файла, класса устройства, производителя, даты установки и версии драйвера.

Полученную таблицу отсортируем по столбцу B (содержит имя оригинального inf файл) и столбцу F (дата установки драйвера). Среди групп одноименных драйверов помечаем для удаления все версии драйверов, кроме последней. В моем случае видно, что большинство старых версий драйверов принадлежит NVIDIA.

Для удаления драйвера можно использовать команду pnputil:

pnputil.exe -d oemxxx.inf

Примечание . В некоторых случаях удалить драйвер можно только с ключом –f : pnputil -f -d oemxxx.inf

Для удобства сформируем в пустом столбце команды для удаления каждого драйвера с помощью формулы =CONCATENATE("pnputil.exe -d ";A21)

Осталось сформированные команды скопировать и выполнить в командной строке или bat файле.

Таким образом, я удалил из системы порядка 40 старых версий драйверов, освободив тем самым около 8 Гб места (в основном за счет видеодрайверов NVIDEA).

Удаление старых драйверов в Windows 10/8 с помощью утилиты очистки диска

В Windows 10 / 8.1 есть более удобный инструмент для удаления старых версий драйверов — всем знакомая утилита очистки диска cleanmgr.exe, позволяющая в том числе очистить диск от .

Примечание . В Windows 10 и Windows 8 Upd 1 и есть возможность , имеющиеся в системе в отдельный каталог.

Утилита cleanmgr удалит все старые неиспользуемые версии драйверов. Однако при этом, нужно понимать, что в свойствах драйверов в диспетчере устройств кнопка «Откатить драйвер» станет неактивной.

Вы, конечно, знаете, что при подключении любого устройства к компьютеру операционная система устанавливает для него драйвер. Этот процесс в Windows 10 полностью автоматизирован и происходит без вмешательства пользователя. Установленный драйвер будет присутствовать в операционной системе даже в том случае, если устройство больше никогда не будет использоваться на этом компьютере. А теперь вспомните: сколько вы подключали к вашему ПК различных устройств и, соответственно, сколько лишних драйверов загружает ваша операционная система? Давайте разберемся, как можно просто справиться с этой проблемой.

Driver Store Explorer – программа для работы с драйверами

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

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

  • Имя inf-файла;
  • Тип драйвера;
  • Текущая версия;
  • Дата релиза;
  • Объем занимаемого пространства.

Управление установленными драйверами очень простое. Кликаем любой из списка правой кнопкой мыши и с помощью контекстного меню выполняем следующие действия:

  • Выделить драйвер или все драйвера;
  • Выделить старые драйвера;
  • Удалить;
  • Экспортировать данные о драйвере в csv-файл.

С помощью кнопок в правой части приложения доступны функции:

  • Refresh – пересканировать базу драйверов, присутствующих в операционной системе;
  • Add Package – установить драйвер с помощью inf-файла;
  • Delete Package – удалить драйвер с помощью inf-файла;
  • Select Old Drivers – отметить старые версии драйверов.

Вместо послесловия

С помощью утилиты Driver Store Explorer можно наглядно просмотреть драйвера, установленные в системе, а также найти и удалить неиспользуемые. И, напоследок, самое главное – перед началом удаления драйверов сделайте на всякий случай их

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

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

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

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


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

Интересный факт: На компьютере драйвера даже одного устройства хранятся в нескольких папках. Убедиться в этом довольно легко, необходимо на неиспользуемое устройство нажать правой кнопкой мыши и выбрать пункт «Свойства». Далее зайти на вкладку «Драйвер» и выбрать пункт «Сведения». В графе «Файлы драйверов» будут отображаться десятки файлов, которые являются программным обеспечением всего одного устройства.

Что делать, если скрытые устройства не появляются в «Диспетчере устройств»

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

  1. Запустите строку «Выполнить» комбинацией клавиш Windows+R и пропишите в ней следующую команду:
control.exe /name Microsoft.System
devmgr_show_nonpresent_devices

Чтобы она была активна по умолчанию, в графе «Значение переменной» следует поставить цифру 1, после чего нажать «ОК».

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