Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

ทำความสะอาดโฟลเดอร์ WinSXS อย่างปลอดภัยใน Windows Server 2012

ก่อนที่จะพูดถึงการล้างโฟลเดอร์ WinSXS อย่างปลอดภัยในเซิร์ฟเวอร์ Windows 2012 ให้พยายามทำความเข้าใจว่าโฟลเดอร์ WinSXS คืออะไร อะไรคือสิ่งที่บันทึกไว้ในโฟลเดอร์นี้ และเหตุใดขนาดของโฟลเดอร์จึงเพิ่มขึ้นอย่างต่อเนื่องในช่วงเวลาหนึ่ง

[accordion]
[tab title=”เนื้อหาของบทความนี้”]

[/tab]
[/accordion]

หากคุณจำระหว่างการติดตั้งคุณลักษณะเพิ่มเติมใน Windows Server 2003 วิซาร์ดการติดตั้งจำเป็นต้องใส่ดิสก์การติดตั้งในซีดีรอมหรือเพื่อแสดงวิธีการไปยังแค็ตตาล็อกด้วยแพ็คเกจการติดตั้ง Windows Server 2003 Microsoft ตัดสินใจเปลี่ยนนโยบายสำหรับบทบาทและคุณลักษณะเพิ่มเติมของ Windows ใน Windows Server 2008 ตอนนี้ไฟล์ไบนารีทั้งหมดที่จำเป็นสำหรับการเปิดตัวบทบาทใดๆ จะถูกจัดเก็บไว้ในโฟลเดอร์ %windir%\WinSxS (WinSxS – Windows Side By Side) . ซึ่งหมายความว่าในกรณีของการติดตั้งบทบาทเพิ่มเติม ไม่จำเป็นต้องค้นหาและเชื่อมต่อดิสก์ด้วยแพ็คเกจการติดตั้งกับเซิร์ฟเวอร์ แน่นอนในกรณีของทัศนคติดังกล่าวจำเป็นต้องมีพื้นที่มากขึ้นสำหรับระบบปฏิบัติการ จำเป็นต้องเข้าใจว่าส่วนประกอบหลักของระบบอยู่ในแค็ตตาล็อก WinSXS และไม่ได้รับอนุญาตให้ลบสิ่งใด ๆ ออกจากองค์ประกอบนี้ด้วยตนเองไม่ว่าด้วยวิธีใด ทำไมขนาดเพิ่มขึ้นเรื่อยๆ? คำตอบนั้นง่าย – อัปเดต ระหว่างการติดตั้งการอัปเดตสำหรับคุณลักษณะต่างๆ ในแค็ตตาล็อก WinSXS เวอร์ชันเก่าและเวอร์ชันใหม่ของคุณลักษณะที่อัปเดตจะถูกบันทึกไว้ เนื่องจากสถาปัตยกรรมดังกล่าว เราจึงสามารถลบการอัปเดตที่ติดตั้งไว้ได้ตลอดเวลาและกลับสู่คุณลักษณะเวอร์ชันเก่าได้อย่างปลอดภัย

เคล็ดลับ . Windows 7 SP 1 สามารถลดขนาดโฟลเดอร์ WinSxS ได้โดยการลบการอัปเดตที่ไม่ได้ใช้

และจะทำอย่างไรถ้าระบบเปิดตัวและทำงานได้ดี ไม่จำเป็นต้องมีบทบาทเพิ่มเติม แต่ยังมีพื้นที่ว่างบนดิสก์ไม่เพียงพอ ดูเหมือนว่าค่อนข้างไร้เหตุผลที่มีการใช้กิกะไบต์หลายกิกะไบต์บนดิสก์ระบบสำหรับแพ็คเกจการติดตั้งซึ่งไม่จำเป็น! น่าเสียดายที่การลบไฟล์เหล่านี้โดยไม่ทำให้ระบบเสียหายใน Windows Server 2008 ค่อนข้างยาก อย่างไรก็ตาม Microsoft ในระบบปฏิบัติการเซิร์ฟเวอร์ใหม่ (Windows Server 2012) ได้ตัดสินใจปรับปรุงข้อเสียนี้ด้วยการใช้ฟังก์ชันใหม่ที่เรียกว่าคุณลักษณะ แข็งแกร่ง> บน ความต้องการ

