Articles

Oczyszczanie dysku w Windows Server

z czasem, gdy twój Windows Server działa dłużej, zużywa się coraz więcej miejsca na dysku. Po prostu zniknął! Nie ma dużych plików dziennika, zrzutów awarii lub oprogramowania, które można usunąć. Gdzie się podziała ta przestrzeń?

odpowiedź: aktualizacje systemu Windows, Service Pack i instalacje poprawek.

Protip: ten post pokazuje również, jak przenieść folder Windows Server SoftwareDistribution i folder dokumentów użytkownika na inną partycję.

oczyszczanie WinSxS w systemie Windows Server – używanie DISM i PowerShell#

Narzędzie Oczyszczanie dysku systemu Windows cleanmgr nie jest dostępne w systemie Windows Server 2012, jeśli funkcja Desktop Experience-nie jest zainstalowana. To sprawia, że sprzątanie zużytego miejsca na dysku jest nieco trudniejsze. Możesz użyć swojego cmd.exe lub Wiersza poleceń PowerShell i użyć Deployment Image Servicing and Management (DISM), aby wyczyścić Sklep komponentów systemu Windows (WinSxS) w systemie Windows Server 2012 i nowszych.

folder WinSxS znajduje się w folderze Windows, na przykład C:\Windows\WinSxS. Jest to lokalizacja Plików magazynu komponentów systemu Windows.

Sklep komponentów systemu Windows zawiera wszystkie pliki wymagane do instalacji systemu Windows. A wszelkie aktualizacje tych plików są również przechowywane w magazynie komponentów, gdy aktualizacje są zainstalowane (źródło: KB 2795190-i czytaj Zarządzaj magazynem komponentów). Folder WinSxS stanie się Duży …

posprzątajmy WinSxS!

Odzyskaj zużyte miejsce na dysku dzięki obsłudze i zarządzaniu obrazem Deployment (DISM)#

rytuały czyszczenia po paradzie
rytuały czyszczenia po paradzie. Image via Flickr by Pabak Sarkar

Dism Oczyszczanie dysku: Deployment Image Servicing and Management (DISM) to narzędzie wiersza poleceń, które pozwala instalować, odinstalowywać, konfigurować i aktualizować funkcje, Pakiety, sterowniki i ustawienia międzynarodowe systemu Windows. /Cleanup-Image parametrdism.exe zapewnia zaawansowanym użytkownikom więcej opcji do dalszego zmniejszenia rozmiaru folderu WinSxS.

Dism.exe /Online /Cleanup-Image ma kilka dodatkowych parametrów (lub przełączników):

  • /AnalyzeComponentStore
  • /StartComponentCleanup
  • /ResetBase z /StartComponentCleanup
  • /SPSuperseded

w całym tym artykule zakładam, że przeczytasz opcje pomocy, po prostu dodaj /?, takie jak: dism.exe /Online /Cleanup-Image /?div>.

Jeśli ci się to podobało, możesz również cieszyć się następującym postem podsumowującym dodatkowe sposoby 5 na wyczyszczenie miejsca na dysku w systemie Windows Server!

Analizuj folder WinSxS (magazyn komponentów) za pomocą/AnalyzeComponentStore#

najpierw możesz użyć parametru/AnalyzeComponentStore. Analizuje to rozmiar magazynu komponentów w systemie Windows. Opcja AnalyzeComponentStore jest dostępna w systemie Windows 8.1 Windows Server 2012 R2 i powiadomi Cię, czy czyszczenie magazynu komponentów jest zalecane, czy nie.

dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Code language: PowerShell (powershell)
dism.exe /online /Cleanup-Image /AnalyzeComponentStore
dism.exe /online /Cleanup-Image /AnalyzeComponentStore

In the above image, AnalyzeComponentStore recommends a Component Store Cleanup. Let’s do so.

/StartComponentCleanup parameter#

Dism.exe removes superseded and unused system files from a system with the /StartComponentCleanup parameter.

dism.exe /Online /Cleanup-Image /StartComponentCleanup
Code language: PowerShell (powershell)
dism.exe /online /Cleanup-Image /StartComponentCleanup
dism.exe / online / Cleanup-Image/StartComponentCleanup

istnieje również zarejestrowane zaplanowane zadanie o nazwie StartComponentCleanup. Możesz uruchomić to zadanie z wiersza poleceń:

schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
Code language: PowerShell (powershell)

parametr /StartComponentCleanup jest obsługiwany w systemach Windows 8, Windows Server 2012 i nowszych.

za pomocą parametru /StartComponentCleanup programu Dism.exe w systemie Windows 10 daje podobne wyniki do uruchamiania zadania StartComponentCleanup w Harmonogramie zadań, z wyjątkiem poprzednich wersji zaktualizowanych komponentów zostaną natychmiast usunięte (bez 30-dniowego okresu karencji) i nie będziesz miał ograniczenia czasu 1-godzinnego.

