И сейчас я хочу поговорить о папке windirsystem32DriverStore.
Когда драйвер копируется в хранилище, туда попадают все его файлы, включая.INF файл и все файлы, на которые этот.INF ссылается.
Можно даже сказать мне спасибо в комментариях, если кому-то эти скрипты помогут Релиз на github'e Если качаете бинарную версию (интерпретатор зашит внутри) берите ту, что соответствует разрядности операционки (32-битная версия на 64-битной ОС не найдет pnputil и работать, соответственно, не будет если очень надо пишите, можно попробовать это обойти).
DriverStore Explorer, но он фактически является только графической обёрткой вокруг pnputil и никак не анализирует драйвера, предоставляя полную свободу своему пользователю.
Тут надо упомянуть, что я не первый такой умный, кто думал над этой проблемой, на codeplex есть проект по GUI приложению.
Все файлы, составляющие драйвер, считаются необходимыми для работы устройства.
Наверняка есть способ и попроще, но я пошёл в лоб построил отображение от имени.INF файла в выдаче pnputil на папку в DriverStore, в которой лежит такой же по содержимому.INF файл (с другим именем).
Сам лично я это проверял на двух компьютерах с Windows 7, в теории должно работать на Vista и 8.
В общем, я иногда чищу место на диске.
Программа для удаления драйверов без ошибок. Которой заключается в удалении оставшихся драйверов, которые больше не нужны для нормальной.
Если берёте скриптовую версию аналогично, запускать надо интерпретатором с разрядностью операционки.
Но я пока закрыл на это глаза, потому что для починки надо городить чуть более сложный механизм, чем вызов FreeConsole/AttachConsole, т.е.
Оба ноутбука с тех пор живут полной жизнью, в смысле никаких проблем от очистки я не заметил.
Удалив ненужные файлы и освободить память до нескольких гигабайт!. Вот в этой статье я распишу, какие папки можно удалять а какие нельзя, и за. Я расписал НЕ ВСЕ файлапки которые находятся НА. Это просто распакованные файлы которые создались при установке драйвера.
Выглядит страшновато для влезания своими грязными руками, не правда ли?
Я жадный этот топик, пожалуй, предназначен и может быть полезен тем людям, кого волнует свободное место на системном диске, обычные средства очистки уже испробованы, а хочется выжать ещё чуть-чуть (как в старом анекдоте первая попавшаяся в гугле ссылка на анекдот, если сайт плохой пардон).
/force заставить насильно) удалять такие драйвера отказывается.
Не интегрированные в установочный дистрибутив) Добавлять драйвер в хранилище, удалять драйвер из хранилища, причём при удалении она проверяет, не используется ли удаляемый драйвер на данный момент для какого-нибудь подключенного устройства, и без опции /f (т.е.
Перед попаданием в хранилище драйвер проверяется на действительность подписи и целостность файлов.
Беглое гугление дало несколько рецептов, которые говорили что-то вроде «можно сделать так, но вывода (и уж тем более ввода) не будет, как будете отлаживаться без понятия и меня это не устроило, так что я чуть-чуть доработал примеры.
В моём вольном переводе получится что-то вроде: В Windows Vista и позднее, хранилище драйверов используется как сборник доверенных предустановленных и сторонних драйверов.
Только те драйвера, которые лежат в хранилище, могут быть установлены.
Для того, чтобы драйвер мог быть использован для какого-либо устройства, он должен пройти процесс staging, таким образом, установка устройства и staging драйвера отдельные операции.
И взял размер этой папки за размер драйвера.
Приведу немного теории с того самого msdn: Starting with Windows Vista, the driver store is a trusted collection of inbox and third-party driver packages.
Комментариев нет:
Отправить комментарий