Папка driverstore можно ли удалить

Содержание

Как удалить папку Driverstore в Windows

Папка driverstore можно ли удалить

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

Персональный компьютер — открытая система, ну, такое решение было принято ещё в далёкие 70-е годы, а Билл Гейтс своим призывом: «Компьютер каждой домохозяйке» — только подлил масла в огонь. Другими словами, всё общедоступно, всё что угодно можно изменить.

Отсюда и взломанные банки по всему миру, отсюда и постоянно «летящие» системы после одного нажатия на клавишу.

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

Ну действительно, а зачем удалять папку DriveStore, пусть и размер её уж слишком велик может быть — почти 20 ГБ. Чтобы очистить диск?! Так, у вас винчестер размером в 800 ГБ и 100–200 из них постоянно свободны! Зачем удалять папку, если вы не знаете о ней ничего.

Поэтому вывод следующий — ни в коем случае ни саму папку целиком, ни её содержимое удалять нельзя!

Продолжаем разговор об удалении

Тем не менее, как говорил барон Мюнхаузен, а головы-то у нас мыслящие. Посмотрите на эти имена — DriveStore, а внутри папка — FileRepository. И конечно, становится понятным, что папка имеет отношение к драйверам (DriveStore — Склад драйверов) и библиотеке файлов.

Уже одно это может насторожить — ведь подавляющее большинство проблем на компьютере с драйверами как раз и связаны.

Действительно, Windows именно в папку DriveStore на системном диске, по адресу Windows\System32\, и складывает все используемые на компьютере драйверы. Но дело в том, она хранит там не только текущие драйверы, но и все, которые использовались до сих пор. Это особенно актуально для драйверов видеокарт, которые мы можем менять в течение «жизни» компьютера не один и не два раза.

Вот и получается, что со временем в этой папке образуется «куча мусора», который ждёт очистки. Другое дело, как это сделать. Просто запустить «Мой компьютер», войти в папку и заняться удалением файлов, не пойдёт — полетит система почти наверняка. Для работы с этой папкой есть специальные приёмы.

Очищаем системными средствами

Первое, что можно сделать — воспользоваться очисткой диска от «Моего компьютера».

Итак:

  1. Запускаем «Мой компьютер».
  2. Вызываем контекстное меню системного диска — обычно это «C:».
  3. В открывшемся окне, в самом низу, выбираем «Свойства».
  4. На экране появляется окно свойств диска, разбитых по закладкам.
  5. На закладке «Общие» нажимаем на кнопку «Очистка диска».

    Очистка локального диска С

  6. Придётся немного подождать — система оценивает и измеряет, что же можно удалить.
  7. Затем открывается окно, в котором можно выбрать (поставить галочки в прокручиваемом списке), что же вы хотите удалить.
  8. Под этим списком уже более конкретная кнопка — «Очистить системные файлы».

    Очистка системных файлов

  9. Нажимаем на неё и видим то, что искали — установку «Ненужные драйверы системы» (она может называться и немного по-другому, но суть вы схватите сразу).
  10. Само собой, «галочка» за нами и дальше — «Пуск».

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

Тут, правда, нужно понимать, что когда мы утверждаем, что Windows якобы автоматически всё удалит, то немного лукавим. На самом деле очистка происходит не совсем чисто, всё равно кое-какой мусор всё равно остаётся, но с ним уже приходится мириться.

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

Папка FileRepository

А теперь что касается ещё и библиотеки драйверов — папки FileRepository.

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

Если вы очистите папку FileRepository, то в данный момент, скорее всего, ничего негативного не почувствуете. Просто, когда дня через 3–4 вы снова попытаетесь подключить и поработать с любимой фотокамерой, а с ней никогда не было проблем, этого сделать не удастся. Вспомните, просто вы удалили файлы из папки FileRepository.

Более продвинутый способ очистки

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

Утилита признаётся удобным средством не только удаления, но и установки драйверов, но системными администраторами, когда нужно поставить драйверы новых пользователей. Основой для работы утилиты является inf-файл.

Командная строка утилиты имеет следующий формат:
pnputil.exe [-f | -i] [ -? | -a | -d | -e ]

Команды утилиты pnputil.exe

Ключи имеют следующие значения:

  • -? — отобразить справку по использованию, стандартный ключ получения справки для всех утилит системы;
  • -e — отобразить список драйверов сторонних производителей, перед удалением никогда не помешает проверить себя;
  • -i — установить драйвер;
  • -d — удалить драйвер;
  • -f — принудительно удалить драйвер подключённого в данный момент к системе устройства, это, безусловно, редкий и аварийный вариант;
  • -a — добавить пакет для установки драйверов;
  • имя INF-файла — имеется в виду, из установочного пакета драйвера.