w podwyższonym wierszu poleceń wpisz następujący:Skopiuj

Dism.exe /online /Cleanup-Image /StartComponentCleanup
Code language: PowerShell (powershell)

/ResetBase switch z parametrem /StartComponentCleanup#

używając /ResetBase switch z parametrem /StartComponentCleanup z parametrem dism.exe, wszystkie zastąpione wersje każdego komponentu w magazynie komponentów są usuwane.

dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
Code language: PowerShell (powershell)
dism.exe /online /Cleanup-Image /StartComponentCleanup/ResetBase
dism.exe /online /Cleanup-Image /StartComponentCleanup/ResetBase

Po wykonaniu tej komendy nie można odinstalować wszystkich istniejących dodatków i aktualizacji. Nie zablokuje to odinstalowywania przyszłych dodatków service Pack lub aktualizacji.

parametr/ResetBase jest obsługiwany w systemach Windows 8.1 i Windows Server 2012 R2.

/spsuperseded parametr#

parametr/SPSuperseded usuwa wszelkie komponenty zapasowe potrzebne do deinstalacji dodatku service pack. Nie można odinstalować dodatku service pack po wykonaniu tego polecenia.

dism.exe /Online /Cleanup-Image /SPSuperseded
Code language: PowerShell (powershell)

Service Pack nie może być odinstalowany po wykonaniu tej komendy.

parametr/SPSuperseded jest obsługiwany w systemie Windows 7 lub Windows Server 2008 R2 Service Pack 1, 2012, 2012 R2.

opcja/AnalyzeComponentStore jest dostępna w systemach Windows 8.1 i Windows Server 2012 R2. Użyj tego do analizy rozmiaru magazynu komponentów (folderu WinSxS) w systemie Windows.

Narzędzie Oczyszczanie dysku jest dostępne w systemie Windows Server 2012, ale nie w systemie Windows Server 2012 R2#

Jak wspomniano na początku tego artykułu, Narzędzie Oczyszczanie dysku jest dostępne w systemie Windows Server 2012, jeśli zainstalujesz funkcję Desktop Experience-feature.

w niektórych wersjach systemu Windows Server można po prostu skopiować cleanmgr.exe I cleanmgr.exe.mui do C:\Windows\system32 I C:\Windows\system32\en-Us ze starego serwera Windows 2008 R2, jeśli nie chcesz zainstalować funkcję desktop experience.

poniższe kroki instalacji (kopiowania) cleanmgr mogą nie działać na wszystkich wersjach systemu Windows Server. Spróbuj sam.

Kreator oczyszczania dysku dodatek w systemie Windows Server 2008 R2
Microsoft Kb2852386 dodaje opcję oczyszczania dysku w systemie Windows Server 2008 R2, podobną do aktualizacji systemu Windows 7. Przetestowałem to na Windows Server 2012. Może nie wszystko posprzątać, ale przynajmniej dużo.

oto jak sprawić, abycleanmgr.exe był dostępny w systemie Windows Server 2012 Standard (Windows w wersji 6.2.9200), bez instalowania funkcji Desktop Experience:

Microsoft Windows (c) 2012 Microsoft Corporation. All rights reserved.PS C:\Users\jan> $osversion = ::OSVersion.VersionPS C:\Users\jan> write-host $osversion6.2.9200.0C:\Windows\System32>cd ..C:\Windows>copy WinSxS\amd64_microsoft-windows-cleanmgr.resources_31bf3856ad364e35_6.2.9200.16384_en-us_b6a01752226afbb3\cleanmgr.exe.mui \Windows\system32\en-US 1 file(s) copied.C:\Windows>copy WinSxS\amd64_microsoft-windows-cleanmgr_31bf3856ad364e35_6.2.9200.16384_none_c60dddc5e750072a\cleanmgr.exe \Windows\system32 1 file(s) copied.C:\Windows>system32\cleanmgr.exeC:\Windows>
Code language: PowerShell (powershell)

Niestety, to już nie działa na Windows Server 2012 R2 (6.3.9600), prawdopodobnie z powodu KB2821895. Jak zauważył Aaron w komentarzach, powyższe rozwiązanie do kopiowania plików cleanmgr.exe I cleanmgr.exe.mui nie zawsze działa dobrze. Dlatego usunąłem te informacje dla systemu Windows Server 2012 R2.

na szczęście funkcja czyszczenia dysku powraca w systemie Windows Server 2016 (co najmniej TP5).

Oczyszczanie dysku w systemie Windows Server 2016 TP5
Oczyszczanie dysku w systemie Windows Server 2016 TP5

Po wyczyszczeniu dysku, wymagane jest ponowne uruchomienie serwera. Nie zapomnij ponownie uruchomić komputera – lub serwera-później! Rzeczywiste czyszczenie katalogu WinSxs następuje podczas następnego restartu.

