Как удалить дубликаты драйверов в windows 10

Внеплановый быстрый поиск и удаление дубликатов (старых версий) драйверов из хранилища драйверов Windows 10.

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

Штатный чистильщик cleanmgr справляется с этой задачей неплохо, кроме того, в Windows 10 имеется функция автоматического удаления старых пакетов драйверов. Однако, в некоторых случаях встроенные алгоритмы по той или иной причине могут игнорировать драйвера с одинаковыми названиями.

Откуда берутся дубликаты драйверов

Строго говоря, дубликаты драйверов в Windows 10 в сущности таковыми не являются. В данном случае речь идет о драйверах с одинаковыми названиями, но это драйвера разных версий. Так или иначе, все установленные драйвера оказываются в хранилище драйверов и, когда вы обновляете драйвер через Центр обновления Windows или вручную, старая версия остается в хранилище, обеспечивая тем самым возможность отката к предыдущей версии. Вы можете гарантировано и относительно безопасно удалить эти старые версии драйверов, воспользовавшись утилитой Driver Store Explorer или специальным скриптом PowerShell от Вадима Стеркина.

Удаление дубликатов драйверов в Driver Store Explorer

Скачайте архив с утилитой, распакуйте и запустите от имени администратора исполняемый файл Rapr.exe.

Driver Store Explorer

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

Driver Store Explorer

Найдите драйвера с одинаковыми именами (name.inf), отметьте лишние из них так, чтобы остался только один (последней версии), а затем нажмите «Удалить» и подтвердите операцию.

Driver Store Explorer

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

Чтобы удалить такой драйвер, сначала нужно удалить само устройство.

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

Удаление дубликатов драйверов скриптом

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

Скачайте архив со скриптом (ссылку на ПО найдете внизу статьи), распакуйте его и откройте файл dupe-drivers.ps1 Блокнотом.

Скрипт

Скрипт создает резервную копию дубликатов драйверов в папку C:drivers-backup-дата, рекомендуем вместо раздела C использовать пользовательский раздел D.

Замените букву, сохраните скрипт, кликните по нему ПКМ и выберите в меню «Выполнить с помощью PowerShell».

Выполнить

Если скрипт запросит разрешение на исполнение, введите в открывшейся консоли Y и нажмите ввод.

PowerShell

Об остальном скрипт позаботится сам, создав вдобавок на рабочем столе отчет dupe-drivers.tхt о проделанной работе.

Если сценарий не найдет дубликатов, каталог резервной копии создан не будет.

Ссылки на инструментарий: yadi.sk/d/ymoQW9vEP9G6hA

Загрузка…

Вы тут: Главная Windows PowerShell: как в Windows 10 быстро выявить дубликаты драйверов и удалить их

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

Я заинтересовался вопросом и применил свое руководство на практике. Помимо прочего мое внимание привлекло хранилище драйверов, занимающее 4GB. Сегодня я покажу, как автоматизировать анализ и очистку хранилища.

[+] Сегодня в программе

Общие сведения

Сначала немного теории в формате «вопрос – ответ».

Как образуются дубликаты драйверов

Хранилище драйверов находится в папке C:WindowsSystem32DriverStore. Когда система определяет устройство, она пытается установить для него подходящий драйвер из хранилища. Если там драйвера нет, ОС ищет подходящий в Windows Update и устанавливает его с серверов Microsoft. Вы также можете установить драйвер вручную, например, скачав его с сайта изготовителя. В любом случае установленный драйвер помещается в хранилище.

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

Нужно ли удалять дубликаты драйверов

В подавляющем большинстве случаев удаление вручную или скриптом не требуется, потому что:

  • Хранилище драйверов редко достигает существенного размера относительно общего объема диска.
  • В Windows 8.1 и 10 предусмотрена автоматическая очистка старых пакетов драйверов. Windows 10 с контролем памяти «на автомате» в целом хорошо с этим справляется без ручного вмешательства (в классической утилите cleanmgr тоже имеется опция очистки).

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

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

