Как удалить файл driver packages. Как удалить драйверы из Windows

Для Windows Phone 19.06.2019
Для Windows Phone

Статья о том, для чего и как правильно удалять драйвера в Windows.

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

Хорошо, если у Вас имеется "родной" диск, который шел в комплекте с материнской платой Вашего ПК. В данном случае установка драйверов намного ускоряется. Однако, если у Вас такого диска нет или же Вы - владелец ноутбука (к которым никаких дисков обычно не прилагают), тогда драйверы придется искать в Интернете и пробовать их работоспособность методом тыка:)

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

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

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

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


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

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

Просмотр скрытых устройств

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

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

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

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

Бывает и так, что в меню "Вид" Диспетчера устройств нет опции отображения скрытого оборудования. Если Вы столкнулись с этой ситуацией, то Вам нужно сделать следующее:

  1. Откройте окно "Свойства системы", как это описано выше (номер 2 на первом скриншоте), перейдите на вкладку "Дополнительно" и нажмите там кнопку "Переменные среды" (ударение на "Ы", а не на "Е" :)).
  2. Откроется окно настройки переменных. Здесь нам нужно нажать кнопку "Создать" под первой группой переменных (Переменные среды пользователя) и в открывшемся окошке ввести в первом поле имя переменной "devmgr_show_nonpresent_devices" (без кавычек), а в поле значения "1". Должно получиться так:

Сохраняем нашу новую переменную и нужная нам опция появится в меню "Вид" Диспетчера устройств.

Выводы

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

Напоследок, думаю, не лишним будет еще раз напомнить, что нужно всегда действовать осмысленно и представлять, чего Вы хотите добиться! Ведь, нарушить работу Windows, удалив всего один системный драйвер, проще простого, а восстановить потом его может быть весьма проблематично. Поэтому, не стоит уподобляться обезьяне с гранатой: не знаете чего-то - спросите у кого-нибудь, поищите в Интернете, а только потом принимайте важные решения. И все у Вас получится;)

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

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

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

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

Это несколько ускорит производительность системы, где используется подобное программное обеспечение. Речь идет об автоматизированном режиме, так что как удалить драйвер начисто - вопрос действия алгоритма программы, и он вас больше заботить не будет. Следует отметить, что не надо ожидать чудес. Подобные программы - все равно, что Выгода, которую можно получить, используя их, исчисляется в лучшем случае +1-5% к производительности. Но все равно многим людям, увлекающимся тюнингом системы, нравятся подобные "свистелки", дающие иллюзию огромной пользы.

Справедливости ради надо добавить, что многие из этих программ имеют куда более полезные функции, чем из системы. Но к этому вопросу мы еще вернемся по ходу статьи. Пока перечислим самые распространенные из платных программ - Driver Cleaner, Driver Sweeper, Drivertool. Следует отметить и бесплатные решения (хотя вышеперечисленные тоже есть с достаточной функциональностью в shareware варианте). В числе приемлемых freeware вариантов программ - DriverPack Solution, Drivers Installer Assistant, Drivers Pack Unpacker & Installer, Guru3D Driver Sweeper .

Рассмотрим функциональность программы DriverPack Solution, код которой распространяется по лицензии Opensource, предусматривающей публикацию исходного кода и его изменение, а также использование. Разработчики этой полезнейшей программы не остановились на решении проблемы, как удалить драйвер. Это программное обеспечение позволяет не только удалить ненужные драйвера из системы на Windows XP/Vista/Seven, но и найти и установить их, а также произвести обновление, скачав его из Интернета, значительно облегчив, таким образом, и так нетяжкий труд установщика.

Отметим, что есть две версии этого софта: Full и Lite. Первый отличается солидным размером дистрибутива, занимающим 3 гигабайта. Очень полезная вещица, так как махом решает проблемы с определением и установкой драйверов. Просто поставьте диск, а все остальное будет сделано в автоматическом режиме. Драйвера будут взяты из обширнейшей базы пакетов и тут же инсталлированы. Отметим гигантское количество вендоров ноутбуков, для которых особенно совместимости драйверов - Lenovo, Toshiba, Dell, Acer, Sony, HP, eMachines и так далее. При желании можно внести в базу данных поправки и удалить драйвер, ненужный по вашему разумению, изменив, таким образом, немалый размер дистрибутива.

Но зачем это делать, если есть необходимость в постоянном наличии универсального сборника драйверов? Просто записываем DriverPack Solution на внешний жесткий диск USB и берем с собой. И теперь у нас нет проблемы, как удалить драйвер или установить последнее обновление. Следует отметить и наличие Lite версии. Если вы точно уверены в будущем присутствии на всех машинах, где вы будете устанавливать драйвера, качественного Интернет-канала, то берите эту версию. Все необходимые драйвера будут выкачаны после определения оборудования, а в дальнейшем станут обновляться в автоматизированном режиме.

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

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

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

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

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

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

Хотите знать и уметь, больше и сами?

Мы предлагаем Вам обучение по направлениям: компьютеры, программы, администрирование, сервера, сети, сайтостроение, SEO и другое. Узнайте подробности сейчас!

Возможно, что Вам отдельно потребуется поставить .NET Framework . Подробнее о том что это, как и зачем я уже писал в материале "Что такое Microsoft .NET Framework и зачем его устанавливать. ".

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

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

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

А, и да, конечно же существует возможность восстановления удаленного, для чего существует соответствующая вкладка "Восстановление ".

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

Послесловие

Как постоянный инструмент оно не то чтобы надо (благо версии драйверов меняются не так часто), но иметь ввиду и держать под рукой, в качестве метёлки для избежания возможных проблем, вполне можно. Например, я порой сталкивался с тем, что драйвер не "выметается" целиком при обычной деинсталляции, что затрудняет установку другой (не важно новой или старой) версии, а следовательно либо вызывает синие экраны смерти, либо не дает их нормально устранить (если они вызваны текущим драйвером).

Как-то вот так вот, кратко и полезно. Пользуйтесь на здоровье, авось пригодится в хозяйстве;)

Как и всегда, если вдруг есть какие-то вопросы, мысли и дополнения, то комментарии к Вашим услугам.

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

  • У меня 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 не англоязычный (как-то я не подумал, что и совсем служебные утилиты будут локализованы). Это я буду чинить. Основная масса проблем должна быть починена, см.

Рекомендуем почитать

Наверх