การแจ้งเตือน "pending system repair" หมายถึงไม่สามารถดำเนินการระดับระบบได้ จนกว่าการซ่อมแซมที่ค้างอยู่จะเสร็จสิ้น ปกติแก้ได้โดยการรีบูต ข้อผิดพลาดนี้มักปรากฏหลังรัน SFC scan (System File Checker) ซึ่งเป็นเครื่องมือตรวจสอบและซ่อมแซมไฟล์ระบบ แต่เกิดปัญหาเมื่อข้อความนี้ขึ้นตอนพยายามรันสแกน

ระบบตรวจสอบไฟล์ pending system repair เมื่อเริ่ม SFC ไฟล์เหล่านี้ค้างมาจากการซ่อมแซมก่อนหน้า หากเคยรันซ่อมแซมระบบ ให้รีบูตแล้วดูว่าหายหรือไม่ ถ้าไม่หาย ทำตามวิธีด้านล่าง
วิธีแก้ที่ 1: ลบไฟล์ต่อไปนี้ใน Command Prompt
ไฟล์เหล่านี้ติดตามกระบวนการซ่อมแซมที่ค้างอยู่ และอาจเสียหาย การลบจะรีเซตกระบวนการค้าง ทำให้ระบบไม่คิดว่ามีการซ่อมแซมค้างอยู่ ขั้นตอนดังนี้
- Windows 10: คลิก Start หรือ Search พิมพ์ "cmd" หรือ "Command Prompt" คลิกขวาผลลัพธ์แรก เลือก Run as administrator

- Windows รุ่นเก่า: ไปที่ C >> Windows >> System32 คลิกขวา "cmd.exe" เลือก Run as administrator
- พิมพ์หรือคัดลอกคำสั่ง 2 คำสั่งนี้เพื่อลบไฟล์ ลองเปลี่ยนตัวอักษร 'd' และ 'c' ในตัวอักษรไดรฟ์ของคำสั่งแรก
del d:\windows\winsxs\pending.xml
del x:\windows\winsxs\pending.xml

- เมื่อเห็นข้อความ "operation completed successfully" ให้รัน SFC scan ด้วยคำสั่งปรับเปลี่ยนเล็กน้อย
sfc /SCANNOW /OFFBOOTDIR=c:\ /OFFWINDIR=d:\Windows
- ตรวจสอบว่า SFC เสร็จสมบูรณ์หรือไม่
หมายเหตุ: บางครั้ง Command Prompt จะโยนข้อผิดพลาดเมื่อพยายามลบไฟล์ pending หมายถึงต้อง Take Ownership ของโฟลเดอร์ WinSxS ก่อน จะไม่ยากนัก
- ไปที่ C >> Windows หาโฟลเดอร์ WinSxS
- ถ้าไม่เห็นโฟลเดอร์ Windows ให้เปิดตัวเลือกแสดงไฟล์/โฟลเดอร์ซ่อน: คลิกแท็บ View ใน File Explorer คลิกถูก Hidden items

- คลิกขวาโฟลเดอร์ Properties > Security > Advanced เปลี่ยน Owner
- คลิก Change ถัดจาก "Owner:" พิมพ์ชื่อบัญชีผู้ใช้ใน "Enter the object name to select" คลิก OK

- เลือกบัญชีผู้ใช้ ใน Group or user names คลิกถูก Full Control ใต้ Permissions ใช้การเปลี่ยนแปลง
- เพื่อเปลี่ยนเจ้าของโฟลเดอร์ย่อยและไฟล์ภายใน คลิกถูก Replace owner on subcontainers and objects ใน Advanced Security Settings คลิก OK ลองลบใหม่
วิธีแก้ที่ 2: เปลี่ยนการตั้งค่า BIOS
บางผู้ใช้แก้ได้โดยเปลี่ยน SATA operation จาก AHCI หรืออื่นๆ เป็น IDE mode ปรากฏว่าสาเหตุมาจากการเปลี่ยนแปลงของ Microsoft ในคลาสไดรเวอร์การจัดการบัสฮาร์ดดิสก์ ลองทำดู
- ปิดเครื่อง: Start >> Power >> Shut down
- เปิดเครื่อง แล้วกดปุ่ม BIOS ขณะบูท (มักแสดง "Press ___ to enter Setup") ปุ่มทั่วไป: F1, F2, Del, Esc, F10