Сочетание этих факторов вкупе с реальной необходимостью освободить как можно больше места может быть поводом к анализу хранилища драйверов и удалению дубликатов. На системе моего коллеги именно так и было — 2.7GB дубликатов драйверов в хранилище занимали 2% SSD объемом 120GB.

10.0.17134
Total size of duplicate drivers: 2759.8 MB

ClassDescription                  Provider     Driver  Size (MB)Name         Version        Date       BootCritical
----------------                  ------------ ------      ---- ----         -------        ----       ------------
Extensions                        Intel        oem17.inf      0 hdbusext.inf 26.20.100.7263 2019-09-25        False
Extensions                        Intel        oem22.inf      0 hdbusext.inf 27.20.100.7989 2020-06-05        False
System devices                    Intel        oem15.inf    0,3 heci.inf     1815.12.0.2021 2018-04-11         True
Display adapters                  Intel        oem7.inf   814,7 igdlh64.inf  23.20.16.4944  2018-02-04        False
Display adapters                  Intel        oem16.inf 1004,1 igdlh64.inf  26.20.100.7263 2019-09-25        False
Display adapters                  Intel        oem21.inf  907,3 igdlh64.inf  27.20.100.7989 2020-06-05        False
Sound, video and game controllers Intel(R)     oem23.inf    5,7 intcdaud.inf 10.26.0.9      2019-12-03        False
Sound, video and game controllers Intel(R)     oem18.inf    5,7 intcdaud.inf 10.26.0.8      2019-05-17        False
Sound, video and game controllers Intel(R)     oem19.inf    7,1 intcdaud.inf 10.27.0.5      2019-08-22        False
Sound, video and game controllers Intel(R)     oem6.inf     7,6 intcdaud.inf 10.24.0.3      2017-12-06        False
Sound, video and game controllers Intel(R)     oem24.inf    7,1 intcdaud.inf 10.27.0.8      2020-01-21        False
Network adapters                  Cisco        oem11.inf    0,1 vpnva-6.inf  3.1.6019.0     2014-02-26        False
Network adapters                  Cisco        oem10.inf    0,1 vpnva-6.inf  3.1.4065.0     2013-08-30        False

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

Как определяются дубликаты драйверов

Про встроенную очистку мне неведомо, но в общем случае подход несложный. У драйвера есть исходное имя файла вида igdlh64.inf, а каждая версия хранится в отдельной папке с невзрачным именем вида oem16.inf наряду с сопутствующими файлами.

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

Безопасно ли удалять дубликаты драйверов

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

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

Зачем нужен скрипт, если есть Driver Store Explorer

В домашних условиях вы можете задействовать удобную утилиту Driver Store Explorer с графическим интерфейсом и открытым исходным кодом.

Дубликаты драйверов

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

Вообще, для меня эта запись не столько про удаление драйверов, сколько про PowerShell :) Потому что столкнувшись с задачей по автоматизации, я всегда стараюсь развить навыки, ибо они пригодятся и в будущем.

Сбор и вывод сведений должен работать в Windows 8.1+, а резервное копирование и удаление – только в Windows 10 1607+ (подробнее о причинах ниже).

👉 Скачать скрипт dupe-drivers.ps1 в архиве (инструкции по разблокировке и запуску).

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

Параметры скрипта

Вы можете запускать скрипт с параметрами:

  • -Outfile — путь к файлу с результатами. По умолчанию — рабочий стол.
  • -Backup — путь к папке для бэкапа драйверов. По умолчанию – C:drivers-backup-YYYY-MM-DD, но лучше указать другой диск, конечно.
  • -HideRollback — исключение из анализа/вывода драйверов, использующихся для отката текущего драйвера. По умолчанию исключаются только версии, используемые системой, т.е. самые новые. Параметр не принимает значения.

Получение списка дубликатов

Красота PowerShell в том, что непростая на первый взгляд цель достигается одной командой!

