Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาด Windows

วิธีลดขนาดโฟลเดอร์ WinSxS ใน Windows Client และ Windows Server

เคยประสบปัญหาที่ดิสก์จริงหรือ Virtual Disk ถูกใช้พื้นที่โดยไฟล์จำนวนมากในไดเรกทอรี WinSxS แต่ลบไม่ได้ เพราะไม่มี Permission แม้เป็น Administrator? น่าจะเคยเจอ

ทุกครั้งที่อัปเดต Windows จะดาวน์โหลดและเก็บไฟล์ที่ C:\Windows\WinSxS ตาม Microsoft เวอร์ชันก่อนหน้าของบาง Component จะเก็บไว้ระยะหนึ่ง เพื่อ Rollback หากจำเป็น หลังระยะเวลาหนึ่ง Component เก่าๆ จะถูกลบอัตโนมัติ แต่เราพบว่าไม่ได้ทำงานเสมอไป ต้องทำเอง

วิธีลดขนาดโฟลเดอร์ WinSxS ใน Windows Client และ Windows Server

โปรดทราบ: ไม่ควรลบไฟล์ภายในโฟลเดอร์ WinSxS เนื่องจากอาจทำลายระบบอย่างรุนแรง จนบูทไม่ได้ และอัปเดตไม่ได้ แม้จะทำ ต้องมี Backup System Image เท่านั้น

กรณีของผม: Virtual Machine ไม่มีพื้นที่ว่างพอ เพราะ WinSxS ใช้ 30% ของดิสก์ VM มีดิสก์ 50 GB รัน Windows Server 2016 ตั้งแต่ ธันวาคม 2016 WinSxS ใช้ 15 GB พื้นที่ว่าง ยังมีอัปเดตที่ดาวน์โหลดมาตั้งแต่ธันวาคม 2016 เป้าหมายคืออธิบาย วิธีลดขนาดโฟลเดอร์ WinSxS และคืนพื้นที่ดิสก์

ขั้นตอนเดียวกันใช้ได้กับ Client OS ตั้งแต่ Windows 7 ถึง Windows 10 และ Server OS ตั้งแต่ Windows Server 2012 ถึง 2019

วิธีที่ 1: รัน Disk Cleanup

วิธีแรก ใช้ Disk Cleanup ผ่าน Utility ของ Windows ชื่อ Disk Cleanup

  1. กด Windows Explorer + E เปิด File Explorer
  2. คลิก This PC ไปที่ System Partition ค่าเริ่มต้น Local Disk (C:\)
  3. คลิกขวา Partition C:\ เลือก Propertiesวิธีลดขนาดโฟลเดอร์ WinSxS ใน Windows Client และ Windows Server
  4. ภายใต้ General คลิก Disk Cleanup รอจน Disk Cleanup คำนวณพื้นที่ที่ใช้ อาจใช้เวลานาน 몇 นาทีวิธีลดขนาดโฟลเดอร์ WinSxS ใน Windows Client และ Windows Server
  5. เลือกไฟล์ที่ต้องการลบ คลิก OK
  6. คลิก Delete Files ยืนยันลบถาวร Disk Cleanup กำลังทำความสะอาดไฟล์ไม่จำเป็น
  7. เปิด File Explorer ตรวจสอบว่ามีพื้นที่ว่างเพิ่มขึ้นหรือไม่

วิธีที่ 2: ลดขนาดดิสก์ WinSxS ด้วย DISM

ส่วนที่สอง ลดขนาดดิสก์ WinSxS ด้วย DISM (Deployment Image Servicing and Management) เครื่องมือ Command-line ใช้ Mount และ Service Windows Images

  1. คลิกซ้าย Start Menu คลิก Windows PowerShell (Admin) หรือ Command Prompt (Admin) กรณีนี้ใช้ Command Prompt (Admin) บังคับรันเป็น Administrator ไม่ใช่ Standard User
  2. พิมพ์คำสั่ง กด Enter ลดขนาดโฟลเดอร์ WinSxS:
    dism.exe /online /Cleanup-Image /StartComponentCleanup

    วิธีลดขนาดโฟลเดอร์ WinSxS ใน Windows Client และ Windows Server

  3. เสร็จแล้ว พิมพ์คำสั่ง กด Enter ลบเวอร์ชัน Superseded ของทุก Component ใน Component Store โปรดทราบ: Service Packs และ Updates ที่มีอยู่ ไม่สามารถถอนติดตั้งได้หลังคำสั่งนี้ แต่ไม่บล็อกการถอนติดตั้ง Service Packs หรือ Updates ในอนาคต
    dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
  4. รีสตาร์ท Windows Server เปิด File Explorer ตรวจสอบพื้นที่ว่าง

วิธีที่ 3: ลบไฟล์เก่าใน WinSxS ใช้ด้วยความระมัดระวัง!

วิธีนี้ ลบไฟล์อัปเดตเก่าที่ดาวน์โหลดและติดตั้งในปี 2016, 2017, 2019 ก่อนทำ ต้อง Backup Image หรือ Snapshot VM ไม่แนะนำทำใน Production Environment แต่อยู่ใน Testing Environment เพื่อดูพฤติกรรม Windows หลังลบไฟล์/โฟลเดอร์ใน WinSxS

  1. กด Windows Explorer + E เปิด File Explorer
  2. ไปที่ C:\Window คลิกขวา WinSxS เลือก Properties
  3. คลิก Security แล้ว Advanced เปิด Special Permissionsวิธีลดขนาดโฟลเดอร์ WinSxS ใน Windows Client และ Windows Server
  4. ภายใต้ Owner: TrustedInstaller คลิก Change
  5. ใส่ Object Name คือ Administrator ที่ใช้รัน Windows คลิก Check Names แล้ว OK
  6. คลิก Apply แล้ว ถ้าเพิ่ง Take Ownership ต้องปิดและเปิด Properties ใหม่ก่อนจะดู/เปลี่ยน Permission ได้
    วิธีลดขนาดโฟลเดอร์ WinSxS ใน Windows Client และ Windows Server
  7. คลิก Edit คลิก Add ใส่ Object Name = Administrator ที่ใช้รัน Windows คลิก Check Names แล้ว OK
  8. Select Account ให้ Allow Full Control
  9. คลิก Yes ยืนยันเปลี่ยน Permission บน System Folders คลิก Apply แล้ว OK ปิดหน้าต่างทั้งหมด
  10. ลบไฟล์เก่า กรณีนี้ลบไฟล์ปี 2016, 2017, 2018 จะคืนพื้นที่ประมาณ 11 GB