ฟีเจอร์แบบออนดีมานด์ใน Windows Server 2012

ฟังก์ชันฟีเจอร์แบบออนดีมานด์ช่วยลดพื้นที่บนดิสก์ที่ใช้สำหรับไฟล์ระบบ เนื่องจากมีความเป็นไปได้ที่การลบไฟล์ไบนารีบทบาทที่ไม่ได้ใช้งานออกจากโฟลเดอร์ WinSxS ในกรณีที่ในภายหลังมีความจำเป็นต้องส่งคืนบทบาทที่ถูกลบไปก่อนหน้านี้ ไฟล์ที่จำเป็นทั้งหมดจะอยู่ในอิมเมจการติดตั้ง Windows Server 2012, บริการ Windows Update หรือทรัพยากรเครือข่ายที่มีเนื้อหาดั้งเดิม

ด้วยความช่วยเหลือของคำสั่ง Powershell ต่อไปนี้ คุณจะได้รับข้อมูลเกี่ยวกับบทบาทและคุณสมบัติของระบบทั้งหมด:

1
Get-WindowsFeature

รับ WindowsFeature

ทำความสะอาดโฟลเดอร์ WinSXS อย่างปลอดภัยใน Windows Server 2012

ดังที่คุณเห็นสถานะของทุกบทบาทจะแสดงอยู่ในคอลัมน์สถานะการติดตั้ง สถานะดังกล่าวเป็นไปได้:

  • ติดตั้งแล้ว :บทบาทหรือคุณสมบัติได้รับการติดตั้งและใช้งานโดยระบบในขณะนี้
  • มีจำหน่าย :บทบาทไม่ได้ถูกติดตั้งบนเซิร์ฟเวอร์ อย่างไรก็ตาม ไฟล์ที่จำเป็นทั้งหมดมีอยู่ในดิสก์ ซึ่งอนุญาตให้ติดตั้ง/เปิดใช้งานบทบาทนี้ได้ทุกเมื่อ
  • ลบแล้ว :ไม่ได้ติดตั้งบทบาทหรือคุณสมบัติบนเซิร์ฟเวอร์ ไฟล์ทั้งหมดที่จำเป็นสำหรับการติดตั้งจะถูกลบออกจากดิสก์

ในกรณีของการติดตั้งบทบาทใด ๆ ผ่าน GUI หรือ Powershell (คำสั่ง Install-WindowsFeature) สถานะของมันจะเปลี่ยนจาก Available เป็น Installed หรือในกรณีของการลบ (Uninstall-WindowsFeature command) และในทางกลับกัน .

การลบบทบาทที่ไม่ได้ใช้ออกจาก Windows Server 2012

การลบบทบาทจากดิสก์ (จากโฟลเดอร์ WinSxS) ทำได้ผ่าน Powershell เท่านั้น อาร์กิวเมนต์คำสั่งพิเศษ Uninstall-WindowsFeature –Remove ควรใช้เพื่อการนี้

หากคุณต้องการลบไฟล์ไบนารีบทบาทเซิร์ฟเวอร์ DHCP เช่น ควรใช้คำสั่งต่อไปนี้:

1
Uninstall-WindowsFeature –Name DHCP –Remove

ถอนการติดตั้ง-WindowsFeature –Name DHCP –Remove

คำสั่งต่อไปนี้จะลบไฟล์บริการแค็ตตาล็อก Active Directory Domain Services:

1
Uninstall-WindowsFeature AD-Domain-Services -Remove

ถอนการติดตั้ง-WindowsFeature AD-Domain-Services -Remove

ทำความสะอาดโฟลเดอร์ WinSXS อย่างปลอดภัยใน Windows Server 2012
ด้วยความช่วยเหลือของ Powershell เป็นไปได้ที่จะเขียนคำสั่งที่ซับซ้อนยิ่งขึ้นซึ่งจะลบการติดตั้งทั้งหมด ไฟล์ของบทบาทและฟังก์ชันที่ไม่ได้ใช้ของ Windows Server:

