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

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

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

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

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

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

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

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

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

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

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

Послесловие

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

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

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

Всем привет, мои дорогие читатели!

Рад снова вас видеть в моем блоге! Вчера менял программное обеспечение на более свежие версии и столкнулся с таким фактом, что иногда приходится сносить старое ПО. Сразу же возник вопрос — как удалить установленные драйвера? Ведь иногда, простым откатом не обойтись. В этой статье, расскажу вам все способы, как это можно сделать безопасно и неповредив при этом свой ПК.

Для чего это нужно?

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

Особенно с появлением нового DierctX. И в этом случае нужно удалить все старые версии драйверов. Сделать это можно несколькими способами и программами, о которых я и расскажу ниже. Кстати, это касается не только железа первичной важности и определенной ОС. Такое может понадобиться даже на современной windows 10.

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

Удаление драйвера с помощью специального ПО

Вариант хорош тем, что все делается быстро. Однако, качественную программу, да еще и бесплатную, найти достаточно сложно. Driver Sweeper – софт, который я сам попробовал. Скачать можно отсюда . Загружайте и устанавливайте. После запуска на windows 7, или на любой другой системе, желательно, чтобы вы активировали сразу русский язык. Это делается во вкладке Language.

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

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

Есть еще одна программа, которая поможет вам в этом. Называется она Driver Genius. Скачать ее можно отсюда . Скачайте, установите и запустите ее. У вас откроется вот такое окошко.

Как показано на рисунке, нажимайте Driver Cleanup и выбирайте устройство. Затем кликайте кнопку «Next ». Программа сама удалит все, что нужно, а вам только останется перезагрузить ПК.

Удаление через диспетчер устройств операционной системы

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

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

В нем выберете нужный девайс, нажимаете правой кнопкой и выбираете вкладку «драйвер ». Далее жмите «Удалить ».

Появится следующее.

Поставьте галочку там, где указано и нажмите «Удалить ».

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

Меры предосторожности

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

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

Заключение

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

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

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

Здравствуйте дорогие посетители! Решил написать небольшую, но полезную заметку, и рассказать как удалить драйвер. Компьютер вещь непредсказуемая, поэтому может пригодиться что угодно, даже удаление драйвера определенного устройства. Для чего? Та разное бывает, возможно драйвер установился криво, или не совсем тот который нужно. А установить новый поверх старого не всегда получается, поэтому можно удалить драйвер устройства и установить новый.

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

Удалять драйвер мы будем через диспетчер устройств, мне кажется, что это единственный правильный и надежный способ. Но все же, стоит понимать, что это опасно, возле кнопки “Удалить” даже написано “Удаление драйверов (для опытных)”, думаю что это написали не просто так. Ну ничего страшного, мы же опытные:).

Сначала нам нужно запустить диспетчер задач. Для этого, нажмите правой кнопкой на значок “Мой компьютер” и выберите “Свойства” . Откроется окно, в котором слева нажмите “Диспетчер устройств” .

В диспетчере устройств выберите устройство, драйвер которого хотите удалить, нажмите на него правой кнопкой мыши выберите “Свойства” .

Появиться предупреждение об удалении драйвера. Если с этим драйвером были установлены какие то программы, то можете установить галочку возле “Удалить программы драйверов для этого устройства” и нажмите кнопку “Ок” .

Там мы их устанавливали. Здесь разберемся как удалить драйвер . Итак, драйвер — это программа посредник между оборудованием и операционной системой, помогающая последней корректно использовать все функции устройства. Сам драйвер для операционных систем 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 выдаст предупреждение. Нажимаете ОК

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

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