Приводим и примеры использования утилиты, которые и раскрывают все её секреты:

  • pnputil –e | more — отобразить список драйверов c постраничным выводом списка на экран;
  • exe -d oem0.inf — удаление драйверов только OEM-производителей;
  • exe -f -d oem0.inf — удалить пакет oem0.inf, даже если устройство, связанное с ним, подключено к системе;
  • exe –a abc.INF — добавить пакет драйвера abc. Пакет драйвера добавляется в хранилище без установки. В дальнейшем, при подключении устройства, установка выполнится автоматически;
  • exe –a system32\DRV\*.inf — добавить все драйверы, INF-файлы которых находятся в каталоге system32\DRV;
  • pnputil –i –a xyz.inf — добавить в хранилище и установить драйвер с описанием в xyz.inf.

Источник: http://NastroyVse.ru/opersys/win/papka-driverstore-v-windows.html

Автоматическая очистка старых драйверов, или выжмем немного места из Windows 7

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

Да, я в курсе, что жёсткие диски сейчас дешевы, но это для меня не выход, потому что:

  • У меня SSD, а он всё-таки подороже будет, чем обычные HDD (объём моего текущего SSD — 120 гигов)
  • Ноутбук рабочий, соответственно данные на нём тоже, должны быть шифрованы, всё такое, поэтому самопальный и не утверждённое работодателем носитель втыкать не стоит
  • Я жадный :)
Читайте также  Outlook папка удаленные недоступна

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

Мне же, во-первых, искать вручную устаревшие версии драйверов было не очень охота, а во-вторых хотелось понять, что я выиграю от удаления того или иного драйвера (в смысле места на диске). Так что тут был синдром NIH в полный рост.
Поэтому я взял в руки Python и понеслось.

Ура, строим свой велосипед!

Методом пристального всматривания я обнаружил, что для того, чтобы найти наиболее свежую версию, достаточно данных от pnputil, а вот для определения размера — нет, потому что pnputil про драйвер говорит примерно следующее — кто сделал, когда, версия и имя INF файла. Какая из кучи папок в DriverStore относится к этому драйверу — он не говорит. Вглядевшись ещё внимательнее в папочку %WINDIR%\Inf, я обнаружил там те самые .

INF файлы (по именам), которые перечисляет pnputil, а заглянув в папки в DriverStore, обнаружил там… те же самые .INF файлы, но с другими именами — каждый в папке от своего драйвера. Наверняка есть способ и попроще, но я пошёл в лоб — построил отображение от имени .INF файла в выдаче pnputil на папку в DriverStore, в которой лежит такой же по содержимому .INF файл (с другим именем). И взял размер этой папки за размер драйвера.

Теперь дело оставалось за малым — обернуть всё это в скрипты для удобного исполнения. По дороге, правда, лежала подстава в виде UAC — pnputil работал только с администраторскими правами, а значит, надо было повышать привилегии из Питона.

Беглое гугление дало несколько рецептов, которые говорили что-то вроде «можно сделать так, но вывода (и уж тем более ввода) не будет, как будете отлаживаться — без понятия», и меня это не устроило, так что я чуть-чуть доработал примеры.

Правда, моя реализация на данный момент неидеальна — она упадёт при попытке перенаправить stdout или stderr, потому что внутри я использую виндовое понятие консоли, а для перенаправленных потоков это не работает… Но я пока закрыл на это глаза, потому что для починки надо городить чуть более сложный механизм, чем вызов FreeConsole/AttachConsole, т.е. заниматься перенаправлением всех потоков вручную.

Папка FileRepository: что это, можно ли ее удалить или очистить

В Windows достаточно много системных папок, предназначение которых обычному пользователю неизвестно. В этих папках складируется различная системная информация, и они не мешают ровно до тех пор, пока не занимают большое количество свободного места. Особенно это критично, если системный накопитель имеет малый объем, например, он является твердотельным — SSD. В рамках данной статьи рассмотрим, за что отвечает папка FileRepository, расположенная в категории System32 папки Windows, и можно ли ее удалить.

1. Как найти папку FileRepository в Windows 2. FileRepository — что это за папка 3. Можно ли удалить папку FileRepository

Читайте также  Почему не удаляется папка с компьютера

Есть несколько способов, как добраться до папки FileRepository в Windows и посмотреть, как много места она занимает сейчас на накопителе:

