Очистка (сброс) поврежденного кэша иконок в Windows 10
При отображении иконок различных программ или типов файлов в проводнике File Explorer, Windows вместо обращения к исходным файлам с иконками, получает копии картинок значков из специальных файлов с кэшем иконок. За счет того, что операционной системе не нужно каждый раз загружать оригинальные файлы иконок, ускоряется работа и прорисовка объектов в проводнике Windows.
В некоторых случаях, при повреждении файла с кэшем иконок, в проводнике (и на рабочем столе) могут отображаться белые иконки ярлыков и файлов, или вместо иконок приложений отображаются стандартные иконки Windows. В этом случае рекомендуется выполнить сброс системного кэша иконок.
На скриншоте ниже видно, что в макете стартового меню Windows 10 вместо значков некоторых приложений отображаются стандартные иконки папок.
Примечание. Некоторые пользователи при появлении такого бага пытаются переустановить проблемное приложение, что помогает далеко не всегда.
Кэш иконок в различных версиях Windows представляет собой один или несколько db файлов, хранящихся в профиле пользователя.
- В Windows 7 это файл IconCache.db в каталоге %userprofile%AppDataLocal
- В Windows 10 и Windows 8.1 – это множество файлов, имя которых начинается с iconcache_ (iconcache_16.db, iconcache_32.db, iconcache_48.db и т.д. в соответствии с размерами иконки в пикселях) и хранятся в каталоге %userprofile%AppDataLocalMicrosoftWindowsExplorer
Сброс кэша иконок в Windows с помощью утилиты ie4uinit
В Windows есть специальная встроенная утилита ie4uinit (IE Per-User Initialization Utility), которую можно использовать для быстрого сброса кэша иконок.
- В Windows 10:
ie4uinit.exe -show
- Для Windows 7:
ie4uinit.exe -ClearIconCache
Эту команду нужно выполнить через меню Win+R -> команда -> Enter.
Команды абсолютно безопасные, но помогают восстановить нормальное состояние кэша иконок далеко не во всех случаях.
Скрипт удаления файлов с кэшем иконок в Windows
Чтобы сбросить кэш иконок, достаточно удалить db файлы с кэшем. Но предварительно нужно завершить процесс проводника File Explorer, чтобы он не блокировал доступ к файлам iconcache. Рассмотрим, как сбросить базу данных кэша иконок без перезагрузки Windows.
- Закройте все запущенные приложения;
- Откройте окно командной строки (
cmd.exe
или
powershell.exe
) с правами администратора; - Запустите диспетчер задач
taskmgr.exe
- В окне Task Manager перейдите на вкладку Details, найдите процесс explorer.exe и завершите его (End Task);
- Также вы можете завершить процесс из командной строки:
taskkill /f /im explorer.exe
- Затем последовательно выполните следующие команды для удаления кэша иконок в профиле пользователя (в зависимости от версии ОС):
Для Windows 10/ 8.1 (просто скопируйте этот код в окно командной строки или сохраните как текстовый файл reset_icon_windows.bat).
taskkill /f /im explorer.exe
cd /d %userprofile%AppDataLocalMicrosoftWindowsExplorer
attrib –h iconcache_*.db
del /f IconCache*
del /f thumbcache*
cd /d %userprofile%AppDataLocal
attrib –h IconCache.db
del /f IconCache.db
start C:Windowsexplorer.exe
В моем случае скрипт не смог удалить только файл
iconcache_idx.db
(Access is denied), но это не повлияло на итоговый результат. Кэш иконок был успешно сброшен.
Для Windows 7:
cd /d %userprofile%AppDataLocal
del /f /a s IconCache.db
start C:Windowsexplorer.exe
Последняя команда в обоих случаях перезапустит процесс проводника Windows (
explorer.exe
), который при запуске пересоздаст файлы с кэшем иконок (в соответствии с заданными файловыми ассоциациями).
Windows Server 2016
Очистка (сброс) поврежденного кэша иконок в Windows 10