ในบทความนี้เราจะพูดถึง WinSxS โฟลเดอร์ใน Windows สาเหตุของการเติบโตอย่างต่อเนื่องและวิธีล้างข้อมูล C:\Windows\WinSxS ไดเร็กทอรีเป็นที่เก็บส่วนประกอบ Windows ไดเร็กทอรีนี้มีไฟล์ DLL, ไบนารี และ XML ที่จำเป็นสำหรับการติดตั้งและการทำงานของบทบาทหรือคุณลักษณะต่างๆ ของ Windows เมื่อติดตั้งการอัปเดต Windows (โดยปกติจะเกิดขึ้นทุกเดือน) เวอร์ชันใหม่ของคอมโพเนนต์ที่อัปเดตจะได้รับการติดตั้งในระบบ ในขณะที่เวอร์ชันเก่าจะถูกบันทึกลงในโฟลเดอร์ WinSxS (จำเป็นต้องจัดเตรียมความเข้ากันได้และทำให้สามารถย้อนกลับไปยัง ส่วนประกอบเวอร์ชันก่อนหน้าเมื่อคุณถอนการติดตั้งการอัปเดต Windows)
ไดเร็กทอรี WinSxS มีขนาดใหญ่ขึ้นเมื่อเวลาผ่านไป ยิ่งไปกว่านั้น ขนาดของมันไม่ได้ถูกจำกัดด้วยสิ่งใดๆ (แม้ว่าในทางปฏิบัติ ขนาดของโฟลเดอร์ WinSxS ใน Windows 10 จะไม่ค่อยเกิน 15-20 GB)
ในบทความนี้ เราจะพูดถึงวิธีที่ปลอดภัยที่สุดในการล้างโฟลเดอร์ WinSxS ใน Windows 10 และ Windows Server 2016/2019:
- เพิ่มประสิทธิภาพการจัดเก็บส่วนประกอบ และลบไฟล์คอมโพเนนต์ของ Windows เวอร์ชันเก่าที่เหลืออยู่หลังจากติดตั้งการอัปเดตของ Windows
- คุณลักษณะตามความต้องการ – อนุญาตให้คุณลบส่วนประกอบ Windows ที่ไม่ได้ใช้ออกจากดิสก์;
- เปิดใช้งานการบีบอัด NTFS ในโฟลเดอร์ WinSxS – วิธีลดขนาดของไดเร็กทอรี WinSxS โดยใช้การบีบอัดในตัวของระบบไฟล์ NTFS
จะตรวจสอบขนาดที่แท้จริงของโฟลเดอร์ WinSxS บน Windows 10 ได้อย่างไร
วิธีที่ง่ายที่สุดในการรับขนาดปัจจุบันของโฟลเดอร์ WinSxS บน Windows คือการเปิดคุณสมบัติของ %windir%\WinSxS
โฟลเดอร์ใน File Explorer (หรือใช้สคริปต์ PowerShell) แต่อย่าลืมว่าตัวจัดการไฟล์ส่วนใหญ่ (รวมถึง File Explorer) จะแสดงขนาดโฟลเดอร์ WinSxS ที่ใหญ่กว่าเล็กน้อยกว่าที่ใช้บนดิสก์เล็กน้อย
ความจริงก็คือไดเร็กทอรี WinSxS มี ฮาร์ดลิงก์ . จำนวนมาก (ลิงก์สัญลักษณ์) ไปยังไฟล์ระบบในโฟลเดอร์อื่น ตัวจัดการไฟล์ เมื่อคำนวณขนาดของโฟลเดอร์ WinSxS ให้คำนึงถึงขนาดของไฟล์ที่อ้างอิงโดยฮาร์ดลิงก์ แต่สิ่งนี้ไม่ถูกต้อง
คุณสามารถค้นหาขนาดที่แท้จริงของโฟลเดอร์ WinSxS บนดิสก์ได้โดยใช้ du เครื่องมือจาก Sysinternals: du -v c:\windows\winSXS
คุณยังสามารถวิเคราะห์ขนาดของที่เก็บส่วนประกอบ (โฟลเดอร์ WinSxS) โดยใช้คำสั่ง DISM:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Deployment Image Servicing and Management tool [==========================100.0%==========================] Component Store (WinSxS) information: Windows Explorer Reported Size of Component Store : 8.44 GB Actual Size of Component Store : 8.15 GB Shared with Windows : 5. 74GB Backups and Disabled Features : 1.97 GB Cache and Temporary Data : 438.31 MB Date of Last Cleanup : 2021-02-22 20:37:29 Number of Reclaimable Packages : 1 Component Store Cleanup Recommended : Yes The operation completed successfully.
อย่างที่คุณเห็น ในกรณีนี้ ฉันสามารถลดขนาดของโฟลเดอร์ WinSxS ได้ (1,97 + 0,44) Gb
คำสั่ง DISM ยังให้คุณตรวจสอบและซ่อมแซมอิมเมจ Windows ของคุณ:
DISM /Online /Cleanup-Image /RestoreHealth
จะทำความสะอาด Component Store (โฟลเดอร์ WinSxS) ใน Windows ได้อย่างไร
วิธีที่เร็วและง่ายที่สุดในการล้าง Windows Component Store (โฟลเดอร์ WinSxS) คือการเพิ่มประสิทธิภาพการจัดเก็บข้อมูลด้วยคำสั่ง:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup
StartComponentCleanup
ตัวเลือก DISM รองรับ Windows ทุกรุ่นตั้งแต่ Windows 8 และ Windows Server 2012 หลังจากทำความสะอาดเสร็จแล้ว ให้ตรวจสอบขนาดปัจจุบันของที่เก็บส่วนประกอบ:
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
ในตัวอย่างของฉัน สิ่งนี้ลดขนาดของโฟลเดอร์ WinSxS ลง 2.4 GB
/StartComponentCleanup
ตัวเลือกมี /ResetBase . เพิ่มเติม ตัวเลือกที่ช่วยให้คุณสามารถลบส่วนประกอบเวอร์ชันก่อนหน้าทั้งหมดที่เหลืออยู่หลังจากติดตั้งการอัปเดต Windows หลังจากนั้น คุณจะไม่สามารถลบการอัปเดตที่ติดตั้งหรือ Service Pack และ ถอนการติดตั้ง ปุ่มจะหายไปจาก ถอนการติดตั้งการอัปเดต รายการแผงควบคุม) หากต้องการล้างส่วนประกอบเวอร์ชันเก่า ให้เรียกใช้:
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
DISM /online /Cleanup-Image /spsuperseded
คุณยังสามารถลบไฟล์อัพเดทเก่าได้โดยใช้วิซาร์ด “การล้างข้อมูลบนดิสก์”:
- เรียกใช้
cleanmgr
คำสั่งในฐานะผู้ดูแลระบบ - เลือกดิสก์และในหน้าต่างถัดไป ให้คลิกที่ “ล้างไฟล์ระบบ " ปุ่ม;
- จากนั้นเลือก “การล้างข้อมูลอัปเดตของ Windows " ตัวเลือก. เครื่องมือ Disk Cleanup จะแสดงจำนวนพื้นที่ว่างที่คุณสามารถเพิ่มได้โดยการลบไฟล์อัพเดต Windows เก่า ในตัวอย่างของฉัน นี่คือ 324 MB คลิกตกลงเพื่อเริ่มการล้างข้อมูล
หลังจากที่คุณล้างที่เก็บส่วนประกอบโดยใช้ DISM เสร็จแล้ว ให้ตรวจสอบว่ามีพื้นที่ว่างในดิสก์เหลือเท่าใด
นอกจากนี้ Windows 10/Windows Server 2016 Task Scheduler ยังมีงานบำรุงรักษาอัตโนมัติพิเศษที่ปรับและล้างโฟลเดอร์ WinSxS เป็นประจำ (การดำเนินการเดียวกับ DISM ที่มีพารามิเตอร์ StartComponentCleanup) StartComponentCleanup . นี้ งานอยู่ภายใต้ส่วน \Microsoft\Windows\Servicing ของ taskschd.msc
. งานนี้ทำงานในเบื้องหลังและลบเวอร์ชันส่วนประกอบที่เก่ากว่า 30 วันที่ถูกแทนที่ด้วยไฟล์ที่ใหม่กว่าโดยอัตโนมัติ
คุณสามารถเริ่มงานนี้ด้วยตนเองดังนี้:
schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
ลบบทบาทและฟีเจอร์ที่ไม่ได้ใช้ออกจาก Windows 10/Windows Server
ในบทความที่แล้ว เราได้กล่าวถึงแนวคิดของ คุณลักษณะตามความต้องการ บน Windows ซึ่งอนุญาตให้ลบไฟล์ไบนารีของบทบาทที่ไม่ได้ใช้ออกจากโฟลเดอร์ WinSxS คุณสามารถลบบทบาทและไบนารีของคุณลักษณะบน Windows Server ได้โดยใช้ cmdlet ของ Uninstall-WindowsFeature PoweShell
Windows 10 ไม่มี cmdlet ถอนการติดตั้ง-WindowsFeature และคุณต้องใช้ DISM.exe เพื่อลบคุณสมบัติออกจากอิมเมจ Windows
โปรดทราบว่า DISM ไม่เหมือนกับUninstall-WindowsFeature
PowerShell cmdlet ไม่ได้ลบคุณลักษณะที่ขึ้นต่อกัน
รายการคุณลักษณะทั้งหมดที่มีในอิมเมจ Windows 10 สามารถรับได้โดยใช้คำสั่ง:DISM.exe /Online /English /Get-Features /Format:Table
ในการลบ ตัวอย่างเช่น TelnetClient จากอิมเมจ Windows (จากโฟลเดอร์ WinSxS) ให้เรียกใช้คำสั่ง:DISM.exe /Online /Disable-Feature /Featurename:TelnetClient /Remove
หากคุณแสดงรายการคุณลักษณะแบบออนดีมานด์ทั้งหมดที่พร้อมใช้งานใน Windows คุณจะเห็นว่าสถานะคอมโพเนนต์เปลี่ยนเป็น ปิดใช้งานโดยนำ Payload ออก .
ดังนั้น Windows จึงยอมลดขนาดของโฟลเดอร์ WinSxS ลงอย่างมากโดยการลบส่วนประกอบที่ไม่ได้ใช้ออกจากดิสก์ สิ่งเดียวคือวิธีการล้างข้อมูลนี้เหมาะสำหรับผู้ใช้ขั้นสูงที่คุ้นเคยกับคุณลักษณะของ Windows 10 และจุดประสงค์เท่านั้น
จะเปิดใช้งานการบีบอัด NTFS ในโฟลเดอร์ WinSxS ใน Windows 10 ได้อย่างไร
อีกวิธีในการลดขนาดของไดเร็กทอรี WinSxS บน Windows 10 คือการบีบอัดเนื้อหาไดเร็กทอรีในระดับของระบบไฟล์ NTFS
หมายเหตุ ในกรณีของการแทรกแซงที่ไม่ได้มาตรฐานในการกำหนดค่าระบบ ขอแนะนำอย่างยิ่งให้สร้างการสำรองข้อมูลเต็มรูปแบบของอิมเมจ Windows 10 ของคุณ- เปิดพรอมต์คำสั่งในฐานะผู้ดูแลระบบ
- หยุดและปิดใช้งาน ตัวติดตั้ง Windows และ ตัวติดตั้งโมดูล Windows บริการ:
sc stop msiserver
sc stop TrustedInstaller
sc config msiserver start= disabled
sc config TrustedInstaller start= disabled - มาสำรองข้อมูลรายการควบคุมการเข้าถึง (ACL) ที่กำหนดให้กับไฟล์และโฟลเดอร์ในไดเรกทอรี WinSxS โดยใช้เครื่องมือ icacls ในตัว สำเนาสำรองของ ACL เป็นไฟล์ข้อความธรรมดาที่แสดงรายการไฟล์และไดเร็กทอรีทั้งหมด และการอนุญาต NTFS ที่ได้รับมอบหมาย (ภายหลังไฟล์นี้จะต้องใช้เพื่อกู้คืน ACL ดั้งเดิม):
icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS_NTFS.acl" /t
- กำหนดตัวเองเป็นเจ้าของโฟลเดอร์ WinSxS และโฟลเดอร์ย่อยทั้งหมด:
takeown /f "%WINDIR%\WinSxS" /r
- ให้สิทธิ์ควบคุมบัญชีของคุณแบบเต็มในไดเรกทอรี WinSxS:
icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
- ขณะนี้คุณสามารถบีบอัดไฟล์ในไดเร็กทอรี WinSxS โดยใช้ กะทัดรัด สั่งการ. เนื่องจาก Windows สามารถใช้ไฟล์บางไฟล์ได้ คุณจึงต้องระบุ
/i
ตัวเลือก. มิฉะนั้น การบีบอัดจะหยุดที่ไฟล์แรกที่ล็อกไว้ (ใน Windows 10 คุณสามารถใช้การบีบอัด LZX ขั้นสูงกว่านี้ได้):compact /s:"%WINDIR%\WinSxS" /c /a /i *
- กู้คืนเจ้าของไดเรกทอรี WinSxS กลับไปที่ TrustedInstaller:
icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t
- กู้คืน ACL ดั้งเดิมสำหรับรายการโฟลเดอร์ WinSxS โดยใช้ไฟล์สำรอง ACL ที่คุณสร้างไว้ก่อนหน้านี้:
icacls "%WINDIR%" /restore "%WINDIR%\WinSxS_NTFS.acl"
- คืนค่าประเภทการเริ่มต้นเริ่มต้นสำหรับบริการ Windows Installer และ Windows Module Installer:
sc config msiserver start= demand
sc config TrustedInstaller start= demand
ตรวจสอบขนาดปัจจุบันของโฟลเดอร์ WinSxS:
อย่างที่คุณเห็น ในตัวอย่างของเรา ขนาดของโฟลเดอร์ WinSxS หลังจากการบีบอัดลดลงจาก 9.4GB เป็น 6.5GB (ประมาณหนึ่งในสาม) ไม่เลว โดยเฉพาะอย่างยิ่งสำหรับไดรฟ์ SSD ขนาดเล็ก
คำสั่งเหล่านี้สามารถเรียกใช้แยกกันได้ (ซึ่งง่ายกว่ามากในการติดตามผลลัพธ์ของแต่ละคำสั่ง) หรือใช้ในไฟล์สคริปต์เดียว หากคุณเรียกใช้ ขั้นตอนการบีบอัดที่อธิบายไว้สำหรับรายการในโฟลเดอร์ WinSxS จะเริ่มต้นขึ้น คุณสามารถดาวน์โหลดไฟล์แบตช์ที่พร้อมใช้งานเพื่อเปิดใช้งานการบีบอัด NTFS บน WinSxS ได้ที่นี่:winsxs_ntfs_compress.bat
คุณสามารถใช้สคริปต์นี้ได้เป็นประจำ เนื่องจากไฟล์ที่ไม่บีบอัดใหม่จะปรากฏในโฟลเดอร์ WinSxS หลังจากที่คุณติดตั้งการอัปเดตหรือแอป Windows ใหม่
สิ่งที่ได้รับผลกระทบจากการบีบอัดโฟลเดอร์ WinSxS ? Windows ทำงานอย่างโปร่งใสกับไฟล์บีบอัด อย่างไรก็ตาม เมื่อประมวลผลไฟล์ดังกล่าว อาจต้องใช้เวลาของ CPU เพิ่มเติมในการขยาย/บีบอัดไฟล์ ซึ่งอาจทำให้การทำงานช้าลงเล็กน้อยเมื่อติดตั้งส่วนประกอบหรือการอัปเดตของ Windows อย่างไรก็ตาม สำหรับซีพียูสมัยใหม่ การดำเนินการบีบอัด/คลายการบีบอัดไฟล์จะดำเนินการเกือบจะในทันที ดังนั้นผู้ใช้จึงอาจไม่สังเกตเห็นผลกระทบที่แท้จริงต่อประสิทธิภาพการทำงานด้วยซ้ำ