Trước khi nói về cách dọn dẹp an toàn Thư mục WinSXS trong Windows server 2012, chúng ta hãy thử tìm hiểu thư mục WinSXS là gì, những gì được lưu trong thư mục này và tại sao kích thước của nó liên tục tăng theo thời gian.
[accordion]
[tab title =”Nội dung của bài viết này”]
[/ tab]
[/ accordion]
Nếu bạn nhớ trong quá trình cài đặt các tính năng bổ sung trong Windows Server 2003, trình hướng dẫn cài đặt yêu cầu đưa đĩa cài đặt vào CD-Rom hoặc để hiển thị đường dẫn đến danh mục với gói cài đặt Windows Server 2003. Microsoft đã quyết định thay đổi chính sách của mình đối với các vai trò và tính năng bổ sung của Windows trong Windows Server 2008. Giờ đây, tất cả các tệp nhị phân cần thiết cho bất kỳ quá trình triển khai vai trò nào đều được lưu trữ trong thư mục % windir% \ WinSxS (WinSxS - Windows Side By Side) . Điều này có nghĩa là trong trường hợp có bất kỳ cài đặt vai trò bổ sung nào, không cần tìm kiếm và kết nối đĩa có gói cài đặt với máy chủ. Tất nhiên trong trường hợp như vậy cần nhiều không gian hơn cho hệ điều hành. Cần phải hiểu rằng các thành phần quan trọng của hệ thống nằm trong danh mục WinSXS và không được phép tự ý xóa bất cứ thứ gì khỏi nó theo cách thủ công. Tại sao nó không ngừng tăng kích thước? Câu trả lời rất đơn giản - cập nhật. Trong quá trình cài đặt các bản cập nhật cho các tính năng khác nhau trong danh mục WinSXS, phiên bản cũ và mới của tính năng được cập nhật sẽ được lưu. Do cấu trúc như vậy, chúng tôi có thể xóa an toàn mọi bản cập nhật đã cài đặt bất kỳ lúc nào và quay lại phiên bản cũ của tính năng.
Mẹo . Windows 7 SP 1 có thể giảm kích thước thư mục WinSxS bằng cách xóa các bản cập nhật không sử dụng.Và người ta nên làm gì nếu hệ thống được khởi chạy và hoạt động tốt, không cần triển khai thêm vai trò nào nhưng vẫn không đủ dung lượng trên đĩa? Có vẻ như khá phi logic khi một số gigabyte trên đĩa hệ thống được sử dụng cho các gói cài đặt sẽ không bao giờ cần thiết! Thật không may, thật khó để xóa những tệp này mà không làm hỏng hệ thống trong Windows Server 2008. Tuy nhiên, Microsoft trong HĐH máy chủ mới (Windows Server 2012) đã quyết định cải thiện nhược điểm này bằng cách triển khai một chức năng mới có tên là Tính năng trên Nhu cầu.
Các tính năng theo yêu cầu trong Windows Server 2012
Chức năng Tính năng theo Yêu cầu cho phép giảm dung lượng trên đĩa được sử dụng cho các tệp hệ thống do khả năng xóa các tệp nhị phân vai trò không sử dụng khỏi thư mục WinSxS. Trong trường hợp sau này cần phải trả lại vai trò đã xóa trước đó, tất cả các tệp cần thiết có thể tìm thấy trong hình ảnh gói cài đặt Windows Server 2012, dịch vụ Windows Update hoặc tài nguyên mạng có nội dung gốc.
Với sự trợ giúp của lệnh Powershell sau, bạn có thể nhận được thông tin về tất cả các vai trò và tính năng của hệ thống:
1 | Get-WindowsFeature |
Get-WindowsFeature
Như bạn có thể thấy trạng thái của mọi vai trò được hiển thị trong cột Trạng thái cài đặt. Các trạng thái như vậy có thể xảy ra:
- Đã cài đặt :vai trò hoặc tính năng đã được cài đặt và được hệ thống sử dụng vào lúc này
- Có sẵn :vai trò chưa được cài đặt trên máy chủ, tuy nhiên, tất cả các tệp cần thiết đều có sẵn trên đĩa, cho phép cài đặt / kích hoạt vai trò này bất cứ lúc nào.
- Đã xóa :vai trò hoặc tính năng không được cài đặt trên máy chủ, tất cả các tệp cần thiết để cài đặt sẽ bị xóa khỏi đĩa
Tương ứng, trong trường hợp cài đặt vai trò bất kỳ thông qua GUI hoặc Powershell (lệnh Install-WindowsFeature), trạng thái của nó sẽ được thay đổi từ Có sẵn thành Đã cài đặt hoặc trong trường hợp bị xóa (lệnh Uninstall-WindowsFeature) và ngược lại.
Xóa các vai trò không sử dụng khỏi Windows Server 2012
Chỉ có thể xóa vai trò khỏi đĩa (từ thư mục WinSxS) thông qua Powershell. Đối số lệnh đặc biệt Gỡ cài đặt-Windows Tính năng –Remove nên được sử dụng cho mục đích này.
Ví dụ:nếu bạn cần xóa tệp nhị phân vai trò máy chủ DHCP, bạn nên sử dụng lệnh sau:
1 | Uninstall-WindowsFeature –Name DHCP –Remove |
Gỡ cài đặt-WindowsFeature –Tên DHCP –Remove
Lệnh sau sẽ xóa các tệp dịch vụ danh mục Dịch vụ miền Active Directory:
1 | Uninstall-WindowsFeature AD-Domain-Services -Remove |
Gỡ cài đặt-Windows Tính năng AD-Miền-Dịch vụ -Xoá bỏ
Với sự trợ giúp của Powershell, bạn có thể viết lệnh phức tạp hơn sẽ xóa tất cả cài đặt các tệp của Windows Server các vai trò và chức năng không được sử dụng:
1 | Get-WindowsFeature | Where-Object {$_.InstallState -Eq “Available”} | Uninstall-WindowsFeature -Remove |
Get-WindowsFeature | Where-Object {$ _. InstallState -Eq “Available”} | Gỡ cài đặt-Windows Tính năng -Remove
Trong ví dụ của chúng tôi, với điều kiện chỉ có một vai trò máy chủ tệp được cài đặt, kích thước của thư mục WinSxS sẽ giảm từ 8 xuống còn 5 Gb. Đó không phải là một kết quả tồi, phải không? Thậm chí, chúng tôi chỉ sử dụng một lệnh để dọn dẹp thư mục WinSxS.
Cách cài đặt các vai trò và tính năng đã xóa trong Windows Server 2012
Một ví dụ khác, giả sử rằng bạn cần cài đặt một số role Windows Server 2012, nhưng gói cài đặt của nó đã bị xóa khỏi danh mục WinSxS. Có thể khôi phục vai trò này theo một số cách:với sự trợ giúp của Trình quản lý máy chủ GUI hoặc với sự trợ giúp của Powershell.
Trước khi bạn bắt đầu khôi phục tệp vai trò, bạn cần xác định chỉ mục của phiên bản đã cài đặt Windows Server 2012. Chúng tôi cần đĩa có gói cài đặt Windows Server 2012 (chính xác là tệp hình ảnh install.wim được phân bổ trong danh mục nguồn). Thực hiện lệnh Powershell sau:
1 | Get-windowsimage –imagepath <path_to_wim_file>\sources\install.wim |
Get-windowsimage –imagepath
Vui lòng tìm phiên bản Windows Server được cài đặt trên PC của bạn và ghi nhớ chỉ mục của nó (giá trị trong dòng Chỉ mục) Trong ví dụ của chúng tôi, đó là Trung tâm dữ liệu Windows Server 2012 với chỉ mục 4.
Thao tác tương tự có thể được thực hiện với sự trợ giúp của tiện ích Dism:
1 | dism.exe /get-imageinfo /imagefile:d:\sources\install.wim |
dism.exe / get-imageinfo /imagefile:d:\sources\install.wim
Cài đặt vai trò đã bị xóa bằng cách sử dụng Trình quản lý máy chủ
Mở bảng điều khiển Trình quản lý máy chủ và bật Trình quản lý cài đặt vai trò (Thêm Vai trò và Tính năng). Chọn vai trò hoặc tính năng cần được cài đặt. Trình quản lý sẽ cảnh báo bạn rằng một số tệp cần thiết cho cài đặt vai trò này bị thiếu và bạn phải chỉ định một đường dẫn nguồn thay thế đến vị trí gói cài đặt. Nhấn Chỉ định đường dẫn nguồn thay thế nút.
Trong trường Đường dẫn, chỉ định đường dẫn đầy đủ đến tệp intall.wim và chỉ mục phiên bản đã cài đặt hệ điều hành ở định dạng sau:
1 | WIM:D:\Sources\Install.wim:4 |
WIM:D:\ Sources \ Install.wim:4
Sau khi nhấn nút OK, tất cả các tệp cần thiết cho vai trò có thể cài đặt sẽ được sao chép vào danh mục WinSxS.
Nếu cần, đường dẫn đến danh mục với tệp WIM hoặc đường dẫn mạng đến danh mục WinSxS có thể được chỉ định trong dòng này. Bên cạnh đó, có thể chỉ định đường dẫn đến danh mục này cho nhóm máy chủ với sự trợ giúp của chính sách nhóm ( Cấu hình máy tính / Mẫu quản trị / Hệ thống / Chỉ định cài đặt cho cài đặt thành phần tùy chọn và sửa chữa thành phần ). Biến thể cuối cùng rất thuận tiện nếu cần thực hiện nhiều cài đặt máy chủ với Windows Server 2012 vì tổng tác dụng của việc dọn dẹp như vậy có thể lên đến hàng trăm gigabyte.
Windows Server 2012 khôi phục các vai trò đã xóa bằng Powershell
Thao tác tương tự có thể được thực hiện chỉ với một lệnh Powershell. Giả sử chúng ta cần khôi phục các tệp từ xa vai trò ADDS. Hãy thực hiện lệnh sau:
1 | Install-WindowsFeature AD-Domain-Services -Source WIM:WIM:D:\Sources\Install.wim:4 |
Cài đặt-Windows Tính năng AD-Miền-Dịch vụ -Nguồn WIM:WIM:D:\ Sources \ Install.wim:4
Vì vậy, trong bài viết này, chúng ta đã tìm hiểu với một chức năng mới của Windows Server 2012 được gọi là Tính năng theo yêu cầu, nó cho phép xóa các tệp nhị phân với các gói cài đặt vai trò máy chủ từ danh mục WinSxS. Có thể khôi phục vai trò đã xóa nếu cần:tất cả những gì bạn cần là gói cài đặt Windows Server 2012.
Tính năng theo yêu cầu trong Windows 8 hoạt động hơi khác một chút, điều này là do lệnh Powershell mà chúng ta đã sử dụng trong các trường hợp trước đơn giản là không tồn tại ở đây. DISM lệnh với / Disable-Feature Tham số được coi là tương tự của nó (không thuận tiện lắm). Nội dung thư mụcWinSxS cũng có thể được nén thêm về điều này trong bài viết:Cách Dọn dẹp và Nén Thư mục WinSxS.
Mẹo . Tìm hiểu thêm về cách giảm kích thước của thư mục WinSxS trong Windows 8.1 tại đây