Windows ติดอยู่ที่ 'เตรียม Windows ให้พร้อม อย่าปิดคอมพิวเตอร์'

/th/images/computer-is-stuck-at-getting-windows-ready-dont.png

นี่ไม่ใช่ครั้งแรกที่ฉันพบข้อความ การเตรียม Windows Ready อย่าปิดคอมพิวเตอร์ของคุณ ข้อความ และค้างในขั้นตอนนี้เป็นเวลาหลายชั่วโมงเมื่อรีบูตหรือปิดระบบ Windows ปัญหานี้มักเกิดขึ้นบนโฮสต์ Windows Server 2022, 2019 และ 2016 หลังจากติดตั้งการอัปเดต Windows หรือเพิ่ม/ลบบทบาทและฟีเจอร์ (แต่อาจเกิดขึ้นบน Windows 11 และ 10 ได้เช่นกัน)

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

/th/images/computer-is-stuck-at-getting-windows-ready-dont.png

อย่างไรก็ตาม ในบางกรณี คอมพิวเตอร์อาจค้างอยู่ที่ข้อความ “กำลังเตรียม Windows” เป็นเวลาหลายชั่วโมง วัน หรือกระทั่งโดยไม่มีกำหนด ในกรณีที่คุณจำเป็นต้องปิดเครื่องหรือรีสตาร์ทคอมพิวเตอร์โดยเจตนา คุณสามารถบังคับให้กระบวนการหยุดชะงักได้ (แน่นอนว่ามีความเสี่ยงต่อความสมบูรณ์ของภาพ แต่บางครั้งก็ไม่มีทางเลือก)

ไม่แนะนำให้ปิดคอมพิวเตอร์ระหว่างการติดตั้งการอัพเดต เนื่องจากอาจทำให้อิมเมจ Windows เสียหายได้

ต่อไป เราจะดูวิธีการยุติกระบวนการพื้นหลังทั้งหมดบนคอมพิวเตอร์ที่ค้างระหว่างการติดตั้งการอัปเดตหรือการเตรียมรูปภาพอย่างสวยงาม

แนวคิดเบื้องหลังวิธีนี้ก็คือ คอมพิวเตอร์สามารถเข้าถึงได้ผ่านเครือข่ายในระหว่างขั้นตอนการให้บริการรูปภาพนี้ แม้ว่าจะไม่สามารถเข้าถึงเดสก์ท็อปคอมพิวเตอร์จากระยะไกลผ่าน RDP ได้ แต่คุณสามารถเชื่อมต่อจากระยะไกลโดยใช้เครื่องมือการดูแลระบบ

คุณจะต้องมีคอมพิวเตอร์ Windows เครื่องอื่นบนเครือข่ายท้องถิ่น (LAN) เดียวกัน ขั้นแรก ตรวจสอบว่าคุณสามารถเข้าถึงคอมพิวเตอร์ที่ติดอยู่ที่ขั้นตอน “การเตรียม Windows” ผ่านเครือข่ายได้ และพอร์ต SMB (445) เปิดอยู่

ทดสอบ-NetConnection 192.168.123.10-พอร์ต 445

/th/images/test-netconnection-check-for-the-availability-of.png

เปิดสแน็ปอินบริการ ( services.msc ) และเชื่อมต่อกับโฮสต์ปัญหาจากระยะไกล ( การดำเนินการ-> เชื่อมต่อกับคอมพิวเตอร์เครื่องอื่น-> ระบุชื่อหรือที่อยู่ IP ของเซิร์ฟเวอร์ระยะไกล)

/th/images/manage-services-on-a-remote-computer.png

ค้นหา Windows Modules Installer ในรายการบริการ บริการนี้มักจะติดอยู่ในสถานะ “หยุด” เห็นได้ชัดว่าบริการนี้ป้องกันไม่ให้ Windows รีบูตหรือปิดเครื่องอย่างถูกต้อง

/th/images/cannot-stop-service-the-stop-option-is-grayed-ou.png

ปุ่มสำหรับจัดการบริการ TrustedInstaller ใน GUI แบบสแนปอินไม่พร้อมใช้งาน ไม่สามารถหยุดหรือหยุดชั่วคราวได้ ชื่อของไฟล์ปฏิบัติการบริการสามารถพบได้ในคุณสมบัติของบริการ (ซึ่งก็คือ C:\Windows\servicing\TrustedInstaller.exe )

/th/images/trustedinstaller-service-is-stuck-at-stopping.png

หากคุณต้องการหยุดบริการที่หยุดทำงานอย่างรุนแรง คุณต้องใช้พร้อมท์คำสั่งของคอมพิวเตอร์ระยะไกล สำหรับสิ่งนี้ คุณสามารถใช้เครื่องมือ PsExec เปิด Command Prompt บนคอมพิวเตอร์ของคุณและรันคำสั่ง:

PsExec.exe \\192.168.13.10-i-u localadminname powershell.exe

ที่ไหน:

  • 192.168.13.10 – ชื่อหรือที่อยู่ IP ของคอมพิวเตอร์ที่คุณต้องการเชื่อมต่อจากระยะไกล

  • localadminname – บัญชีที่มีสิทธิ์ผู้ดูแลระบบบนคอมพิวเตอร์ระยะไกล (คุณจะได้รับแจ้งให้ใส่รหัสผ่าน)

  • หากคุณไม่ระบุ -u localadminname ข้อมูลประจำตัวของผู้ใช้ปัจจุบันจะถูกนำมาใช้เพื่อเชื่อมต่อกับคอมพิวเตอร์ระยะไกล (สะดวกสำหรับสภาพแวดล้อมโดเมน)

  • powershell.exe – เปิดคอนโซล PowerShell บนคอมพิวเตอร์ระยะไกล

/th/images/psexec-open-shell-on-remote-computer.png

มาดูกันว่ามีอะไรอยู่ในคอมพิวเตอร์บ้าง แสดงรายการกระบวนการ 10 อันดับแรกตามการใช้ RAM:

รับกระบวนการ | เรียงลำดับวัตถุ WorkingSet-จากมากไปน้อย | เลือก-วัตถุ-10 ชื่อแรก, Id, @{Name = "หน่วยความจำ (MB)"; Expression={คณิตศาสตร์::round($\_.WorkingSet/1MB, 2)}}

จากนั้นตามการใช้งาน CPU:

รับกระบวนการ | เรียงลำดับวัตถุ CPU-จากมากไปน้อย | เลือก-วัตถุ-ชื่อ 10 อันดับแรก, Id, @{Name = "เวลา CPU (s)"; Expression={คณิตศาสตร์::round($\_.CPU, 2)}}

/th/images/high-cpu-and-ram-usage-by-tiworker-process.png

ดังที่คุณเห็นที่นี่ โฮสต์กำลังประสบปัญหาการใช้ทรัพยากรสูงจากกระบวนการ TiWorker.exe กระบวนการ TiWorker (Trusted Installer Worker) เป็นองค์ประกอบสำคัญของบริการ Windows Modules Installer ( TrustedInstaller ) บริการนี้รับผิดชอบในการจัดการการอัปเดตและส่วนประกอบของระบบ Windows

ตรวจสอบว่ากระบวนการนี้ทำงานมานานแค่ไหน:

รับกระบวนการ TiWorker | เลือก-Object Id, ชื่อ, CPU, WorkingSet, StartTime

/th/images/get-process-run-time.png

ตรวจสอบว่าบริการ Windows ใดที่ติดอยู่ในสถานะ “หยุด”:

` รับ-CimInstance-Class win32_service | โดยที่ Object state-eq ‘หยุดรอดำเนินการ’

/th/images/list-windows-service-hang-on-stopping.png

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

Taskkill/IM TrustedInstaller.exe/F

คุณสามารถหยุดบริการ TrustedInstaller จากระยะไกลได้โดยไม่ต้องเชื่อมต่อกับเชลล์คำสั่ง Windows ใช้คำสั่ง:

pskill.exe \\192.168.13.10 TrustedInstaller.exe

หรือใช้คำสั่งนี้เมื่อคุณต้องการระบุข้อมูลประจำตัวผู้ใช้สำหรับการเชื่อมต่อ

Taskkill.exe/s 192.168.13.10/u woshub\admin\_account/p MyPassw0rd!/im TrustedInstaller.exe

หลังจากนี้ข้อความ “กำลังปิดเครื่อง” ควรปรากฏบนหน้าจอของเซิร์ฟเวอร์ที่ค้าง หลังจากนั้นไม่กี่วินาที เครื่องควรรีบูตอย่างถูกต้อง

/th/images/gracefully-shutting-down-windows.png

โดยทั่วไปไม่แนะนำให้บังคับยุติกระบวนการบริการ TrustedInstaller อย่างไรก็ตาม หากคอมพิวเตอร์ยังคงติดอยู่ที่ขั้นตอนการเตรียม Windows เป็นเวลานานผิดปกติ ทางเลือกเดียวที่เป็นไปได้คือบังคับให้รีบูตหรือปิดเครื่อง

หลังจากบูต Windows ให้ตรวจสอบความสมบูรณ์ของอิมเมจระบบปฏิบัติการ ใช้ DISM และ SFC เพื่อค้นหาและซ่อมแซมข้อผิดพลาดที่พบ:

dism.exe/online/cleanup-image/restorehealth

sfc/สแกนโนว์

*️⃣ ลิงค์ที่มา:

Test-NetConnection, PsExec บริการ Windows ติดอยู่ในสถานะ “หยุด” ใช้ DISM และ SFC เพื่อค้นหาและซ่อมแซม