Перенести dllcache на другой диск
Моя папка dllcache в system32 имеет размер почти 450 мегабайт в моем разделе Windows. Dllcache используется для замены системного файла (dll), который был изменен на исходный. Меня беспокоит, что эта функция Windows занимает так много места на моем жестком диске.
В моем случае это еще более серьезно, потому что я решил создать довольно небольшой раздел Windows, каждый байт на счету, если вы понимаете, о чем я.
Родилась идея переместить папку dllcache на другой диск с сохранением ее функциональности. Чтобы изменить расположение папки dllcache, откройте реестр Windows и внесите в него изменения. Для этого одновременно нажмите клавиши Windows и R, чтобы открыть окно запуска. Введите regedit в форму и затем нажмите клавишу ввода.
Используйте структуру папок слева, чтобы перейти к следующему ключу:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon
После этого щелкните правой кнопкой мыши ключ и выберите в контекстном меню «Создать»> «Строка». Назовите строку SFCDllCacheDir и нажмите ОК. Теперь вы должны увидеть его справа. Дважды щелкните его, как только увидите, чтобы изменить его значение, и добавьте для него новое местоположение в виде строки, например e: \ dllcache \.
После перезагрузки компьютера в следующий раз вам, вероятно, будет предложено вставить компакт-диск Windows XP в привод, чтобы некоторые файлы можно было скопировать с него в новое место кэша dll. Другой способ — просто переместить файлы из старой папки в новую.
Если это не происходит автоматически в вашей системе, вы можете использовать команду sfc / scannow чтобы заставить Windows заполнить новую папку файлами.
Вы также можете настроить параметр в редакторе групповой политики, если он доступен в системе. Загрузите gpedit.msc в систему и перейдите в раздел Политика локального компьютера> Конфигурация компьютера> Административные шаблоны> Система> Защита файлов Windows и включите политику «Указать расположение кэша защиты файлов Windows».
Обновить : Обратите внимание, что это работает только для Windows XP, Windows 2000 и Windows Server 2003 .. Папка dllcache больше не является частью более новых версий Windows. В более новых версиях Windows вместо этого используется папка WinSxS, которая по умолчанию расположена в папке c: \ windows \ winsxs \.
Смотрите так же:
- StartOnDesktop: еще один шутер для ПК для Windows 8
- Поисковая система бесплатных рингтонов
- Полнотекстовый поиск O3Find Star Office
- Знакомство с Linux: Enlightenment E17
Dllcache
Папка dllcache в версиях Windows до Vista используется службой Windows File Protection (WFP). Главная и единственная её задача состоит в обеспечении целостности системных файлов. В двух словах WFP хранит копию каждого защищаемого файла в каталоге dllcache и использует эту копию для восстановления файла, если кто-либо пытается заменить или изменить защищаемый файл. С следующих версиях Windows эта идея развилась в папку WinSxS.
Подробно о WFP написано в Windows File Protection guide. Это руководство отвечает на все вопросы, касающиеся WFP.
- В dllcache храняться копии большей части системных файлов. В результате dllcache может занимать довольно значительный объем;
- dllcache может расти со временем — по мере появления новых системных файлов. Например после установки ежемесячных обновлений системы;
- WFP конфигурируется через глобальные политики (global policy) или с помощью утилиты sfc.exe. Помимо прочего, можно задать максимальный размер каталога dllcache. (Не уверен, что это работает на Vista);
- WFP можно отключить совсем, хотя это и не документировано и может привести к плачевным последствиям.
Чтобы папка dllcache не заполнялась автоматически, это значение можно изменить до нуля можно командой sfc:
sfc /cachesize=0
Или, например, до 10 Мб:
sfc /cachesize=10
См. также
- Уменьшение размера операционных систем Windows 2000/XP/2003
- Windows File Protection guide — This guide will take you through basic operation of WFP, how to use & configure it for your system.
Каталог dllcache и с чем его едят
Тут в комментариях зашла речь о роли каталога “%SystemRoot%\system32\dllcache” и причинах почему он занимает столько места. Отвечаю здесь, так как это может быть интересно многим.
Для того чтобы убедиться, что каталог dllcache — это всего лишь никак не используемая свалка копий исполняемых модулей достаточно воспользоваться утилитой ProcessExplorer. В среднем это около пол гига украденных у пользователя. Даже, если это был бы действительно кеш, любому маломальски опытному человеку понятно, что скорость доступа к файлам в каталоге такой длинны будем еще хуже чем к их оригиналам.
Похоже, что разработчики выбрали не очень удачное имя для этого каталога. Назови они его “wfpcache” или “wfpshadow” или ещё как-нибудь и никто бы не подумал, что этот каталог используется для улучшения производительности, путем кеширования библиотек.
На самом деле, dllcache используется службой Windows File Protection (WFP). Главная и единственная её задача состоит в обеспечении целостности системных файлов. В двух словах WFP хранит копию каждого защищаемого файла в каталоге dllcache и использует эту копию для восстановления файла, если кто-либо пытается заменить или изменить защищаемый файл.
Подробно о WFP написано вот здесь: Windows File Protection guide. (Ссылка нашлась в блоге Robert Bogue). Это руководство отвечает на все вопросы, касающиеся WFP. Я лишь резюмирую что там написано:
- В dllcache храняться копии большей части системных файлов. В результате dllcache может занимать довольно значительный объем;
- dllcache может расти со временем — по мере появления новых системных файлов. Например после установки ежемесячных обновлений системы;
- WFP конфигурируется через глобальные политики (global policy) или с помощью утилиты sfc.exe. Помимо прочего, можно задать максимальный размер каталога dllcache. (Не уверен, что это работает на Vista);
- WFP можно отключить совсем, хотя это и не документировано и может привести к плачевным последствиям.
PS: Про назначение каталога “%SystemRoot%\Installer” напишу немного позднее.
Dllcache что это
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.
Сообщения: 5
Благодарности: 1
—%windir%\system32\dllcache—
Я тоже так думал, но нет его там. Поиск вообще не находит такой папки в %WinDir%
Сообщения: 830
Благодарности: 3
Эта папка скрытая и что бы увидеть ее надо включить отображение скрытых и системных файлов и папок или в настройках поиска указать что надо искать в скрытых папках.
——-
Знание некоторых принципов нередко возмещает незнание некоторых фактов. Гельвеций
Сообщения: 1404
Благодарности: 135
Чтобы система не восстанавливала файлы, надо отключить System File Protection. Как это сделать есть ва FAQ на этом сайте. Можно отключить временно, затем удалив нужное, снова включить.
Сообщения: 5
Благодарности: 1
to McDAK, Я знаю что эта папка скрытая и у меня включено отображение скрытых и системных файлов и папок и поиск по дефолту ищет в скрытых и системных папках. Ну нету ее.
to mrcnn, Не уверен что это сработает, потому что sfp восстанавливает файлы сравнивая их с копиями в dllcache, а я ее найти немогу чтобы подправить название cmd, следовательно после запуска службы она снова восстановит первоначальный файл из этой папки. Или я неправ?
Сообщения: 36383
Благодарности: 6652
| Конфигурация компьютера | |
| Ноутбук/нетбук: Lenovo ThinkPad W530 24385AU (i7-3740QM 2.7GHz, 24GB RAM, Samsung 840 Pro 256GB + HDD 750GB) | |
| ОС: Windows 11 Pro x64 | |
| Прочее: На пенсии: HP Pavilion dv7t (17.3», i7-2630QM, HD 6770M 1Gb, 8Gb RAM) |
copok
A что вообще за паранойя с переименованием cmd.exe. Если у злоумышленника есть физический доступ к твоей машине, то он найдет десяток других способов ее взломать.
![]()
——-
Канал Windows 11, etc | Чат @winsiders
Сообщения: 5
Благодарности: 1
Vadikan
Физического доступа нет, но есть интернет и куча всяких уязвимостей Windows. И зачем злому заливать собственный интерпритатор на мою систему, если есть готовый и он всегда называется cmd.exe на каждой системе ХР. Даже с правами обычного юзера к примеру, можно через cmd изменить системную дату и время на пару десятилетий назад и всем базам кирдык. (так небольшой пример, но в cmd есть и более грозные команды, кто знает тот поймет)
ps: я не параноик, я только учусь.
Сообщения: 830
Благодарности: 3
copok
Ну, а если есть интернет, то более логичный путь борьбы с уязвимостями — это ставить обновления с сайта мелкософта, а также установить и настроить фаервол и на твою машину будет уже значительно сложнее пробиться.
——-
Знание некоторых принципов нередко возмещает незнание некоторых фактов. Гельвеций
Сообщения: 5
Благодарности: 1
| Ну, а если есть интернет, то более логичный путь борьбы с уязвимостями — это ставить обновления с сайта мелкософта, а также установить и настроить фаервол и на твою машину будет уже значительно сложнее пробиться. |
to McDAK,
Ставить обновления после того как тебя поимели, помоему это не слишком логично, наверное логичней недопустить нежелательного полового акта. Особенно обидно когда инет пестрит эксплоитами на уязвимости, а обновления появляются много позже!
А насчет фаервола — согласен нужно, но я считаю что встроенного вполне достаточно тем более что он не тормозит систему. Хотя нет такой стены которую нельзя было бы обойти (или взорвать наконец! )
Хочется понять принципы действия зловредного софта, а использование cmd один из них. А бездумно ставить галочки в настройках, отваливать деньги за подписку на антивирусные базы, за крутые фаерволы это не есть гуд.
ps: не верю я Биллу, не верю!! (Kill Bill — volume 3)
ps:Vadikan, спасибо за ссылку, думаю разбирусь (извини, увлекся)
Последний раз редактировалось copok, 11-12-2004 в 10:38 .