Назад | Перейти на главную страницу

Папка Windows 2008 R2 winsxs - рост увеличивается

Я видел много сообщений об этой папке на serverfault.com сайт, но никто не помог мне решить мою проблему.

У меня как минимум 20 серверов с полностью упакованными системными разделами (я не знаю почему, но все системные разделы настроены на 30 ГБ).

Операционная система на всех серверах - Windows Server 2008 R2, SP1 не установлен, поэтому инструменты не существуют (compcln.exe и vsp1clean.exe), в дополнение к этому мне не разрешено устанавливать SP1 на серверах.

Где только это было возможно, я удалил много $NT... папки из каталога Windows и на некоторых серверах это решило проблему свободного места, но на остальных серверах я не смог найти ни одного $NT... папки для удаления.

На всех серверах отключено теневое копирование и восстановление системы.

Инструмент очистки Windows отсутствует в контекстном меню -> окно свойств диска.

Я так понимаю, что темперировать папкой WinSxS вручную не рекомендуется.

Есть ли известное решение моей проблемы?

Решение вашей проблемы - купить диски большего размера. После 10 лет обновлений мои серверы, все еще работающие с Server 2003, регулярно используют свои 30-гигабайтные тома.

А Windows 2008 R2 на объёме 30 ГБ? Забудь об этом; им просто нужно больше места. И если ваши диски заполнены, похоже, что новое серверное оборудование также почти потребуется. Вы можете укусить пулю сейчас или позже. Сейчас дешевле.

Лично я предпочитаю зеркальный RAID для диска ОС и, где необходимо, 4-дисковый RAID 10 для раздела данных (поскольку практически каждый сервер, сделанный за последние 10 лет, поддерживает не менее 6 физических дисков), но в любом случае , в такой ситуации лучше всего хранить данные и тома ОС на разных дисках.

Решение / Обход:

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

  • другой живой (смонтированный) раздел
  • оптический диск (CD, DVD и т. д.) с активной файловой системой, такой как FAT или NTFS
  • внешний жесткий диск
  • USB-накопитель
  • сетевой диск

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

После перемещения, чтобы "связать" старую точку / местоположение монтирования (в большинстве случаев C:\ProgramData\Package Cache\), вы просто создаете каталог junction к нему.

Junctions признаны на file systemуровень как запись псевдонима в FSTAB. Следовательно, он прозрачен для всех программ, включая саму ОС. Другими словами, он НЕ рассматривается как файл, который просто указывает на другое местоположение (например, shortcut) и поэтому всегда работает без происшествий.

  1. Вы переместите соответствующие папки в новое место.
  2. Создайте перекресток

    • Вариант 1. (изначально): Просто введите встроенную команду Windows Vista / 7/8 и командную строку:

      mklink /J oldpath newpath
      

      ПРИМЕЧАНИЕ. Если вы сделаете newpath абсолютный, вы сможете переместить ссылку, не нарушая указатель на newpath. Если вы сделаете newpath относительный, вы сможете предотвратить разрыв ссылки, пока вы перемещаете ОБА ссылку и нацеливаете ВМЕСТЕ и сохраняете их относительные пути.

    • Вариант 2. (с помощью инструмента): Еще одна ОТЛИЧНАЯ альтернатива - это бесплатная удобная утилита, которую я использую в течение многих лет, которая называется "Расширение оболочки ссылки". LSE бесплатна, и вы можете найти ее здесь (или в Google): http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

      LSE позволяет создавать символические ссылки, жесткие ссылки, соединения, смарт-копии, смарт-клоны, интеллектуальные зеркала, интеллектуальные ходы, соединения, несколько источников и множество других вещей, которые я, честно говоря, нашел слишком запутанными для чтения. Но это блестящий бесплатный продукт, который создает контекстное меню Windows Explorer, позволяющее щелкнуть правой кнопкой мыши папку LINK-TARGET и перетащить ее туда, где вы хотите создать фактическую ссылку. Конечно, вы можете переименовать ссылку во что угодно.

За эта статья в технике у вас должна быть возможность скопировать нужные файлы clnmgr из папок winsxs.

Чтобы использовать cleanmgr.exe, вам нужно скопировать два файла, которые уже есть на сервере, cleanmgr.exe и cleanmgr.exe.mui.

Для 64-разрядной версии Windows Server 2008 R2 два файла находятся в следующих местах.

C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.1.7600.16385_none_c9392808773cd7da\cleanmgr.exe

C:\Windows\winsxs\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.1.7600.16385_en-us_b9cb6194b257cc63\cleanmgr.exe.mui

Найдя файлы, переместите их в следующие места:

Cleanmgr.exe should go in %systemroot%\System32.

Cleanmgr.exe.mui should go in %systemroot%\System32\en-US.

Теперь вы можете запустить инструмент очистки диска, запустив его из диалогового окна «Выполнить», из меню «Пуск» или из командной строки.

Я решил это, переместив эту папку в другой раздел. Мой сервер - Windows 2008 R2, DC. Вот шаги:

  1. Войдите в систему как администратор. Скопируйте C: \ windows \ winsxs в z: \ windows \ winsxs. Диск Z находится в другом разделе.
  2. Создайте ссылку для новой папки. В командной строке введите «mklink / j c: \ windows \ winsxs_1 z: \ windows \ winsxs». Создает ссылку с именем winsxs_1.
  3. Перезагрузите сервер с установочного диска Winodws 2008 R2. Когда он запустится, выберите «Восстановить ОС, а не устанавливать». Откроется окно параметров восстановления системы. Выберите вариант «Использовать инструменты восстановления, которые помогут решить проблемы с запуском Windows». В нем перечислены ОС, установленные на этом сервере. Запишите букву диска. В настоящее время ваш диск C может не относиться к C. У меня диск G. Затем нажмите «Далее».
  4. Используйте командную строку. Перейдите на диск, на котором была установлена ​​ваша ОС. И заходим в папку Windows. Переименуйте Windows \ winsxs в winsxs_original. Переименуйте ссылку windows \ winsxs_1 в winsxs.
  5. Закройте командные окна и перезапустите сервер.
  6. Войдите в систему как администратор. Найдите windows \ winsxs_original. Стать владельцем. И предоставьте администратору полный контроль.
  7. Снова перезапустите сервер. Когда он полностью запустится, попробуйте обновить / установить / удалить. А затем проверьте, какая папка была обновлена. В моем случае z: \ windows \ winsxs обновляется. Это означает, что ОС использует новое местоположение. Теперь вы можете удалить c: \ windows \ winsxs_original.

Я согласен с ребятами, которые говорят, что 30 ГБ недостаточно для Windows 2008 R2, но у меня была та же проблема, с которой вы столкнулись в прошлом, и я не мог ничего сделать, кроме удаления некоторых файлов. Утилита под названием WinDirStat мне очень помогли определить, какая папка занимает слишком много места. В моем случае это были файлы журнала IIS, которые были скрыты от системных инструментов, таких как очистка. Итак, я удалил их вручную, и это было хорошим временным решением.