1
Get-WindowsFeature | Where-Object {$_.InstallState -Eq “Available”} | Uninstall-WindowsFeature -Remove

รับ WindowsFeature | Where-Object {$_.InstallState -Eq “Available”} | ถอนการติดตั้ง-WindowsFeature -Remove

ทำความสะอาดโฟลเดอร์ WinSXS อย่างปลอดภัยใน Windows Server 2012

ในตัวอย่างของเรา หากมีการติดตั้งบทบาทเซิร์ฟเวอร์ไฟล์เพียงรายการเดียว ขนาดของโฟลเดอร์ WinSxS จะลดลงจาก 8 เป็น 5 Gb มันไม่ได้เป็นผลเสียใช่มั้ย? ยิ่งไปกว่านั้น เราใช้เพียงคำสั่งเดียวสำหรับการล้างโฟลเดอร์ WinSxS

ทำความสะอาดโฟลเดอร์ WinSXS อย่างปลอดภัยใน Windows Server 2012

วิธีการติดตั้งบทบาทและฟีเจอร์ที่ถูกลบใน Windows Server 2012

อีกตัวอย่างหนึ่ง สมมติว่าคุณต้องติดตั้งบางบทบาท Windows Server 2012 แต่แพ็คเกจการติดตั้งจะถูกลบออกจากแค็ตตาล็อก WinSxS คุณสามารถกู้คืนบทบาทนี้ได้หลายวิธี:ด้วยความช่วยเหลือของ GUI Server Manager หรือด้วยความช่วยเหลือของ Powershell

ก่อนที่คุณจะเริ่มการกู้คืนไฟล์บทบาท คุณจำเป็นต้องกำหนดดัชนีของ Windows Server 2012 รุ่นที่ติดตั้ง เราต้องการดิสก์ที่มีแพ็คเกจการติดตั้ง Windows Server 2012 (ไฟล์อิมเมจ install.wim ให้ถูกต้องซึ่งได้รับการจัดสรรในแค็ตตาล็อกแหล่งที่มา) ดำเนินการคำสั่ง Powershell ต่อไปนี้:

1
Get-windowsimage –imagepath <path_to_wim_file>\sources\install.wim

รับ windowsimage –imagepath \sources\install.wim

ทำความสะอาดโฟลเดอร์ WinSXS อย่างปลอดภัยใน Windows Server 2012

โปรดค้นหาเวอร์ชันของ Windows Server ที่ติดตั้งบนพีซีของคุณและจดจำดัชนี (ค่าในบรรทัดดัชนี) ในตัวอย่างของเราคือ Windows Server 2012 Datacenter พร้อมดัชนี 4

การดำเนินการเดียวกันนี้สามารถทำได้โดยใช้ยูทิลิตี้ Dism:

1
dism.exe /get-imageinfo /imagefile:d:\sources\install.wim

dism.exe /get-imageinfo /imagefile:d:\sources\install.wim

การติดตั้งบทบาทที่ถูกลบโดยใช้ตัวจัดการเซิร์ฟเวอร์

เปิดคอนโซลตัวจัดการเซิร์ฟเวอร์และเปิดใช้งานตัวจัดการการติดตั้งบทบาท (เพิ่มบทบาทและคุณลักษณะ) เลือกบทบาทหรือคุณสมบัติที่จำเป็นในการติดตั้ง ตัวจัดการจะเตือนคุณว่าไฟล์บางไฟล์ที่จำเป็นสำหรับการติดตั้งบทบาทนี้หายไป และคุณต้องระบุพาธต้นทางสำรองไปยังตำแหน่งแพ็คเกจการติดตั้ง กด ระบุเส้นทางแหล่งที่มาสำรอง ปุ่ม.

ทำความสะอาดโฟลเดอร์ WinSXS อย่างปลอดภัยใน Windows Server 2012