- ตัวเลือก SATA อยู่ภายใต้แท็บต่างๆ ขึ้นอยู่กับผู้ผลิต BIOS เช่น Onboard devices, Integrated Peripherals, หรือ Advanced tab ชื่อตัวเลือกคือ SATA operation

- เปลี่ยนจาก AHCI, RAID, ATA เป็น IDE (เหมาะสมสำหรับการซ่อมแซมระบบ) สามารถเปลี่ยนกลับได้ที่เดิม
- ไปที่ Exit เลือก Exit Saving Changes บูทต่อ ให้ลองรันอัปเดตอีกครั้ง
หมายเหตุ: ถ้าตั้งเป็น IDE อยู่แล้ว ให้ลองเปลี่ยนเป็นอย่างอื่น บางกรณีการเปลี่ยนแปลงใดๆ ก็ช่วยได้
วิธีแก้ที่ 3: อัปเดตไดรเวอร์ (โดยเฉพาะการ์ดจอ)
ถ้าข้อผิดพลาด SFC ตามด้วย BSOD แสดงว่าไดรเวอร์เก่าเป็นสาเหตุ ควรอัปเดตโดยเร็วที่สุด อัปเดตทั้งหมดดีที่สุด เพื่อป้องกันปัญหาในอนาคต
- กด Start พิมพ์ Device Manager เลือกจากผลลัพธ์ หรือ Windows Key + R พิมพ์ "devmgmt.msc" OK

- ขยายหมวดหมู่ หาชื่ออุปกรณ์ คลิกขวาเลือก Update Driver สำหรับการ์ดจอ ขยาย Display adapters คลิกขวาการ์ดจอ Update Driver

- เลือก Search automatically for updated driver software
- ถ้า Windows ไม่หาเจอ ให้ดาวน์โหลดจากเว็บผู้ผลิตอุปกรณ์
หมายเหตุ: Windows 10 มักติดตั้งไดรเวอร์ล่าสุดพร้อม Windows Update ให้แน่ใจว่าอัปเดต Windows ด้วย: Windows Key + I > Update & Security > Windows Update > Check for updates

วิธีแก้ที่ 4: แก้ไขใน Recovery Environment
ขั้นตอนขั้นสูง ใช้คำสั่งที่รันได้เฉพาะใน Recovery Environment เข้าถึงได้ง่ายใน Windows 10 คำสั่งปลอดภัยและอาจแก้ปัญหาได้ ทำตามขั้นตอนละเอียด
- หน้าจอล็อกอิน คลิกไอคอน Power ค้าง Shift แล้วคลิก Restart
- จะขึ้นหน้าจอสีน้ำเงิน เลือก Troubleshoot >> Advanced Options >> Command Prompt

- พิมพ์คำสั่งต่อไปนี้ทีละคำสั่ง รอจนเสร็จ คำสั่งใดคำสั่งหนึ่งควรแก้ปัญหา รักษาลำดับให้ถูกต้อง
bcdboot C:\Windows
bootrec /FixMBR
bootrec /FixBoot
- บูทเข้าระบบปกติ ตรวจสอบว่า SFC ทำงานได้หรือไม่
วิธีแก้ที่ 5: ปรับ Registry
Registry key นี้ติดตามโปรแกรมที่ค้างขอ reboot การลบจะทำให้คิวหายไป และ Windows จะไม่คิดว่ามีกระบวนการขอ reboot เมื่อไม่มีจริง
- ก่อนแก้ Registry แนะนำให้สำรองก่อน (มีบทความแนะนำ) แต่ถ้าทำตามคำแนะนำจะปลอดภัย
- เปิด Registry Editor: พิมพ์ "regedit" ใน Search หรือ Run ไปที่ key นี้
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

- ใต้ CurrentVersion จะเห็น key ชื่อ RebootPending คลิกขวาเลือก Permissions
- ใน Group or user names หาบัญชีของคุณ ถ้าไม่มี คลิก Add >> Advanced >> Find Now เลือกบัญชี คลิก OK สองครั้ง

- เลือกบัญชีของคุณ คลิกถูก Full Control ใต้ Permissions ใช้การเปลี่ยนแปลง
- คลิกขวา RebootPending key เลือก Delete ยืนยัน รีสตาร์ทคอมพิวเตอร์ ตรวจสอบว่าปัญหายังคงอยู่หรือไม่