Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows

Thư mục WinSxS trên Windows 11/10 giải thích chi tiết

Đa số bạn đã nhận thấy thư mục WinSxS trên Windows 11/10/8/7 và ngạc nhiên về kích thước. Thư mục nằm tại C:\Windows\Winsxs với dung lượng khổng lồ! Của tôi gần 5 GB, khoảng 6000 thư mục & 25000 file, chiếm gần 40% thư mục Windows! Trên XP, Winsxs chỉ 25-50 MB; kích thước lớn trên Windows 11/10/8/7/Vista khiến nhiều người tò mò. Xem hình dưới.

Thư mục WinSxS trên Windows 11/10 giải thích chi tiết

Vậy bí mật của thư mục Winsxs trên Windows 11/10 là gì? Hãy cùng tìm hiểu.

Thư mục WinSxS trên Windows 11/10 là gì?

Thư mục WinSxS lưu nhiều bản sao của dll, exe và file hệ thống khác để nhiều ứng dụng chạy trên Windows không gặp vấn đề tương thích. Nếu duyệt bên trong, bạn thấy nhiều file trùng tên. Thực chất đó là các phiên bản khác nhau của cùng file được lưu trữ; vì các chương trình khác nhau có thể yêu cầu phiên bản khác nhau.

Winsxs viết tắt của Windows Side By Side, là bộ nhớ cache assembly gốc của Windows. Thư viện được nhiều ứng dụng dùng chung được lưu tại đây. Tính năng này xuất hiện đầu tiên trên Windows ME, được xem là giải pháp của Microsoft cho vấn đề dll hell trên Windows 9x.

Trong Winsxs, thư mục backup là lớn nhất, như thấy hình dưới.

Thư mục WinSxS trên Windows 11/10 giải thích chi tiết

Lại như hình dưới, trong thư mục Winsxs, loại file Other chiếm phần lớn dung lượng. Chúng chủ yếu là .imd, .ngr, .csd, .dll, .dll.mui, .exe và các loại file tương tự.

Thư mục WinSxS trên Windows 11/10 giải thích chi tiết

Trên Windows 7 trở lên, không còn thư mục dllcache hay i386 nơi hệ thống cache các module nguồn (như XP). Chính thư mục WinSxS lưu trữ các thành phần chia sẻ của ứng dụng side-by-side. Các file này có thể là nhiều phiên bản của cùng assembly/ứng dụng. Mỗi assembly side-by-side có danh tính duy nhất. Một thuộc tính của danh tính assembly là phiên bản.

"Side-by-side assemblies được hệ điều hành dùng làm đơn vị cơ bản cho đặt tên, binding, phiên bản, triển khai, cấu hình. Thư mục Winsxs bao gồm tất cả manifests, optional components, và file Win32 của bên thứ 3", Microsoft nói.

Tại sao nhiều subfolder đến vậy và giữ nhiều phiên bản khác nhau của cùng dll, exe, file khác?

Như đã nói, Windows lưu dll cũ và thành phần thư viện trong WinSxS. Nếu phiên bản mới của file là một phần của OS, nhưng một ứng dụng cụ thể yêu cầu phiên bản cũ để chạy, thì phiên bản cũ từ WinSxS sẽ được dùng, để phiên bản mới ở chỗ cũ cho ứng dụng khác cần nó.

Có an toàn xóa thư mục WinSxS không?

Tuyệt đối không thể xóa thư mục này hoặc di chuyển nó. Cũng không khuyến khích xóa bất cứ thứ gì bên trong, vì có thể khiến ứng dụng không chạy hoặc làm hỏng hệ thống! Nếu cài nhiều ứng dụng, WinSxS sẽ to. Thư mục này không thể nằm trên volume khác ngoài system volume do dùng NTFS hard links. Di chuyển có thể khiến Windows Update, service pack, tính năng không cài được đúng.

Nếu xóa thành phần từ WinSxS như manifests, assemblies, bạn sẽ gặp rắc rối. Mỗi hệ thống phản ứng khác nhau. Điều hoạt động trên máy này có thể làm hỏng máy kia! Ví dụ: cài chương trình yêu cầu assembly bạn đã xóa, chương trình đó sẽ không chạy! Nén thư mục cũng không được, có thể gây vấn đề khi Windows Update hoặc cài Hotfix.

Cách an toàn nhất dọn dẹp: gỡ cài đặt ứng dụng không cần. Tuy nhiên, cũng không chắc chắn, vì nhiều ứng dụng vẫn để lại file ở đây (do chia sẻ với ứng dụng khác). Xác suất dll vô dụng bị sót lại khá cao.

Không khuyến khích dùng công cụ dọn WinSxS như WinsxsLite vì có thể làm hỏng Windows.

Nếu bạn hay thử phần mềm mới, cài/gỡ thường xuyên, WinSxS sẽ lớn, vì Windows lưu nhiều bản sao dll để nhiều ứng dụng chạy không xung đột.

