Удаление старых версий драйверов из хранилища Windows | Windows для системных администраторов

Удаление старых версий драйверов из хранилища Windows

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

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

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

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

Важно!

  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

Выгрузка списка дрйверов в системе с помощью dism /online /get-drivers  Полученный файл импортируем в 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)

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

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

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


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

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

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

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

Еще записи по теме: Windows 10, Windows 7
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 2

Оставить комментарий
  1. макс | 17.02.2017

    а какие параметры импорта в Excel? У меня с ходу в одном столбце при импорте находятся оба названия драйвера, разделённых вертикальной чертой:
    oem94.inf | prnms009.inf
    oem95.inf | prnms001.inf
    oem68.inf | akspccard.inf
    oem69.inf | aksusb.inf
    oem26.inf | pfc027.inf
    oem56.inf | wpdrapi.inf
    oem11.inf | teamviewervpn.inf
    oem28.inf | sm953bw.inf
    oem53.inf | netrtx64.inf

    типа так….
    и ещё вопрос — сортировка по столбцам одновременно не получается, что сортировать в первую очередь?

    Ответить
    • itpro | 21.02.2017

      Почистите файл от мусора и откройте в Excel — разделитель |.
      В Excel есть уровни сортировки. Сначала сортируете по столбцу с именем inf файла, потом — по версии.

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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.25MB/0.00110 sec