błąd 0x800f0906 z DISM /Online /Cleanup-Image, PowerShell Install-WindowsFeature i SFC /scannow#

niektóre raporty są dostępne wyjaśniając Microsoft Security Bulletin MS14-046 złamał DISM /Online /Cleanup-Image /RestoreHealth, PowerShell Install-WindowsFeature z -Source parametr i SFC /scannow. Tak, wiele się zepsuło…

Microsoft udostępnił aktualizację: Kb3005628

Aktualizacja dla.NET Framework 3.5 W systemach Windows 8, Windows 8.1, Windows Server 2012 i Windows Server 2012 R2. Ta aktualizacja rozwiązuje problem, który uniemożliwia włączenie opcjonalnej funkcji Microsoft. NET Framework 3.5 po zainstalowaniu aktualizacji zabezpieczeń 2966827 lub 2966828 (opisanych w Biuletynie bezpieczeństwa Microsoft MS14-046) dla Microsoft.NET Framework 3.5.

przenieś folder dystrybucji oprogramowania Windows Server#

z czasem folder dystrybucji oprogramowania Windows Updates wc:\Windows\SoftwareDistribution może stać się dość duży, na przykład gdy wiele aktualizacji nie zostało pomyślnie zainstalowanych.

Pliki Windows Update są pobierane do tego folderu i usuwane po pomyślnej instalacji. Jeśli znajdziesz się w sytuacji, w której partycja C: jest raczej mała, a folder SoftwareDistribution pochłania zbyt dużo miejsca na dysku, wykonaj następujące kroki, aby przenieść folder SoftwareDistribution do innej lokalizacji.

wszystko w powłocecmd.exe (Uruchom> Uruchom>cmd I naciśnij enter). W tym przykładzie nowa lokalizacja to D:\Windows-SoftwareDistribution.

  1. Zatrzymaj usługę aktualizacji systemu Windows: net stop wuauserv
  2. Zmień nazwę folderu c:\Windows\SoftwareDistribution na c:\Windows\SoftwareDistribution.oldrename c:\windows\SoftwareDistribution SoftwareDistribution.old
  3. Utwórz link używając Windows Sysinternals Junction lub Windows Mklink
    • utwórz nowy katalog:
      mkdir D:\Windows-SoftwareDistribution
    • Utwórz węzeł:
      c:\>junction C:\Windows\SoftwareDistribution "D:\Windows-SoftwareDistribution" lub:
      c:\>mklink /J C:\Windows\SoftwareDistribution "D:\Windows-SoftwareDistribution"
  4. uruchom ponownie usługę Windows Update: net start wuauserv

Gdy po chwili wszystko wydaje się działać i aktualizować dobrze, Usuń swoje oprogramowanie.stary folder.

przenieś folder dokumentów użytkownika#

innym sposobem na uzyskanie dodatkowej wolnej przestrzeni jest przeniesienie folderu dokumentów użytkownika (i innych, takich jak pliki do pobrania), na przykład zC:\Users\$USER$\Documents doD:\User\$USER$\Documents (zastąp $USER$ nazwą użytkownika, której folder dokumentów chcesz przenieść). Oto kroki, które należy wykonać (zrzuty ekranu z systemu Windows Server 2016 TP5):

  1. Otwórz Eksplorator i kliknij prawym przyciskiem myszy folder Dokumenty, a następnie Właściwości
  2. Wybierz lokalizację
  3. Zmień lokalizację, w której przechowywane są pliki
  4. gdy miejsce docelowe nie istnieje, System Windows poprosi o utworzenie folderu dla ciebie
  5. Po zakończeniu pliki są przenoszone do nowej lokalizacji.
przenieś Folder dokumentów użytkownika systemu Windows, krok 01
przenieś Folder dokumentów użytkownika systemu Windows, krok 01
przenieś folder dokumentów użytkownika systemu Windows, krok 02
przenieś folder dokumentów użytkownika systemu Windows, krok 02

przenieś folder dokumentów użytkownika systemu Windows, krok 03
przenieś folder dokumentów użytkownika systemu Windows, krok 03

podsumowanie#

Tak, Sklep komponentów Windows (folder WinSxS) może stać się duży, bardzo duży. Ale na szczęście Microsoft zapewnia nam narzędzia do monitorowania, zarządzania i czyszczenia folderu WinSxS, aby odzyskać zużyte miejsce na dysku.

Jeśli nie masz nic przeciwko zainstalowaniu funkcji Desktop Experience Windows w systemie, możesz mieć narzędzie Oczyszczanie dysku w systemie. W przeciwnym razie możesz użyć polecenia DISM (Deployment Image Servicing and Management) do różnych zadań czyszczenia.

aby uzyskać dodatkowe wolne miejsce, Możesz również przenieść folder Windows SoftwareDistribution na inną partycję.