$dupe = @()
Get-WindowsDriver -Online |
Select-Object ClassDescription, ProviderName, Driver, Version, Date, BootCritical, 
@{name="Name"; expression= {Split-Path -Path $_.OriginalFileName -Leaf}},
@{name="Cat"; expression= {Split-Path -Path $_.OriginalFileName}} |
Group-Object -Property Name | Where-Object {$_.Count -gt 1} |
ForEach-Object {$dupe += $_.Group | Sort-Object Date -Descending | Select-Object -Skip 1}

В первой строке просто объявляется массив для сбора в него дубликатов. Затем в дело вступает мощный конвейер. Это фактически «ванлайнер», но я разбил код на строки для наглядности:

  • Get-WindowsDriver получает список всех сторонних драйверов. Для вывода абсолютно всех драйверов можно использовать параметр -All, но здесь это не нужно.
  • Select-Object формирует список нужных для анализа свойств драйвера. Прелесть в том, что можно на лету преобразовывать их значения. Так в свойстве OriginalFileName содержится полный путь к исходному INF-файлу. У меня в строках 4 и 5:
    • Имя OriginalFileName заменяется на Name для краткости, а значение сокращается до имени файла с помощью командлета Split-Path с параметром -Leaf (последний элемент пути).
    • Имя Cat присваивается пути к родительской папке драйвера с помощью того же Split-Path, но уже без -Leaf. Путь пригодится дальше для подсчета размера дубликатов.
  • Group-Object группирует драйверы по исходному имени, а Where-Object отбирает имена, для которых имеется более одной группы. Логика та же, что в разделе статьи про определение дубликатов. На этом этапе такая картина:
    Count Name                      Group
    ----- ----                      -----
        4 tplcd.inf                 {@{ClassDescription=Monitors; ProviderName=Lenovo; Driver=oem16.inf; Version=6.13.3....
        2 powermgr.inf              {@{ClassDescription=System devices; ProviderName=Lenovo; Driver=oem33.inf; Version=1...
        2 nvhda.inf                 {@{ClassDescription=Sound, video and game controllers; ProviderName=NVIDIA Corporati...
        2 itpcdless.inf             {@{ClassDescription=Human Interface Devices; ProviderName=Microsoft; Driver=oem49.in...
        2 ipcdless.inf              {@{ClassDescription=Human Interface Devices; ProviderName=Microsoft; Driver=oem56.in...
  • Наконец, с помощью ForEach-Object для каждой группы выполняется вложенный конвейер:
    • Sort-Object сортирует драйверы по дате (новые сверху)
    • Select-Object с параметром -Skip 1 выбирает все объекты кроме первого, т.е. кроме самого нового драйвера
    • $dupe += добавляет эти объекты в ранее объявленный массив

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

Подсчет размера дубликатов

В NTFS нет понятия размер папки, поэтому файловые менеджеры подсчитывают его динамически, исходя из общего размера файлов в папке. В PowerShell это тоже достигается перебором всех файлов в папке и суммированием их свойства Length (размера в байтах), хотя отдельный командлет не помешал бы. Это не самый эффективный способ, есть и побыстрее — модуль GetSTFolderSize, но для небольшого количества папок и файлов его достаточно.

$dupe | ForEach-Object {
    $totalsize += [math]::Round(((Get-ChildItem $_.Cat -Recurse | Measure-Object length -Sum).Sum)/1mb,1)
    }

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

Поскольку по ходу дела вычисляется размер каждого дубликата, хочется заодно добавить его в сводку, т.е. в объект $dupe. Для этого предусмотрен командлет Add-Member, с которым я раньше не пересекался в практических задачах.

Здесь у меня случился единственный затык – не работал конвейер вида $dupe | Add-Member. Василий Гусев объяснил, что этот командлет не выполняет скриптблок (здесь – подсчет размера файлов), а сохраняет его в значение.

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

$dupe | ForEach-Object {
    $s = [math]::Round(((Get-ChildItem $_.Cat -Recurse | Measure-Object length -Sum).Sum)/1mb,1)
    #Add size info to the dupe driver object
    $_ | Add-Member -MemberType NoteProperty -Name Size -Value $s
    #Calculate total size of dupe drivers
    $totalsize += $s
    }

Однако в комментариях Андрей предложил более оптимальный вариант — добавлять свойство Size на этапе формирования объекта, что делает Add-Member ненужным на этом этапе. Скрипт обновлен, но в статье я оставил как было.

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

Бэкап и удаление дубликатов

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

Бэкап

Начиная с Windows 8.1 Update 1 для экспорта всех сторонних драйверов можно задействовать dism.exe с ключом /Export-Driver или командлет PowerShell Export-WindowsDriver. Утилита pnputil обрела такую возможность в Windows 10 1607, причем с выбором драйверов для экспорта.

Бэкап всех дубликатов. Массив просто передается по конвейеру утилите pnputil.

$dupe | ForEach-Object {pnputil /export-driver $_.Driver $Backup}

Бэкап только новейших дубликатов. Мне больше нравится вариант резервного копирования только того драйвера, который [предположительно] предлагается для отката в диспетчере устройств. Учтите, что при запуске скрипта с параметром -HideRollback откатная версия не удаляется, а в резервную копию попадает та, что была установлена перед ней.

$dupe | Group-Object -Property Name | ForEach-Object {
        $_.Group | Select-Object -First 1 | ForEach-Object {
                pnputil /export-driver $_.Driver $Backup
            }
    }

Здесь я снова группирую драйверы по имени и выбираю нужные командлетом Select-Object. Выше я с помощью -Skip 1 отбрасывал новейший драйвер, т.е. используемый системой, чтобы оставить только дубликаты. А сейчас выбираю среди дубликатов самый новый, т.е. первый, с помощью -First 1.

Удаление

Парадоксально, но в инструментарии DISM не предусмотрено удаление драйвера из запущенной системы. Командлет PowerShell Remove-WindowsDriver и ключ dism.exe /Remove-Driver работают только с автономными образами. Зато такая функция есть в утилите pnputil, которая активно развивается в Windows 10, что следует из документации.

Отмечу, что pnputil постепенно вобрала в себя ряд функций консольного диспетчера устройств devcon. Теперь утилиты и модуля PowerShell PnpDevice уже достаточно для автоматизации различных типовых задач вроде удаления или перезапуска устройств.

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

$dupe | Where-Object {$_.Name -eq 'igdlh64.inf'} | 
ForEach-Object {pnputil /delete-driver $_.Driver}

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

Удаление всех дубликатов. Весь массив передается по конвейеру утилите pnputil.

$dupe | ForEach-Object {pnputil /delete-driver $_.Driver}

Рекомендации по использованию скрипта

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

  • Не выполняйте удаление вслепую, сначала изучите расклад. Чистка не имеет смысла без существенной экономии.
  • Не удаляйте драйверы без предварительного бэкапа. Его можно зачистить спустя какое-то время, если места нет.
  • Оставляйте в хранилище последний дубликат, сохраняя возможность отката (вариант для самых осторожных). Это достигается запуском скрипта с параметром -HideRollback.

Дискуссия

Давайте посмотрим, как у вас обстоят дела с дубликатами драйверов! В комментариях опубликуйте:

  1. Ссылку на pastebin с результатами выполнения скрипта.
  2. Ожидаемый размер экономии от удаления пакетов драйверов в утиите cleanmgr, запущенной из командной строки от имени администратора.
    Дубликаты драйверов
  3. Объем системного раздела из свойств диска. Это позволяет оценить долю пространства, занятого старыми версиями.
  4. Дату первоначальной установки ОС. Это может дать дополнительную пищу для размышлений. Тему я разбирал совсем недавно.

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

Содержание:

  • Поиск и удаление старых версий драйверов в Windows с помощью PowerShell
  • Удаление старых драйверов в Windows с помощью утилиты очистки диска cleanmgr
  • Удаляем неиспользуемые драйвера с помощью DevManView

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

Размер каталога с драйверами можно получить с помощью PowerShell (
"{0:N2} GB" -f ((gci –force $Env:windirSystem32DriverStoreFileRepository –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb)
) или графических утилит. В моем случае на домашнем ноутбуке с Windows каталог FileRepository занимает на диске около 11 Гб и содержит >5000 файлов. В частности, в этом каталоге хранится более 20 различных версий видеодрайвера Nvidia.

Размер каталог DriverStore FileRepository в Windows

Важно!

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

Поиск и удаление старых версий драйверов в Windows с помощью PowerShell

Рассмотрим способ поиска и удаления старых версий драйверов в Windows. Вы можете вывести полный список установленных драйверов с помощью PowerShell и WMI (CIM) класса Win32_PnPSignedDriver:

Get-WmiObject Win32_PnPSignedDriver| select DeviceName, DeviceClass,Manufacturer, DriverVersion, DriverDate,InfName|Out-GridView

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

получить полный список установленных драйверов в хранилище DriverStore Windows с помощью PowerShell

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

Get-WindowsDriver –Online| select Driver, ClassName, BootCritical, ProviderName, Date, Version, OriginalFileName|Out-GridView

Вы можете удалить любой из установленный драйверов с помощью утилиты pnputil:

pnputil.exe /remove-device oemxxx.inf

Примечание. В некоторых случаях удалить драйвер можно только с ключом force (-f):
pnputil /remove-device oemxxx.inf /force

Найдите в таблице драйвера, для которых присутствуют несколько версий и удалите все старые версии драйвера (кроме самой последней) с помощью pnputil.

Будьте особо внимательными с драйверами, важными при загрузке Windows (
BootCritical=True
)

Также вы можете выгрузить список драйверов в текстовый файл и импортировать его в Excel:

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

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

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

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

pnputil.exe d oemxxx.inf - удаление драйвера

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

Для автоматического поиска драйверов устройств, для которых установлено несколько версий драйверов (дубликаты) можно использовать готовый PowerShell скрипт FindDriverDuplicates.ps1 (https://github.com/winadm/posh/blob/master/Desktop/FindDriverDuplicates.ps1).

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

powershell скрип для поиска/удаления дубликатов и старых версий драйверов в windows

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

В современных версиях Windows 10 и 11 вы можете использовать утилиту очистки диска
cleanmgr.exe

для удаления старых версий драйверов (эта же утилита позволяет удалить устаревшие обновления).

  1. Запустите утилиту «Очистка диска»: Win+R -> cleanmgr
  2. Выберите системный дискdisk cleanup: cleanmgr.exe
  3. Нажмите на кнопку Clean up system files Очистка системных файлов
  4. Отметьте в списке Device driver packages (Пакеты драйверов устройств)Удаление старых пакетов драйверов в Windows 10
  5. Нажмите ОК;
  6. Данное задание очистки удалит все предыдущие версии драйверов, установленные через Windows Update или вручную. В Windows останется только последняя версия для каждого из драйверов. При этом устройств кнопка “Откатить драйвер” (RollBack Driver) в свойствах драйвера в диспетчере устройств станет неактивной. после удаления старых версий драйверов нельзя откатиться на старую версию драйвера windows

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

Удаляем неиспользуемые драйвера с помощью DevManView

Для просмотра списка установленных драйверов в Windows можно использовать небольшую бесплатную утилиту DevManView от NirSoft (https://www.nirsoft.net/utils/device_manager_view.html)

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

  1. Скачайте и запустите утилиту DevManView;
  2. Включите следующие параметры в меню Options: Mark Connected Devices и Show Non Plug and Play Drivers;
  3. Отсортируйте таблицу по столбцу Connected. Это позволит понять какие устройства сейчас подключены, а какие нет;
  4. В целях стабильности рекомендуем сначала отключить выбранные драйвера (Disable Selected Devices –> F6) и только после перезагрузки удалять драйвера с помощью опции Uninstall Selected Devices.DevManView утилита для управления драйверами в driverstore

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

Если удаление старых драйверов Windows 10, 8 и Windows 7 интересовало в распространенных контекстах удаления старых драйверов видеокарты или USB устройств, рекомендую использовать отдельные инструкции на эту тему: Как удалить драйверы видеокарты, Компьютер не видит флешку и другие USB устройства.

Также на схожу тему может оказаться полезным материал: Как создать резервную копию драйверов Windows 10.

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

Во всех последних версиях Windows присутствует встроенная утилита очистки диска, о которой уже писалось на этом сайте: Использование утилиты очистки диска в расширенном режиме, Как очистить диск C от ненужных файлов.

Этот же инструмент дает нам возможность легко удалить старые драйверы Windows 10, 8 или Windows 7 с компьютера. Для этого выполните следующие действия.

  1. Запустите «Очистку диска». Нажмите клавиши Win+R (где Win — клавиша с эмблемой Windows) и введите cleanmgr в окно «Выполнить».
  2. В утилите очистки дисков нажмите по кнопке «Очистить системные файлы» (для этого требуется, чтобы у вас были права администратора). Очистка системных файлов
  3. Отметьте пункт «Пакеты драйверов устройств». У меня на скриншоте указанный пункт не занимает места, но в некоторых случаях размер хранимых драйверов может достигать нескольких гигабайт. Удаление старых драйверов из хранилища
  4. Нажмите «Ок» для запуска удаления старых драйверов.

После непродолжительного процесса, старые драйверы будут удалены из хранилища Windows. Однако учитывайте, что при этом, в свойствах драйверов в диспетчере устройств кнопка «Откатить» станет неактивной. Если же у вас, как и на скриншоте, указано, что пакеты драйверов устройств занимают 0 байт, когда на самом деле это не так, используйте следующую инструкцию: Как очистить папку DriverStore FileRepository в Windows 10, 8 и Windows 7.

Со временем Windows хранит множества резервных копий в системе, временные файлы, старые драйвера, которые постепенно будут занимать пространство на жестком диски. Конечно, можно почистить диск «C» от ненужных файлов, чтобы освободить место на вашем жестком диске, но что делать, если старые драйвера какого-либо устройства мешают установки новых версий? Особенно проблемы вызывают беспроводные мыши, клавиатуры и другие USB устройства, которые не хотят иногда работать, пока не удалим старые драйвера и не установим новые.

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

1. Как удалить предыдущую версию драйвера

Каждый раз, когда драйвер обновляется раз за разом, то старые резервные копии драйверов остаются в системе, тем самым забивая жесткий диск и мешают установки новых версий драйвера. Для удаления предыдущих версий драйвера напишите в «Поиске» (около Пуск) Командная строка или CMD, нажмите на ней правой кнопкой мыши и запустите от имени администратора, далее в открывшимся окне задайте команду cleanmgr.

Очистка диска и Удаление старых драйверов


Поставьте галочку около пункта Пакеты драйверов устройств и нажмите OK. Будет выполнена очистка всех старых пакетов драйверов.

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

2. Как удалить скрытые драйвера устройств в Windows

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

  • Нажмите сочетание кнопок Win+R и введите следующую команду devmgmt.msc, чтобы открыть диспетчер устройств.

Диспетчер устройств Win+r быстрый вход


  • В диспетчере устройств, нажмите Вид > Показать скрытые устройства.

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

Показать скрытые устройства


Мы видим на картинке выше слабо выделенные устройства, это и есть скрытые драйвера, которые иногда мешают нам.

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

Удалить программы драйверов для этого устройства

3. Как выявить скрытые драйвера устройств в диспетчере

Команда связана с тем, чтобы отобразить скрытые драйвера в диспетчере устройств, старых версиях Windows XP, 7.

Запустите Командную строку от имени администратора и введите команду:

channel

  • SET devmgr_show_nonpresent_devices = 1

Можете перейти в диспетчер устройств и попробовать отобразить скрытые.

Отобразить скрытые драйвера в диспетчере устройств



Смотрите еще:

  • Резервное копирование и восстановление реестра Windows
  • 9 Причин Почему Компьютер с Windows Зависает
  • Проверка плохих драйверов с Windows Driver Verifier
  • Как Сделать Резервную Копию Драйверов Windows 10
  • Проверка оперативной памяти RAM на работоспособность в windows 10

[ Telegram | Поддержать ]

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

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

Откуда берутся дубликаты драйверов

Строго говоря, дубликаты драйверов в Windows 10 на самом деле не дублируют драйверы. В данном случае речь идет о драйверах с одинаковым названием, но это драйверы разных версий. Так или иначе, все установленные драйверы попадают в архив драйверов, и когда вы обновляете драйвер через Центр обновления Windows или вручную, старая версия остается в архиве, что дает возможность вернуться к предыдущей версии. Вы можете безопасно и гарантированно удалить эти старые драйверы с помощью утилиты Driver Store Explorer или специального скрипта PowerShell вадима Стеркина.

Удаление дубликатов драйверов в Driver Store Explorer

Скачайте архив с утилитой, распакуйте и запустите исполняемый файл от имени администратора Rapr.exe.

Проводник магазина драйверов

Утилита просканирует хранилище драйверов и отобразит их список, отсортированный по типу устройства.

Проводник магазина драйверов

Найдите драйверы с таким же именем (name.inf)отметьте лишние, чтобы остался только один (Последняя версия), затем нажмите «Удалить» и подтвердите операцию.

Проводник магазина драйверов

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

Чтобы удалить такой драйвер, необходимо сначала удалить само устройство.

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

Удаление дубликатов драйверов скриптом

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

Скачиваем архив со скриптом (ссылка на программу внизу статьи), разархивируйте и откройте файл dupe-drivers.ps1 Блокировать заметки.

Киносценарий

Скрипт создает резервную копию дублирующих драйверов в папке C: драйвер-резервная-дата, мы рекомендуем использовать настраиваемый раздел D вместо раздела C.

Замените букву, сохраните сценарий, щелкните его правой кнопкой мыши и выберите «Выполнить с помощью PowerShell» в меню».

Выполнить

Если скрипту требуется разрешение для запуска, введите Y в открытой консоли и нажмите вход.

PowerShell

Скрипт сделает все остальное и создаст отчет на рабочем столе dupe-drivers.tхt о проделанной работе.

Если сценарий не находит дубликатов, каталог резервных копий не будет создан.

Ссылка на инструментарий: yadi.sk/d/ymoQW9vEP9G6hA

Источник изображения: www.white-windows.ru

udalenie-drayverovДоброго часа!

При установке и обновлении драйверов — часто возникает необходимость в удалении старых: например, новый драйвер может конфликтовать со старым, или просто вызовет ошибку при установке. Чаще всего такое происходит с драйверами для: принтера, сетевых карт, USB, PCI-устройств.

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

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

И так…

Ремарка! Если вы хотите найти и обновить драйвера в автоматическом режиме, рекомендую спец. утилиты: https://ocomp.info/update-drivers.html

*

Содержание статьи

    ускорение ПК

  • 1 3 способа удаления устаревших и ненужных драйверов
    • 1.1 Через диспетчера устройств
    • 1.2 Через панель управления
    • 1.3 С помощью утилиты Driver Sweeper
  •  → Задать вопрос | дополнить 

3 способа удаления устаревших и ненужных драйверов

Через диспетчера устройств

Это надежный, простой и довольно быстрый способ. Можно удалить практически любой драйвер, ненужно ничего скачивать дополнительно или устанавливать. Рассмотрю все по шагам.

  1. Сначала открываем диспетчер устройств. Сделать это можно через панель управления Windows, или просто нажав Win+R, а затем в строку «Открыть» ввести команду devmgmt.msc (пример ниже на скриншоте).

    Запуск диспетчера устройств - devmgmt.msc

    Запуск диспетчера устройств — devmgmt.msc

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

    Диспетчер устройств — свойства

    Диспетчер устройств — свойства

  3. После чего откройте вкладку «Драйвер» и нажмите кнопку «Удалить устройство» (см. скриншот ниже).

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

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

*

Через панель управления

Некоторые драйвера можно удалить с помощью стандартного приложения в Windows «Удаление программ» (ссылка есть в панели управления, см. скриншот ниже).

Примечание!

Этот способ хорош тем, что помимо самого драйвера, часто идет в комплекте рабочий центр для управления и изменения настроек драйвера.

Например, драйвера на звук (панель управления Realtek), на видеокарту (Nvidia или AMD) и пр. — во всех них есть спец. центры управления. Если эти драйвера удалить через диспетчер устройств — то эти «центры» останутся в системе, поэтому их целесообразнее удалять через панель управления.

Как открыть панель управления (в т.ч. в Windows 10) — https://ocomp.info/control-panel.html

Панель управления — программы — удаление

Панель управления — программы — удаление

Далее в списке попробуйте найти те драйвера, которые хотите удалить. Например, у меня нашлось:

  • Драйвер графики Intel (драйвер на видеокарту);
  • Компоненты Intel;
  • Пакет драйверов Windows — Atheros Communications (Wi-Fi драйвера);
  • Пакет драйверов Windows — Dell Inc и т.д.

Выделены драйвера, которые есть в списке программ

Выделены драйвера, которые есть в списке программ

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

*

С помощью утилиты Driver Sweeper

Для тех случаев, когда обычными способами удалить драйвер не получается — можно прибегнуть к специальным утилитам 😉. Одна из таких утилит (причем, одна из лучших) — это Driver Sweeper!

Driver Sweeper

driver-sweeper-logo

Сайт разработчика: http://phyxion.net/

Софт-портал: http://www.softportal.com/software-18719-driver-sweeper.html

Надежная утилита, предназначенная для удаления драйверов из системы Windows (хочу подчеркнуть, что удаление будет выполнено очень чисто, даже системный реестр будет проверен на все «хвосты», и, если оные будут найдены — так же подвергнуться зачистке!).

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

После установки и запуска программы — первое, что рекомендую сделать, переключить язык на русский (по умолчанию, будет выбран английский). Для этого щелкните в меню по Language и выберите Russian (см. скриншот ниже).

Переключение языка на русский

Переключение языка на русский

Затем в меню слева выберите «Анализ и очистка«, отметьте галочками всё, что хотите найти и жмите кнопку анализа.

Анализ и поиск старых "дров"

Анализ и поиск старых «дров»

Через мгновение Driver Sweeper предоставит вам весь список драйверов, которые вы можете очистить. Например, в моем случае я удалил AMD драйвера (что интересно, т.к. на ноутбуке только встроенная Intel HD карта — и они в принципе не нужны!).

Выбор драйверов для удаления...

Выбор драйверов для удаления…

*

Вот, собственно, и все.

Легкого и быстрого удаления!

👣

Статья откорректирована: 25.01.2019

donate

dzen-ya

Полезный софт:

  • видеомонтаж
  • Видео-Монтаж
  • Отличное ПО для создания своих первых видеороликов (все действия идут по шагам!).
    Видео сделает даже новичок!

  • утилита для оптимизации
  • Ускоритель компьютера
  • Программа для очистки Windows от «мусора» (удаляет временные файлы, ускоряет систему, оптимизирует реестр).

Понравилась статья? Поделить с друзьями:
  • Как удалить дубликат учетной записи windows 10
  • Как удалить другую версию windows 10 после установки новой
  • Как удалить другого пользователя в windows 10 при входе
  • Как удалить другого администратора в windows 10
  • Как удалить драйвера джойстика с пк windows 10