System32 driverstore filerepository что это за папка
Как удалить папку Driverstore в Windows
Собственно говоря, при работе на компьютере, а это относится и к новичкам и бывалым метрам, каждый для себя должен уяснить одну простую, но непреложную истину. Персональный компьютер — открытая система, ну, такое решение было принято ещё в далёкие 70-е годы, а Билл Гейтс своим призывом: «Компьютер каждой домохозяйке» — только подлил масла в огонь. Другими словами, всё общедоступно, всё что угодно можно изменить. Отсюда и взломанные банки по всему миру, отсюда и постоянно «летящие» системы после одного нажатия на клавишу.
Вывод в этой ситуации можно сделать следующий — если вы не уверены, если не знаете назначения папки или файла (а это обычное дело, подавляющее большинство файлов — для чего они предназначены в программной системе, тем более Windows, мы не знаем), то ни в коем случае их удалять нельзя.
Ну действительно, а зачем удалять папку DriveStore, пусть и размер её уж слишком велик может быть — почти 20 ГБ. Чтобы очистить диск?! Так, у вас винчестер размером в 800 ГБ и 100–200 из них постоянно свободны! Зачем удалять папку, если вы не знаете о ней ничего.
Поэтому вывод следующий — ни в коем случае ни саму папку целиком, ни её содержимое удалять нельзя!
Продолжаем разговор об удалении
Тем не менее, как говорил барон Мюнхаузен, а головы-то у нас мыслящие. Посмотрите на эти имена — DriveStore, а внутри папка — FileRepository. И конечно, становится понятным, что папка имеет отношение к драйверам (DriveStore — Склад драйверов) и библиотеке файлов.
Уже одно это может насторожить — ведь подавляющее большинство проблем на компьютере с драйверами как раз и связаны.
Действительно, Windows именно в папку DriveStore на системном диске, по адресу Windows\System32\, и складывает все используемые на компьютере драйверы. Но дело в том, она хранит там не только текущие драйверы, но и все, которые использовались до сих пор. Это особенно актуально для драйверов видеокарт, которые мы можем менять в течение «жизни» компьютера не один и не два раза.
Вот и получается, что со временем в этой папке образуется «куча мусора», который ждёт очистки. Другое дело, как это сделать. Просто запустить «Мой компьютер», войти в папку и заняться удалением файлов, не пойдёт — полетит система почти наверняка. Для работы с этой папкой есть специальные приёмы.
Очищаем системными средствами
Первое, что можно сделать — воспользоваться очисткой диска от «Моего компьютера».
Очистка локального диска С
Очистка системных файлов
Процесс может занять и 5, и 10 минут, всё зависит от того, как давно вы не делали такую полную очистку. Но, в конце концов, Windows удалит все ненужные драйверы из папки DriveStore.
Тут, правда, нужно понимать, что когда мы утверждаем, что Windows якобы автоматически всё удалит, то немного лукавим. На самом деле очистка происходит не совсем чисто, всё равно кое-какой мусор всё равно остаётся, но с ним уже приходится мириться.
Нет, на самом деле, на рынке свободного программного обеспечения можно найти массу заманчивых программ, которые рекламируют «манну небесную» — очистку полную и без всяких последствий. Но разве можно верить таким программам, если сами разработчики предваряют их использование фразами типа «ни за что не отвечаем». Поэтому не стоит пользоваться таким программами, если, конечно, вы не боитесь испортить Windows и у вас всё наготове, чтобы её переставить.
Папка FileRepository
А теперь что касается ещё и библиотеки драйверов — папки FileRepository.
Её содержимое как раз можно и рискнуть удалить. Дело в том, что в этой папке хранятся не текущие используемые драйверы, а те, что используются время от времени. При подключении такого устройства система сама обращается к этой папке за драйвером, который она уже использовала.
Если вы очистите папку FileRepository, то в данный момент, скорее всего, ничего негативного не почувствуете. Просто, когда дня через 3–4 вы снова попытаетесь подключить и поработать с любимой фотокамерой, а с ней никогда не было проблем, этого сделать не удастся. Вспомните, просто вы удалили файлы из папки FileRepository.
Более продвинутый способ очистки
Существует и другой, более сложный способ удаления ненужных драйверов. Он предоставляется утилитой pnputil.exe, входящей в системный пакет. Запускается утилита из командной строки и только под управлением администратора.
Утилита признаётся удобным средством не только удаления, но и установки драйверов, но системными администраторами, когда нужно поставить драйверы новых пользователей. Основой для работы утилиты является inf-файл.
Команды утилиты pnputil.exe
Ключи имеют следующие значения:
Приводим и примеры использования утилиты, которые и раскрывают все её секреты:
FileRepository — что это за папка?
Привет друзья. Данный материал опишет папку FileRepository, которую содержит операционная система OS Windows.
FileRepository — что это за папка?
Коротко ответ: хранилище драйверов оборудования, которые когда-то были установлены в Windows или обновлены.
Папку FileRepository нельзя очистить используя штатный мастер Очистки диска (команда cmd — cleanmgr). Утилиты оптимизации системы также бесполезны.
Стандартное расположение каталога:
Примерное содержимое папки FileRepository:
Директория FileRepository обеспечивает следующий функционал операционки:
Содержимое директории используется диспетчером устройств (Win + R > devmgmt.msc), а точнее — функциями вкладки Драйвер в свойствах большинства устройств, например опция Откат:
Удаление содержимого FileRepository
Коротко ответ: удалить можно, при условии корректно установленных драйверов на текущее подключенное оборудование, стабильного их функционирования и операционной системы в общем.
Внимание: удалять саму папку нельзя, только содержимое!
Важно понимать: перед очисткой содержимого необходимо создать точку восстановления или резервную копию Windows.
Удаление только ненужных данных. Возможно при использовании программы DriverStoreExplorer, которая после запуска отобразит файлы inf, для какого оборудования драйвер, производитель, версия. Нажав Select Old Drivers — будут отмечены устаревшие драйвера, которые не используются, так как в системе присутствуют более новые версии. Force Deletion позволит обойти некоторые ограничения при удалении. Запуск очистки от старых дров реализуется кнопкой Delete Package:
Однако как удалить драйвера оборудования, которого на компьютере уже нет? Необходимо вручную проставить отметки в Driver Store Explorer напротив ненужных дров, например:
Внизу видим: количество отмеченных дров (Selected), общий размер файлов дров (Total size). После установки отметок — активируем Force Deletion, нажимаем Delete Package.
Дополнительно удалить мусорные данные дров можно используя утилиту Cleaner:
Важно: после инсталляции дров, в корне системного диска могут появиться папки NVIDIA, ATI, AMD. Данные директории можно удалить, они содержат временные данные, которые должны были удалиться автоматически.
Заключение
Автоматическая очистка старых драйверов, или выжмем немного места из Windows 7
Если у Вас эта папка занимает много-много места, а читать весь пост неохота — пожалуйте в самый его конец, там есть ссылки на 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 и позднее, хранилище драйверов используется как сборник доверенных предустановленных и сторонних драйверов. Операционная система поддерживает этот сборник в безопасном месте на локальном диске. Только те драйвера, которые лежат в хранилище, могут быть установлены.
Процесс копирования драйвера в хранилище называется staging (не стал пытаться выдумать термин, оставил английское слово — прим.пер.). Для того, чтобы драйвер мог быть использован для какого-либо устройства, он должен пройти процесс staging, таким образом, установка устройства и staging драйвера — отдельные операции.
Перед попаданием в хранилище драйвер проверяется на действительность подписи и целостность файлов.
Неужели всё так плохо, и никто не поможет?
Тут надо упомянуть, что я не первый такой умный, кто думал над этой проблемой, на codeplex есть проект по GUI приложению DriverStore Explorer, но он фактически является только графической обёрткой вокруг pnputil и никак не анализирует драйвера, предоставляя полную свободу своему пользователю.
Мне же, во-первых, искать вручную устаревшие версии драйверов было не очень охота, а во-вторых хотелось понять, что я выиграю от удаления того или иного драйвера (в смысле места на диске). Так что тут был синдром NIH в полный рост.
Поэтому я взял в руки Python и понеслось.
Ура, строим свой велосипед!
Теперь дело оставалось за малым — обернуть всё это в скрипты для удобного исполнения.
По дороге, правда, лежала подстава в виде UAC — pnputil работал только с администраторскими правами, а значит, надо было повышать привилегии из Питона. Беглое гугление дало несколько рецептов, которые говорили что-то вроде «можно сделать так, но вывода (и уж тем более ввода) не будет, как будете отлаживаться — без понятия», и меня это не устроило, так что я чуть-чуть доработал примеры.
Правда, моя реализация на данный момент неидеальна — она упадёт при попытке перенаправить stdout или stderr, потому что внутри я использую виндовое понятие консоли, а для перенаправленных потоков это не работает…
Но я пока закрыл на это глаза, потому что для починки надо городить чуть более сложный механизм, чем вызов FreeConsole/AttachConsole, т.е. заниматься перенаправлением всех потоков вручную.
Пробуем написанное на практике
А теперь, собственно, самый смак — результаты всей этой портянки текста. Можно брать, использовать на свой страх и риск, можно пробовать наносить добро и причинять пользу исходникам (MIT лицензия, да). Можно даже сказать мне спасибо в комментариях, если кому-то эти скрипты помогут 🙂
Релиз на github’e
Если качаете бинарную версию (интерпретатор зашит внутри) — берите ту, что соответствует разрядности операционки (32-битная версия на 64-битной ОС не найдет pnputil и работать, соответственно, не будет… если очень надо — пишите, можно попробовать это обойти).
Если берёте скриптовую версию — аналогично, запускать надо интерпретатором с разрядностью операционки.
Сам лично я это проверял на двух компьютерах с Windows 7, в теории должно работать на Vista и 8. На WinXP должно быть (вроде) бесполезно.
Скрипт проанализирует хранилище драйверов, постарается найти устаревшие версии драйверов (т.е. такие, для которых одновременно в staging находится более новая версия) и предложит их удалить, выдав оценку занимаемого драйверами места (и оценку выигрыша, разумеется, тоже).
Результат на моем ноутбуке
Лично мне удалось отжать порядка 6 гигабайт (!), в основном за счет удаления старых версий драйверов видеокарточки NVidia.
На другом ноутбуке всё оказалось не так радужно, удалось очистить всего 200 (по-моему) мегабайт, но там система жила существенно меньше моей и просто не успела накопить много драйверов.
Оба ноутбука с тех пор живут полной жизнью, в смысле никаких проблем от очистки я не заметил.
Если Вы досюда дочитали — спасибо за внимание!
Послесловие
Ожидаемо выяснилось, что скрипты по очистке работают не всегда, основная проблема — если Windows не англоязычный (как-то я не подумал, что и совсем служебные утилиты будут локализованы). Это я буду чинить. Основная масса проблем должна быть починена, см. релиз 1.0.1
Кроме того, для Windows 8 скрипты очистки, видимо, не актуальны, как справедливо указывает Skywrtr в своём комментарии.
Что за папка FileRepository в DriverStore, можно ли удалить?
За долгое время использования компьютера под управлением Windows, папка FileRepository может занимать огромное место на системном диске, больше 20Гб или 50 Гб. По этой причине пользователи задаются вопросом, можно ли удалить содержимое папки FileRepository и как это сделать?
Это не те драйвера, которые работают в данный момент. К примеру, вы подключили WiFi адаптер, скачали для него драйвер и установили. Далее вы не хотите использовать WiFi и удалили драйвер и извлекли устройство. Через некоторое время вы опять захотели использовать WiFi адаптер и подключили его, далее драйвер установиться автоматически из папки DriverStore\FileRepository, что дает возможность не скачивать заново драйвер из интернета. Возможно, в некоторых случаях потребуется нажать на поиск драйверов на этом компьютере.
Также, когда система Windows 10 автоматически обновляет драйвера до свежих версий, то старые версии сохраняются в папке DriverStore\FileRepository. В этой ситуации вы увидите кнопку «Откатить» в свойствах драйвера, а если старых драйверов не будет, то кнопка «Откатить» будет не кликабельна.
Как очистить папку FileRepository в DriverStore
Примечание: Вы также можете удалить старые ненужные драйвера естественным путем через очистку диска.
Как очистить папку FileRepository в DriverStore
При очистке диска в Windows 10, 8 и Windows 7 вы можете заметить (например, с помощью программ для анализа используемого места на диске), что папка C: Windows System32 DriverStore FileRepository занимает гигабайты свободного пространства. При этом стандартные способы очистки не очищают содержимого этой папки.
В этой инструкции — пошагово о том, что содержится в папке DriverStore FileRepository в Windows, можно ли удалить содержимое этой папки и как очистить ее безопасно для работы системы. Также может пригодиться: Как очистить диск C от ненужных файлов, Как узнать чем занято место на диске.
Содержимое FileRepository в Windows 10, 8 и Windows 7
Папка FileRepository содержит копии готовых к установке пакетов драйверов устройств. В терминологии Майкрософт — Staged Drivers, которые, находясь в хранилище DriverStore, могут быть установлены без прав администратора.
При этом, в большинстве своем — это не те драйверы, которые работают в настоящий момент времени, но они могут потребоваться: например, если вы когда-то подключали некое устройство, которое сейчас отключено и скачивали драйвер для него, после чего отключили устройство и удалили драйвер, при следующем подключении драйвер может быть установлен из DriverStore.
При обновлении драйверов оборудования системой или вручную, старые версии драйверов остаются в указанной папке, могут служить для отката драйвера и, одновременно, вызывают увеличение количества места на диске, которое требуется для хранения, которое не удается очистить способами, описанными в руководстве: Как удалить старые драйверы Windows.
Очистка папки DriverStore FileRepository
Теоретически, можно удалить всё содержимое FileRepository в Windows 10, 8 или Windows 7, однако это все-таки не вполне безопасно, может вызывать проблемы и, более того, не требуется в целях очистки диска. На всякий случай создайте резервную копию драйверов Windows.
В большинстве случаев гигабайты и десятки гигабайт, занимаемые папкой DriveStore — результат многократных обновлений драйверов видеокарт NVIDIA и AMD, звуковых карт Realtek, и, реже, дополнительных регулярно обновляемых драйверов периферии. Удалив старые версии этих драйверов из FileRepository (даже если это только драйверы видеокарты), вы можете сократить объем папки в разы.
Как очистить папку DriverStore, удалив из нее ненужные драйверы:
Рекомендую в первую очередь удалить старые драйверы видеокарты. Текущую версию драйверов и их дату вы можете увидеть в диспетчере устройств Windows.
Более старые можно смело удалять, а по завершении проверить размер папки DriverStore — с большой вероятностью, он придет в норму. Также можно удалить старые драйверы других периферийных устройств (но не рекомендую удалять драйверы неизвестных вам системных устройств Intel, AMD и подобных). На скриншоте ниже — пример изменения размера папки после удаления 4-х старых пакетов драйверов NVIDIA.
Выполнить описанную выше задачу в более удобном виде поможет утилита Driver Store Explorer (RAPR), доступная на сайте github.com/lostindark/DriverStoreExplorer
После запуска утилиты (запускайте от имени Администратора) нажмите «Enumerate».
Затем, в списке обнаруженных пакетов драйверов выберите ненужные и удалите их с помощью кнопки «Delete Package» (используемые драйверы удалены не будут, если не отметить «Force Deletion»). Также можно автоматически выбрать старые драйверы, нажав кнопку «Select Old Drivers».
Как удалить содержимое папки вручную
Внимание: этот способ не стоит использовать, если вы не готовы к проблемам с работой Windows, которые могут возникнуть.
Также есть способ просто удалить папки из FileRepository вручную, хотя так лучше и не делать (это небезопасно):
На этом все на тему очистки неиспользуемых пакетов драйверов. Если остаются вопросы или есть, что добавить — это можно сделать в комментариях.