ในฟิลด์ Path ให้ระบุพาธแบบเต็มไปยังไฟล์ intall.wim และดัชนีรุ่นที่ติดตั้ง OS ในรูปแบบต่อไปนี้:

1
WIM:D:\Sources\Install.wim:4

WIM:D:\Sources\Install.wim:4

ทำความสะอาดโฟลเดอร์ WinSXS อย่างปลอดภัยใน Windows Server 2012

หลังจากกดปุ่ม OK ไฟล์ทั้งหมดที่จำเป็นสำหรับบทบาทที่ติดตั้งได้จะถูกคัดลอกไปยังแค็ตตาล็อก WinSxS

หากจำเป็นต้องใช้พาธไปยังแค็ตตาล็อกที่มีไฟล์ WIM หรือพาธเครือข่ายไปยังแค็ตตาล็อก WinSxS อาจระบุไว้ในบรรทัดนี้ นอกจากนี้ยังสามารถระบุเส้นทางไปยังแคตตาล็อกนี้สำหรับกลุ่มเซิร์ฟเวอร์โดยใช้นโยบายกลุ่ม ( การกำหนดค่าคอมพิวเตอร์ / เทมเพลตการดูแลระบบ / ระบบ / ระบุการตั้งค่าสำหรับการติดตั้งส่วนประกอบเสริมและการซ่อมแซมส่วนประกอบ ). ตัวแปรสุดท้ายสะดวกมากหากจำเป็นต้องทำการติดตั้งเซิร์ฟเวอร์จำนวนมากกับ Windows Server 2012 เนื่องจากผลรวมของการล้างข้อมูลดังกล่าวอาจทำให้มีมากถึงหลายร้อยกิกะไบต์

ทำความสะอาดโฟลเดอร์ WinSXS อย่างปลอดภัยใน Windows Server 2012

Windows Server 2012 กู้คืนบทบาทที่ถูกลบด้วย Powershell

การดำเนินการเดียวกันนี้สามารถทำได้โดยใช้คำสั่ง Powershell เพียงคำสั่งเดียว สมมติว่าเราจำเป็นต้องกู้คืนไฟล์ระยะไกลของบทบาท ADDS มาดำเนินการคำสั่งต่อไปนี้:

1
Install-WindowsFeature AD-Domain-Services -Source WIM:WIM:D:\Sources\Install.wim:4

ติดตั้ง-WindowsFeature AD-Domain-Services -Source WIM:WIM:D:\Sources\Install.wim:4

ทำความสะอาดโฟลเดอร์ WinSXS อย่างปลอดภัยใน Windows Server 2012

ดังนั้นในบทความนี้ เราจึงได้เรียนรู้เกี่ยวกับฟังก์ชัน Windows Server 2012 ใหม่ที่เรียกว่า Features on Demand ซึ่งช่วยให้สามารถลบไฟล์ไบนารีด้วยแพ็คเกจการติดตั้งบทบาทเซิร์ฟเวอร์จากแค็ตตาล็อก WinSxS บทบาทที่ถูกลบสามารถกู้คืนได้หากต้องการ:สิ่งที่คุณต้องมีคือแพ็คเกจการติดตั้ง Windows Server 2012

คุณลักษณะแบบออนดีมานด์ใน Windows 8 ทำงานแตกต่างกันเล็กน้อย เนื่องจากคำสั่ง Powershell ที่เราใช้ในกรณีก่อนหน้านี้ไม่มีอยู่ที่นี่ DISM คำสั่งด้วย /Disable-Feature พารามิเตอร์ ถือเป็นอะนาล็อก (ไม่สะดวกนัก) เนื้อหาไดเรกทอรี WinSxS สามารถบีบอัดเพิ่มเติมเกี่ยวกับสิ่งนี้ได้ในบทความ:วิธีล้างข้อมูลและบีบอัดโฟลเดอร์ WinSxS
  เคล็ดลับ . ข้อมูลเพิ่มเติมเกี่ยวกับการลดขนาดโฟลเดอร์ WinSxS ใน Windows 8.1 ที่นี่