Пройти в проводнике по пути:

{Системный_диск}:\Windows\System32\DriverStore\

Здесь, среди прочих папок, будет FileRepository.

Воспользоваться окном “Выполнить”. Для этого надо нажать на клавиатуре сочетание Windows+R, и в открывшемся окне ввести команду:

%WINDIR%\System32\DriverStore\FileRepository

После этого вы окажетесь непосредственно в папке FileRepository.

FileRepository — что это за папка

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

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

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

Если говорить проще, в папку FileRepository копируются все установщики всех драйверов, которые когда-либо устанавливались на компьютер.

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

Можно ли удалить папку FileRepository

Рассмотрев, что в папке FileRepository хранятся бэкапы установщиков драйверов, можно сделать вывод, что ничего ужасного при удалении данной папки не произойдет. Но перед тем как отправлять ее в корзину, лучше создать точку восстановления Windows и озаботиться наличием резервной копии.

Полностью папку FileRepository можно удалить двумя способами:

  • Средствами Windows. При попытке удалить системную папку FileRepository стандартным способом, возникнет сообщение, что необходимо запросить разрешение администратора. Это можно сделать, получив права TrustedInstaller.
  • При помощи сторонних приложений. Есть масса программ, которые позволяют удалять системные файлы в Windows, например, это можно сделать через LiveDisk.

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

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

Скачайте программу и запустите. После этого нажмите в правой части приложения кнопку “Select Old Drivers”, чтобы программа автоматически выбрала все устаревшие драйвера для оборудования. Поставьте галочку на пункте “Force Deletion” — это необходимо, чтобы удаление произошло, несмотря на систему блокировки удаления драйверов. И нажмите “Delete Package”, чтобы произвести удаление.

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

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

(182 голос., 4,49 из 5)
Загрузка…

Источник: https://okeygeek.ru/filerepository-chto-ehto-za-papka-mozhno-li-ee-udalit/

Как очистить папку FileRepository в DriverStore

26.04.2017  windows

