Если вы нашли у себя на диске папку с названием Windows.old и размером несколько десятков гигабайт, не стоит сразу подозревать вирусы и прочее нежелательное ПО. Папка Windows.old вполне безобидна, она создается в следующих ситуациях:
• При обновлении версии операционной системы (Inplace Upgrade), например с Windows 8.1 до Windows 10;
• При переустановке операционной системы в режиме обновления;
• При использовании функции Refresh (обновление).
Обычно Windows.old находится в корне системного диска. Если же на момент обновления папка с таким именем уже есть (напр. при повторном обновлении), то создаются папки с именем Windows.old.000, Windows.old.001 и т.д.
Папка Windows.old предназначена для того, чтобы при необходимости иметь возможность восстановить отдельные файлы и даже полностью откатиться до ранее установленной системы. Она представляет из себя архивную копию, в которой система сохраняет файлы предыдущей установки. При установке в нее сохраняется практически все содержимое системного диска — системные файлы, установленные программы и пользовательские файлы.
Примечание. Процедура отката а к предыдущей установке из папки Windows.old описана здесь. Сразу скажу, что процедура достаточно сложна и требует определенного опыта, кроме того, при ее использовании есть шанс получить неработоспособную систему без шансов на восстановление.
Если после обновления ваша система работает стабильно и все файлы на месте, то папку Windows.old вполне можно удалить. Однако сделать это не совсем просто, т.к. система устанавливает на нее специальные права и при попытке удаления вы получите отказ в доступе.
Но не все так страшно и для удаления папки Windows.old все же есть несколько способов, о которых и пойдет речь дальше. Итак, способ первый…
Удаление с помощью утилиты «Очистка диска»
Переходим в каталог C:\Windows\System32, находим файл cleanmgr.exe и запускаем его от имени администратора.
В списке компонентов отмечаем ″Предыдущие установки Windows″ и жмем OK. Подтверждаем удаление выбранных файлов и через пару минут папка Windows.old со всем содержимым будет безвозвратно удалена.
Удаление вручную
В некоторых случаях нет возможности воспользоваться утилитой очистки диска, например в серверных ОС она просто отсутствует. Здесь для удаления придется изменить разрешения файловой системы на папку. Открываем свойства папки, идем на вкладку «Безопасность» и жмем кнопку «Дополнительно» для перехода к расширенным настройкам безопасности.
Как видите, владельцем папки является система, и первое, что необходимо сделать для успешного удаления — это сменить владельца. Жмем «Изменить» и в открывшемся окне выбираем себя (текущего пользователя, под которым вы зашли в систему).
Затем отмечаем чекбокс «Заменить владельца подконтейнеров и объектов» и жмем кнопку «Применить».
После смены пользователя надо будет заново открыть окно свойств безопасности. Следующим шагом необходимо выдать себе разрешение на папку. Жмем кнопку «Добавить»
Выбираем в качестве субъекта свою учетную запись, в поле «Тип» выбираем «Разрешить», в поле «Применяется» — «Для этой папки, ее подпапок и файлов». Ставим разрешение «Полный доступ».
Теперь отмечаем чекбокс «Заменить все записи разрешений дочернего объекта наследуемыми от этого объекта» и жмем на «Отключение наследования».
В диалоговом окне выбираем «Удалить все унаследованные разрешения из этого объекта».
В результате мы становимся владельцем и единственным пользователем, имеющим права на папку. И теперь ничто не помешает ее удалить 🙂
Удаление из командной строки
Все то же самое можно проделать из командной строки. Для этого надо запустить командную строку с правами администратора и сменить владельца папки:
takeown /F C:\Windows.old /R /D y
Затем получить права на папку и отключить наследование:
icacls C:\Windows.old\*.* /T /grant WKS1\Kirill:F /inheritance:r
И удалить папку:
rmdir C:\Windows.old /S /Q
Удаление с помощью планировщика
И еще один способ, который теоретически можно использовать для удаления папки Windows.old.
По информации от Microsoft папка Windows.old должна автоматически удаляться по истечении 28 дней после обновления с помощью запланированного задания. И действительно, в планировщике, в папке \Microsoft\Windows\Setup можно найти задание с именем SetupCleanupTask, которое должно произвести необходимые действия.
Примечание. Задание SetupCleanupTask можно найти только в клиентских операционных системах. В серверных ОС в планировщике вообще нет папки Setup.
А теперь о странном 🙂
Если присмотреться, то можно увидеть, что задание почему-то запланировано на 6 часов утра 2 января 2004 года, поэтому автоматически отработать у него нет шансов. Поскольку тестирование проводилось на Windows 10, то я подумал на недоработки новой системы, но на всякий случай решил перепроверить на другой ОС. Для проверки я произвел тестовое обновление Windows 8 до 8.1, но и там задание SetupCleanupTask присутствовало в планировщике и для него было указано точно такое же расписание.
Поскольку автоматический запуск не сработает, то попробуем запустить его вручную. Однако и тут не все гладко. Если запустить это задание на Windows 8.1, то оно удаляет папку Windows.old, после чего удаляется из планировщика. При запуске в Windows 10 задание вполне успешно отрабатывает, но при этом с папкой ничего не происходит. А поскольку в качестве исполняемого действия указан настраиваемый обработчик, то выяснить причину такого поведения не представляется возможным.
Такие вот дела. Впрочем, для удаления папки Windows.old вполне хватит и первых двух способов, этот способ я описал лишь для общего развития.
Спасибо. Инструкция очень выручила