Dọn dẹp thư mục WinSxS trên Windows 11/10

Windows 8.1 giới thiệu tùy chọn dòng lệnh mới cho DISM.exe: /AnalyzeComponentStore. Chạy lệnh này sẽ phân tích WinSxS và báo cáo có nên dọn Component Store hay không. Tính năng có sẵn trên Windows 11/10.

  • Trên Windows 11/10/8.1/8, mở Disk Cleanup Tool dùng tùy chọn Windows Update Cleanup để dọn WinSxS.
  • Trên Windows 7, Microsoft phát hành cập nhật thêm tùy chọn Windows Update Cleanup vào Disk Cleanup.
  • Người dùng Windows Server cũng có thể dọn WinSxS trên Server với bản cập nhật mới.

Một số tùy chọn khác để giải phóng dung lượng ổ cứng – một số thông thường, một số triệt để:

  1. Chạy Disk Cleanup tool
  2. Gỡ ứng dụng không dùng
  3. Di chuyển Page file sang ổ khác
  4. Tắt hibernation
  5. Dùng tùy chọn dump file chuyên dụng để lưu memory dump trên volume khác.
  6. Tắt system restore points
  7. Chuyển thư mục user profile và program files sang volume khác.

Cập nhật 1 từ TechNet Blogs: Thay đổi lớn nhất giữa các phiên bản Windows trước là chuyển từ OS mô tả bằng INF sang componentization. Tất cả component trong OS nằm trong WinSxS – gọi là component store. Mỗi component có tên duy nhất bao gồm phiên bản, ngôn ngữ, kiến trúc processor. WinSxS là vị trí duy nhất component tồn tại trên hệ thống, các instance file khác bạn thấy trên hệ thống đều được "projected" bằng hard linking từ component store.

Bây giờ bạn biết tại sao store lớn như vậy, câu hỏi tiếp theo: tại sao không gỡ phiên bản cũ component? Câu trả lời ngắn gọn: độ tin cậy (reliability). Component store cùng thông tin khác trên hệ thống cho phép xác định bất kỳ lúc nào phiên bản component tốt nhất để project. Nghĩa là nếu gỡ bản cập nhật bảo mật, ta có thể cài phiên bản cao hơn tiếp theo – không còn vấn đề "gỡ theo thứ tự ngược". Cũng nghĩa là nếu cài tính năng tùy chọn, ta không chỉ chọn phiên bản RTM, mà tìm phiên bản cao nhất có sẵn trên hệ thống.

Cách duy nhất an toàn giảm kích thước WinSxS là giảm tập hợp hành động hệ thống có thể thực hiện – cách dễ nhất: gỡ các package cài component từ đầu. Làm được bằng cách gỡ các phiên bản package bị thay thế (superseded) trên hệ thống. Service Pack 1 chứa binary VSP1CLN.EXE, công cụ làm Service Pack package vĩnh viễn (không gỡ được) trên hệ thống, và xóa phiên bản RTM của tất cả component bị thay thế. Chỉ làm được vì khi Service Pack vĩnh viễn, ta đảm bảo không bao giờ cần phiên bản RTM.

Cập nhật 2 từ E7 Blogs: "Modular hóa" OS là mục tiêu kỹ thuật Windows Vista. Giải quyết vấn đề cài đặt, servicing, độ tin cậy của Windows cũ. Thư mục Windows SxS đại diện cho "trạng thái cài đặt và servicing" của tất cả component hệ thống. Thực tế nó không tiêu tốn dung lượng ổ cứng nhiều như vẻ ngoài khi dùng công cụ tích hợp (DIR, Explorer). Việc khó biết dung lượng thực tế của thư mục là điểm hợp lý! Thư mục WinSxS cũng cho phép servicing offline, làm Windows Vista trở lên "an toàn cho imaging".

Có nhiều blog thậm chí công cụ "ngầm" nói xóa WinSxS không sao, sau cài đặt xóa nó, hệ thống boot và chạy ngon lành. Nhưng như mô tả, đây là thói quen xấu, vì gỡ bỏ khả năng servicing tin cậy tất cả component OS và cập nhật/cấu hình optional component. Windows chỉ hỗ trợ WinSxS trên ổ vật lý tại vị trí cài đặt gốc.

Kết luận

Hãy để thư mục WinSxS yên nguyên!

Tìm hiểu về thư mục Sysnative, Panther, Catroot & Catroot2 tại đây.

Đọc thêm:

  1. Phân tích Windows Component Store hoặc WinSxS trên Windows
  2. Dọn dẹp thư mục WinSxS trên Windows
  3. Thêm tùy chọn Windows Update Cleanup vào Disk Cleanup tool
  4. Dọn dẹp WinSxS Directory trên Windows Server.
Thư mục WinSxS trên Windows 11/10 giải thích chi tiết