При очистке диска в 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, удалив из нее ненужные драйверы:

  1. Запустите командную строку от имени администратора (начните набирать в поиске «Командная строка», когда найдется нужный элемент, нажмите по нему правой кнопкой мыши и выберите пункт контекстного меню «Запуск от имени администратора».
  2. В командной строке введите команду pnputil.exe /e > c:\drivers.txt и нажмите Enter. 
  3. Команда из пункта 2 создаст файл drivers.txt на диске C с перечислением тех пакетов драйверов, которые хранятся в FileRepository. 
  4. Теперь вы можете удалить все ненужные драйверы с помощью команд pnputil.exe /d oemNN.inf (где NN — номер файла драйвера, как указано в файле drivers.txt, например oem10.inf). Если драйвер используется, вы увидите сообщение об ошибке удаления файлов. 

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

Более старые можно смело удалять, а по завершении проверить размер папки DriverStore — с большой вероятностью, он придет в норму. Также можно удалить старые драйверы других периферийных устройств (но не рекомендую удалять драйверы неизвестных вам системных устройств Intel, AMD и подобных). На скриншоте ниже — пример изменения размера папки после удаления 4-х старых пакетов драйверов NVIDIA.

Выполнить описанную выше задачу в более удобном виде поможет утилита Driver Store Explorer (RAPR), доступная на сайте github.com/lostindark/DriverStoreExplorer

После запуска утилиты (запускайте от имени Администратора) нажмите «Enumerate».

Затем, в списке обнаруженных пакетов драйверов выберите ненужные и удалите их с помощью кнопки «Delete Package» (используемые драйверы удалены не будут, если не отметить «Force Deletion»). Также можно автоматически выбрать старые драйверы, нажав кнопку «Select Old Drivers».

Как удалить содержимое папки вручную

Внимание: этот способ не стоит использовать, если вы не готовы к проблемам с работой Windows, которые могут возникнуть.

Читайте также  Как почистить папку темп windows 7

Также есть способ просто удалить папки из FileRepository вручную, хотя так лучше и не делать (это небезопасно):

  1. Зайдите в папку C:\ Windows\ System32\ DriverStore, нажмите правой кнопкой мыши по папке FileRepository и нажмите «Свойства».
  2. На вкладке «Безопасность» нажмите «Дополнительно».
  3. В поле «Владелец» нажмите «Изменить».
  4. Введите свое имя пользователя (или нажмите «Дополнительно» — «Поиск» и выберите свое имя пользователя в списке). И нажмите «Ок».
  5. Отметьте пункты «Заменить владельца подконтейнеров и объектов» и «Заменить все записи разрешений дочернего объекта». Нажмите «Ок» и ответьте «Да» на предупреждение о небезопасности такой операции.
  6. Вы вернетесь на вкладку «Безопасность». Нажмите «Изменить» под списком пользователей.
  7. Нажмите «Добавить», добавьте свою учетную запись, а потом установите «Полный доступ». Нажмите «Ок» и подтвердите изменение разрешений. После завершения, нажмите «Ок» в окне свойств папки FileRepository.
  8. Теперь содержимое папки можно удалить вручную (не смогут быть удалены только отдельные файлы, используемые в настоящий момент времени в Windows, для них достаточно будет нажать «Пропустить». 

Источник: https://remontka.pro/driverstore-filerepository-folder-windows/

Механическая чистка ветхих драйверов, либо выжмем немножко места из Windows 7

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

Да, я в курсе, что жёсткие диски теперь дешевы, но это для меня не выход, потому что:

  • У меня SSD, а он всё-таки дороже будет, чем обыкновенные HDD (объём моего нынешнего SSD — 120 гигов)
  • Ноутбук рабочий, соответственно данные на нём тоже, обязаны быть шифрованы, всё такое, следственно самопальный и не утверждённое работодателем носитель втыкать не стоит
  • Я алчный

Данный топик, вероятно, предуготовлен и может быть пригоден тем людям, кого беспокоит свободное место на системном диске, обыкновенные средства чистки теснее попробованы, а хочется выжать ещё чуть-чуть (как вветхом приколе — первая попавшаяся в гугле ссылка на прикол, если сайт дрянной — пардон).
В всеобщем, я изредка чищу место на диске. Типовые процедуры — чистка %TEMP%, чистка диска (стирает каждые там отчёты об ошибках, прикопанные системой на каждый пожарный, любые memory dump’ы упавших процессов и другое), снос непотребных больше программ.

Впрочем, как я узнал, есть папки, которые не чистит никто (от слова вовсе). Ну в смысле из стандартных средств. И теперь я хочу побеседовать о папке %WINDIR%System32DriverStore.

Если у Вас эта папка занимает много-много места, а читать каждый пост неохота — пожалуйте в самый его конец, там есть ссылки на 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 — принудить насильственно) удалять такие драйвера отказывается.
Этой утилитой я и воспользовался.

Здесь нужно упомянуть, что я не 1-й такой разумный, кто думал над этой задачей, на codeplex есть план по GUI приложению DriverStore Explorer, но он реально является только графической обёрткой вокруг pnputil и никак не анализирует драйвера, предоставляя полную волю своему пользователю.

Мне же, во-первых, искать вручную устаревшие версии драйверов было не дюже охота, а во-вторых хотелось осознать, что я выиграю от удаления того либо другого драйвера (в смысле места на диске). Так что здесь был синдром NIH в полный рост.
Следственно я взял в руки Python и понеслось.

Как удалить содержимое папки вручную?

Внимание: этот способ не стоит использовать, если вы не готовы к проблемам с работой Windows, которые могут возникнуть.

Также есть способ просто удалить папки из FileRepository вручную, хотя так лучше и не делать (это небезопасно):

  1. Зайдите в папкуC:\ Windows\ System32\ DriverStore, нажмите правой кнопкой мыши по папке FileRepository и нажмите «Свойства».
  2. На вкладке «Безопасность» нажмите «Дополнительно».
  3. В поле «Владелец» нажмите «Изменить».
  4. Введите свое имя пользователя (или нажмите «Дополнительно» — «Поиск» и выберите свое имя пользователя в списке). И нажмите «Ок».
  5. Отметьте пункты «Заменить владельца подконтейнеров и объектов» и «Заменить все записи разрешений дочернего объекта». Нажмите «Ок» и ответьте «Да» на предупреждение о небезопасности такой операции.
  6. Вы вернетесь на вкладку «Безопасность». Нажмите «Изменить» под списком пользователей.
  7. Нажмите «Добавить», добавьте свою учётную запись, а потом установите «Полный доступ». Нажмите «Ок» и подтвердите изменение разрешений. После завершения, нажмите «Ок» в окне свойств папки FileRepository.
  8. Теперь содержимое папки можно удалить вручную (не смогут быть удалены только отдельные файлы, используемые в настоящий момент времени в Windows, для них достаточно будет нажать «Пропустить». 

Источник: https://comservice-chelny.ru/kak-ochistit-papku-filerepository-v-driverstore/

Понравилась статья? Поделить с друзьями: