Windows Blue Screen of Death มาเยี่ยมพวกเราตลอดเวลา บางครั้งคุณก็คาดหวัง ในส่วนอื่นๆ ภาพหน้าจอสีน้ำเงินปรากฏขึ้นอย่างไม่คาดคิด ไม่ว่าจะด้วยวิธีใด เป็นเรื่องที่น่าหงุดหงิด โดยเฉพาะอย่างยิ่งหากคุณไม่สามารถวินิจฉัยปัญหาได้อย่างรวดเร็ว
โชคดีที่หน้าจอสีน้ำเงินแสดงรหัสข้อผิดพลาดให้คุณเสมอ แต่คุณจะเข้าใจได้อย่างไรว่านั่นหมายถึงอะไร? คุณใช้โปรแกรมที่มีประโยชน์เช่น Windows Debugger (WinDbg) หรือ NirSoft BlueScreenView . นี่คือคำแนะนำที่มีประโยชน์ในการแก้ไขข้อผิดพลาดหน้าจอสีน้ำเงิน!
ข้อผิดพลาดจอฟ้าคืออะไร
เมื่อ Windows มีข้อผิดพลาดร้ายแรง ระบบล่ม ความผิดพลาดมักจะทำให้คุณหน้าจอสีน้ำเงิน หน้าจอสีน้ำเงิน (รู้จักกันในชื่อว่า Blue Screen of Death หรือ BSoD) จะแสดงข้อมูลทั้งหมดที่มีรายละเอียดการชน ภายในข้อมูลคือสาเหตุ ที่ไหน และอย่างไรที่เกิดความผิดพลาด
อะไรทำให้เกิดข้อผิดพลาดหน้าจอสีฟ้า
ข้อผิดพลาดหน้าจอสีน้ำเงินอาจมีสาเหตุหลายประการ ได้แก่:
- ฮาร์ดแวร์ผิดพลาด
- ซอฟต์แวร์ผิดพลาด
- ล้าสมัยหรือไดรเวอร์เข้ารหัสไม่ดี
- ความร้อนสูงเกินไป
- โอเวอร์คล็อก
นั่นเป็นเพียงห้าสาเหตุที่เป็นไปได้ ภายในนั้นมีข้อผิดพลาดเฉพาะมากมาย นั่นคือจุดที่หน้าจอสีน้ำเงินของรหัสข้อผิดพลาดความตายเข้ามา
รหัสข้อผิดพลาดการตายหน้าจอสีน้ำเงินแสดงข้อผิดพลาดเฉพาะในการแก้ไขปัญหา คุณสามารถจดจ่อกับความพยายามของคุณมากกว่าที่จะคาดเดาว่าอะไรผิดพลาดและเพราะเหตุใด ตัวอย่างเช่น รหัส 0x80240034 WU_E_DOWNLOAD_FAILED หมายความว่า Windows Update ของคุณไม่สามารถดาวน์โหลด แน่นอนว่าไม่น่าจะทำให้เกิด BSoD แต่คุณเห็นว่าโค้ดมีข้อความแสดงข้อผิดพลาดเฉพาะอย่างไร
คุณจะแก้ไขข้อผิดพลาดจอฟ้าได้อย่างไร
การแก้ไขข้อผิดพลาดหน้าจอสีน้ำเงินขึ้นอยู่กับประเภทของข้อผิดพลาด บางครั้ง การค้นหาทางอินเทอร์เน็ตคร่าวๆ ก็เพียงพอที่จะเปิดเผยว่าระบบของคุณมีปัญหาอะไร ในบางครั้ง ซอฟต์แวร์พิเศษสำหรับการดีบักระบบคือสิ่งที่คุณต้องการ ต่อไปนี้คือวิธีแก้ไขข้อผิดพลาดหน้าจอสีน้ำเงินโดยใช้ WinDbg หรือ NirSoft BlueScreenView
วิธีแก้ไขข้อผิดพลาดหน้าจอสีน้ำเงินด้วย WinDbg
WinDbg เป็นเครื่องมืออันทรงพลังที่คุณสามารถใช้เพื่อค้นหาสาเหตุของข้อผิดพลาดหน้าจอสีน้ำเงินของคุณ
กำลังติดตั้ง Windows 10 SDK
ไปที่หน้าดาวน์โหลด Windows 10 SDK Windows 10 SDK มีเครื่องมือมากมาย รวมถึง Windows Performance Toolkit, Debugging Tool สำหรับ Windows, .NET Framework Software Development Kit และเครื่องมือการพัฒนาอื่นๆ ทำตามขั้นตอนเหล่านี้เลย
- กดปุ่ม ดาวน์โหลดตัวติดตั้ง ปุ่ม. เมื่อดาวน์โหลดแล้ว ให้เรียกใช้โปรแกรมติดตั้ง
- เมื่อตัวติดตั้ง Windows 10 SDK เปิดขึ้น ให้เลือกตัวเลือกแรกเพื่อ ติดตั้ง ชุดพัฒนาซอฟต์แวร์ Windows ไปยังคอมพิวเตอร์ของคุณ เส้นทางการติดตั้งเริ่มต้นนั้นใช้ได้
- เลือก ถัดไป เพื่อดำเนินการต่อและยอมรับใบอนุญาต ในหน้าถัดไป ให้ยกเลิกการเลือกช่องทั้งหมด แถบ เครื่องมือแก้ไขข้อบกพร่องสำหรับ Windows .
- จากนั้นกด ติดตั้ง .
การเปิดและกำหนดค่า WinDbg
เปิดเมนู Start แล้วไปที่ Windows Kits> WinDbg ใช้ดีบักเกอร์สำหรับสถาปัตยกรรมระบบของคุณ ไม่ว่าจะเป็นรุ่น 32 หรือ 64 บิต ฉันมีระบบ 64 บิต ดังนั้นจะเลือก WinDbg X64
ตอนนี้ คุณต้องค้นหาการถ่ายโอนข้อมูลหน่วยความจำ BSoD ของคุณ การถ่ายโอนข้อมูลประกอบด้วยข้อมูลเกี่ยวกับการขัดข้อง เช่น "สาเหตุ" และ "ตำแหน่ง"
การดัมพ์หน่วยความจำ BSoD มีสองประเภทหลัก: การถ่ายโอนข้อมูลแบบเต็มและ minidump โดยปกติ minidump จะเล็กกว่าแต่มีข้อมูลมากกว่าดัมพ์แบบเต็ม (ฉันรู้ว่าทำให้เข้าใจผิด)
- คุณจะพบบันทึก minidump ในไดเร็กทอรีรากของคุณ โดยทั่วไปแล้วจะเป็น C:\Windows\Minidump . ในโฟลเดอร์ คุณจะพบบันทึก minidump จริง
- หรือพบการถ่ายโอนข้อมูลแบบเต็มที่ C:\Windows\memory.dmp
สำหรับบทช่วยสอนนี้ เราจะวิเคราะห์ minidump (เพราะนั่นคือสิ่งที่ผมมีอยู่)
หมายเหตุ: ไม่มีการถ่ายโอนข้อมูลเลย? ดูวิธีเปิดการดัมพ์ของ Windows หลังแครช
โอเค กลับไปที่ WinDbg ขั้นแรก คุณต้องตั้งค่าแหล่งสัญลักษณ์ สัญลักษณ์เป็นตัวระบุโดยพื้นฐานสำหรับภาษาการเขียนโปรแกรมที่เกี่ยวข้องกับข้อมูลเฉพาะ ช่วยให้วิเคราะห์ข้อมูลที่พบในบันทึก (หรือโค้ด) ได้ง่ายขึ้น
ไปที่ ไฟล์> เส้นทางไฟล์สัญลักษณ์ จากนั้นคัดลอกและวางสิ่งต่อไปนี้:
SRV*c:\websymbols*https://msdl.microsoft.com/download/symbols
จากนั้นกด ตกลง .
วิเคราะห์การถ่ายโอนข้อมูลการขัดข้องของคุณใน WinDbg
ลากและวางไฟล์ดัมพ์ของคุณลงใน WinDbg หรือกด Ctrl + D เพื่อเปิดไฟล์เบราว์เซอร์ จากนั้นค้นหาไฟล์ดัมพ์ของคุณ เมื่อโหลดไฟล์ดัมพ์ คุณจะพบหน้าจอการวิเคราะห์เริ่มต้น จะมีลักษณะเช่นนี้:
มีสองสิ่งที่ต้องนำเข้าจากหน้าจอนี้:ตรวจสอบจุดบกพร่อง และน่าจะเกิดจาก ฟิลด์ มีความชัดเจนมากขึ้น:
- ตรวจสอบจุดบกพร่อง 1A คือรหัสข้อผิดพลาด
- อาจเกิดจาก :memory_คอร์รัปชั่น ( ONE_BIT ) ช่วยให้คุณเข้าใจปัญหาได้ทันที
ในกรณีนี้ คุณรู้ว่าข้อผิดพลาดของหน่วยความจำคือสาเหตุที่เป็นไปได้ของ BSoD ของคุณ
คุณสามารถทำการวิเคราะห์ได้อีกขั้นหนึ่งโดยใช้คำสั่ง WinDbg ในกรณีนี้ !analyze -v คำสั่ง (เน้นเป็นสีน้ำเงินในภาพด้านบน) จะแสดงข้อมูลโดยละเอียดเกี่ยวกับ BSoD ของคุณ มีลิงก์คำสั่งอยู่ใต้ส่วนหัวของ Bugcheck Analysis อย่างไรก็ตาม ลิงก์นี้บางครั้งหายไป หากไม่มีลิงก์ ให้ป้อนคำสั่งในช่องที่ด้านล่างของหน้าต่าง WinDbg
คำสั่งดำเนินการวิเคราะห์อัตโนมัติจำนวนมาก WinDbg แสดงผลลัพธ์ภายใต้หัวข้อการวิเคราะห์ BugCheck ใหม่ ปริมาณข้อมูลที่ WinDbg ทิ้งไปนั้นรู้สึกท่วมท้นเล็กน้อย แต่ในกรณีนี้ คุณกำลังมองหาข้อมูลสำคัญเพียงไม่กี่ส่วนเพื่อใช้ประเมิน BSoD ของคุณเป็นกลุ่ม
พารามิเตอร์ที่อยู่ใต้ส่วนหัวของการวิเคราะห์ BugCheck ใหม่นั้นให้ข้อมูลที่เป็นประโยชน์อีกชุดหนึ่ง ตัวอย่างเช่น ในตัวอย่างด้านล่าง คุณสามารถดูข้อผิดพลาดที่ได้รับการยืนยันเป็น Memory_Management (1a) . นอกจากนี้ อาร์กิวเมนต์ (อาร์กิวเมนต์เป็นพารามิเตอร์ที่ให้ข้อมูลเป็นหลัก) ขยายข้อมูลออกไป
Arg1 ระบุว่า "ตรวจพบ PTE ที่เสียหาย" โดยอธิบายว่า "พารามิเตอร์ 2 มีที่อยู่ของ PTE"
ตอนนี้ ฉันรู้แล้วว่า PTE ย่อมาจาก Page Table Entry ดังนั้นข้อผิดพลาดนี้น่าจะเกี่ยวข้องกับหน่วยความจำเสมือนของฉัน และฉันสามารถเริ่มการแก้ไข BSoD ที่นั่นได้ อย่างไรก็ตาม มีข้อผิดพลาดมากมายที่ฉันไม่รู้มาก่อน
ในกรณีเหล่านี้ การค้นหาทางอินเทอร์เน็ตคือเพื่อนของคุณ การค้นหารหัสข้อผิดพลาดเริ่มต้นและข้อมูลอาร์กิวเมนต์เพิ่มเติมจะส่งคืนผลลัพธ์ของผู้ใช้รายอื่นที่ประสบปัญหาเดียวกัน ในหลายกรณี ข้อผิดพลาดของระบบที่คุณมีไม่ใช่เรื่องใหม่และไม่ลึกลับ BSoD เดียวกันจะส่งผลกระทบต่อคนอื่น—คุณไม่ได้อยู่คนเดียว
วิธีแก้ไขข้อผิดพลาดหน้าจอสีน้ำเงินด้วย BlueScreenView
เครื่องมือวิเคราะห์ WinDbg เป็นชุดเครื่องมือที่ทรงพลัง คุณสามารถใช้สำหรับการถ่ายโอนข้อมูลและการวิเคราะห์ไฟล์ทุกรูปแบบ อย่างไรก็ตาม ผู้อ่านจำนวนมากไม่ต้องการเครื่องมือวิเคราะห์ที่ WinDbg นำเสนออย่างเต็มรูปแบบ ถ้านั่นฟังดูเหมือนคุณ BlueScreenView ของ Nirsoft คือสิ่งที่คุณต้องการอย่างแท้จริง
มันวิเคราะห์ไฟล์ดัมพ์และมินิดัมพ์เดียวกันกับ WinDbg แต่ปรับปรุงข้อมูล คุณสามารถนำข้อมูลที่ปรับปรุงแล้วไปค้นหาทางอินเทอร์เน็ตและเริ่มกระบวนการ BSoD ได้จากที่นั่น
วิธีการทำงาน:
ไปที่หน้า BlueScreenView และดาวน์โหลดโปรแกรม เมื่อดาวน์โหลดแล้ว ให้ติดตั้ง BlueScreenView เปิดโปรแกรมหลังการติดตั้ง
นี่คือที่ที่สะดวก BlueScreenView มันจะโหลด minidumps ใด ๆ ที่พบในโฟลเดอร์ MiniDump โดยอัตโนมัติ จากนั้นคุณสามารถจัดเรียงการถ่ายโอนข้อมูลตาม Crash Time เพื่อค้นหา BSoD ล่าสุด ในภาพด้านล่าง คุณจะเห็นไฟล์ดัมพ์เวอร์ชัน BlueScreenView ที่วิเคราะห์ในส่วน WinDbg
ความแตกต่างที่สำคัญคือรูปแบบและความสะดวกในการค้นหาข้อมูล BSoD ในการเปรียบเทียบ สตริงตรวจสอบข้อบกพร่อง รหัสตรวจสอบข้อบกพร่อง และพารามิเตอร์เหมือนกัน BlueScreenView ยังระบุไดรเวอร์ ntoskrnl.exe เป็นรูทของ BSoD
เช่นเดียวกับ WinDbg คุณสามารถทำการค้นหาทางอินเทอร์เน็ตด้วยข้อมูล BSoD ของคุณได้
WinDbg กับ BlueScreenView
หน้าจอสีน้ำเงินของเครื่องมือวิเคราะห์ความตายตัวใดตัวหนึ่งดีกว่าตัวอื่นหรือไม่? ขึ้นอยู่กับสิ่งที่คุณต้องการบรรลุ
BlueScreenView ใช้งานได้ง่ายกว่า WinDbg อย่างไม่ต้องสงสัย หากคุณต้องการข้อมูลที่กระชับและรวดเร็วเกี่ยวกับ BSoD ของคุณ BlueScreenView เป็นเครื่องมือที่ดีกว่า คนส่วนใหญ่เข้ากันได้ดีกับ BlueScreenView โดยเฉพาะอย่างยิ่งเมื่อไม่ต้องการการกำหนดค่าใดๆ และให้ข้อมูลที่ต้องการในทันที และในลักษณะที่ย่อยได้ด้วยเช่นกัน
สำหรับความช่วยเหลือเพิ่มเติม โปรดดูเคล็ดลับทั่วไปในการแก้ไขหน้าจอสีน้ำเงินใน Windows