Než budeme hovořit o bezpečném způsobu čištění složky WinSxS v systému Windows Server 2012, pokusme se pochopit, o jaký druh složky jde, co je v ní uloženo a proč se v průběhu času zvětší..
Pokud si pamatujete, při instalaci dalších součástí v systému Windows Server 2003 vyžadoval instalační průvodce vložení instalačního disku na disk CD-ROM nebo určení cesty k adresáři s distribucí Windows Server 2003. V systému Windows Server 2008 se společnost Microsoft rozhodla změnit přístup k instalaci dalších rolí a funkcí systému Windows. Nyní jsou všechny binární soubory potřebné k nasazení jakékoli role uloženy v adresáři C: \ Windows \ WinSxS (WinSxS - Windows vedle sebe). To znamená, že při instalaci jakékoli další role není nyní nutné prohledávat a připojovat distribuční disk k serveru. Při tomto přístupu přirozeně vyžaduje operační systém mnohem více místa na disku. Musíte pochopit, že adresář WinSXS obsahuje klíčové komponenty systému, takže z něj nelze nic odstranit ručně. Proč ano Velikost složky WinSXS neustále roste? Odpověď je jednoduchá - aktualizace. Při instalaci aktualizací pro různé komponenty zůstanou staré a nové verze aktualizované komponenty v adresáři WinSXS. Díky této architektuře můžeme bezpečně odebrat jakoukoli nainstalovanou aktualizaci a vrátit se zpět ke staré verzi komponenty.
Obsah:
- Funkce na vyžádání v systému Windows Server 2012
- Nainstalujte vzdálené role a funkce v systému Windows Server 2012
Ale co když je systém spuštěn, neexistují žádné plány na nasazení dalších rolí a na disku není dostatek místa? Koneckonců je nelogické, že na systémovém disku je několik gigabajtů obsazeno distribucemi, které nikdy nebudou potřeba! V systému Windows Server 2008 je bohužel smazání těchto souborů bez poškození systému docela obtížné. V novém operačním systému pro servery - Windows Server 2012 se však Microsft rozhodl tento nedostatek napravit a zavedl novou funkci nazvanou Funkce na vyžádání.
Funkce na vyžádání v systému Windows Server 2012
Funkce Funkce na vyžádání (funkce na vyžádání) umožňuje zmenšit velikost systému obsazeného systémem na disku a umožňuje odstranit binární soubory nevyužitých rolí ze složky WinSxS. V případě, že v budoucnu bude nutné vrátit dříve odstraněnou roli, pak budou všechny soubory nezbytné pro fungování rolí extrahovány z distribučního obrazu systému Windows Server 2012, služby Windows Update nebo síťového zdroje s původním obsahem WinSxS..
Pomocí následujícího příkazu Powershell získáte informace o všech rolích systému:
Get-WindowsFeature
Jak vidíte, ve sloupci Stav instalace Zobrazí se stav každé role. Možné stavy:
- Nainstalován: role nebo funkce je nainstalována a systém ji aktuálně používá
- K dispozici: role není na serveru nainstalována, ale disk obsahuje všechny potřebné soubory, které vám umožňují tuto roli kdykoli nainstalovat / aktivovat.
- Odebráno: - role nebo funkce na serveru není nainstalována, soubory potřebné pro jeho instalaci jsou z disku odstraněny
Při instalaci jakékoli role pomocí GUI nebo Powershell (příkaz Install-WindowsFeature) se tedy stav z dostupných změn na Installed a při odinstalování (příkaz Uninstall-WindowsFeature) a naopak.
Role z disku (ze složky WinSxS) můžete zcela odebrat pouze přes Powershell. Chcete-li to provést, použijte speciální argument k příkazu Uninstall-WindowsFeatur - Odebrat.
Chcete-li například odstranit binární soubory pro roli serveru DHCP, spusťte příkaz:
Odinstalovat - WindowsFeature - Název DHCP - Odebrat
Odstranění souborů adresáře služby Active Directory Domain Services:
Odinstalovat službu AD-DomainFeature - WindowsOdebrat
Pomocí potrubí Powershell můžete napsat složitější příkaz, který odstraní instalační soubory ze všech nepoužitých rolí a funkcí systému Windows Server z disku:
Get-WindowsFeature | Where-Object $ _. InstallState -Eq “Available” | | Odinstalovat-WindowsFeature -Odstranit
V našem příkladu za předpokladu, že byla nainstalována pouze role souborového serveru, se velikost složky WinSxS snížila z 8 na 5,2 GB. Není to špatné, že? Kromě toho jsme k vymazání složky WinSxS potřebovali pouze jeden příkaz.
Nainstalujte vzdálené role a funkce v systému Windows Server 2012
Zvažte další scénář, který předpokládá, že je třeba nainstalovat určitou roli systému Windows Server 2012, jejíž distribuce byla odstraněna z adresáře WinSxS. Existuje několik způsobů, jak obnovit roli: pomocí Správce serveru GUI nebo pomocí Powershell.
Než začnete obnovovat soubory rolí, musíte určit index nainstalované edice systému Windows Server 2012. Budeme potřebovat disk s distribuční sadou Windows Server 2012 (nebo spíše obrazový soubor install.wim umístěný v adresáři zdroje). Spusťte následující příkaz Powershell:
Get-windowsimage -imagepath \ sources \ install.wim
Najděte verzi systému Windows Server nainstalovanou v počítači a zapamatujte si jeho index (hodnota v řádku Index). V našem příkladu je to datové centrum Windows Server 2012 s indexem 4. (Již jsme prozkoumali funkce práce s různými edicemi systému Windows 2012 v jedné distribuci v článku „Integrace ovladačů do instalačního disku systému Windows Server 2012“)..
Stejnou operaci lze provést pomocí obslužného programu Dism:
dism.exe / get-imageinfo /imagefile:d:\sources\install.wim
Nainstalujte vzdálenou roli pomocí Správce serveru
Spusťte konzolu Správce serverů a spusťte Průvodce přidáním rolí a funkcí. Vyberte roli nebo funkci, kterou chcete nainstalovat. Průvodce vás upozorní, že některé soubory potřebné k instalaci této role chybí a je nutné zadat alternativní cestu k umístění distribuce. Zadejte alternativní zdrojovou cestu.
Do pole Cesta zadejte úplnou cestu k souboru intall.wim a index nainstalované edice OS v tomto formátu:
WIM: D: \ Sources \ Install.wim: 4
V případě potřeby můžete v tomto řádku zadat síťovou cestu k adresáři pomocí souboru WIM nebo síťovou cestu k adresáři WinSxS. Cestu do tohoto adresáře lze navíc zadat okamžitě pro skupinu serverů pomocí zásad skupiny ( Konfigurace počítače -> Šablony pro správu -> Systém -> Určete nastavení pro instalaci volitelné součásti a opravu součásti) Druhá možnost je výhodná v případě velkého počtu instalací serveru se systémem Windows Server 2012, protože celkový efekt čištění složky WinSxS může dosáhnout stovek GB.
Po klepnutí na tlačítko OK budou všechny potřebné soubory pro nainstalovanou roli zkopírovány do adresáře WinSxS.
Obnovení odstraněné role systému Windows 2012 pomocí Powershell
Stejnou operaci můžete provést pouze jedním příkazem Powershell. Předpokládejme, že musíme obnovit smazané soubory rolí ADDS. Spusťte následující příkaz:
Install-WindowsFeature AD-Domain-Services -Source WIM: WIM: D: \ Sources \ Install.wim: 4
V tomto článku jsme tedy přišli na novou funkci systému Windows Server 2012 s názvem Features on Demand, která vám umožní odstranit binární distribuce nevyužitých serverových rolí z adresáře WinSxS. V případě potřeby lze smazanou roli snadno obnovit: vše, co je k tomu zapotřebí, je distribuce Windows Server 2012.
Ve Windows 8 funguje funkce Feautere on Demand trochu jinak, faktem je, že cmdlet Powershell, který používáme, prostě chybí. Jeho protějškem (není to tak pohodlné) je příkaz DISM s možností / Zakázat funkci. Nebo můžete jednoduše komprimovat obsah adresáře Winsxs. Podrobnosti v článku Jak zmenšit velikost složky Winsxs v systému Windows 8