วันพฤหัสบดีที่ 5 มีนาคม พ.ศ. 2552

Blue Screen of Death

มาดูวิธีการแก้ปัญหากันครับ
Blue Screen of Death
Error : IRQL_NOT_LESS_OR_EQUAL (Error Code : Stop 0x0000000A)
ความหมายของ 0xA นั้นหมายความว่า Kernel-mode process หรือไดรเวอร์นั้นไม่สามารถจะเข้าถึงเมโมรีที่จองไว้ได้ อาจเนื่องจากไม่มีสิทธิ์ที่จะเข้าถึง หรือค่าที่เคอร์แนลส่งระดับ IRQL นั้นอยู่สูงเกินไป แต่ Kernel-mode process ที่มีค่า IRQL ต่ำกว่าสามารถเข้าถึงหน่วยความจำนั้นได้ โดยส่วนมาก Stop Message นี้มักจะมาจากการที่ไม่คอมแพตทิเบิลของฮาร์ดแวร์หรือซอฟท์แวร์ที่อยู่ใน เครื่องนั่นเอง
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
สาเหตุนี้อาจเกิดหลังการติดตั้ง device driver, system sevice หรือ Firmware ที่เสียหายหรือไม่สมบูรณ์ หาก Stop Message นั้นแสดงชื่อไดรเวอร์ที่ผิดพลาดมาด้วยให้แก้ไขโดยการยกเลิก หรือ rollback กลับไปใช้ ไดรเวอร์ที่สมบูรณ์ หรือหากยังแก้ไขไม่ได้ อาจจะเป็นที่ไฟล์ที่ใช้ในการติดตั้งไดรเวอร์เกิดเสียหาย เพราะไวรัสก็ได้ ต้องตรวจสอบจุดนี้ด้วย
ข้อผิดพลาดอาจเกิดจากตัวฮาร์ดแวร์ก็ได้ หากเออเรอร์นี้แจ้งประเภทของ Device มา ยกตัวอย่างเช่น กราฟิกการ์ดหรือไดรฟ์ ก็ให้ลองปลดหรือเปลี่ยนอุปกรณ์ที่Error Message แจ้งมาอาจจะช่วยแก้ปัญหาได้
หากปัญหานี้เกิดมาในช่วงที่คุณกำลังติดตั้งเซอร์วิสแพ็ค ของวินโดวส์ สาเหตุอาจ
จะมาจากการที่ไม่คอมแพตทิเบิลกันของไดรเวอร์หรือ System Service ที่ได้ติดตั้งไว้ให้ลองถอน Third-party Device ก่อนการติดตั้งเซอร์วิสแพ็ค และเมื่อหลังจากติดตั้งสำเร็จแล้วให้ลองติดต่อไปยังโรงงานผู้ผลิต เพื่อสอบถามหาไดรเวอร์ที่เข้ากันได้อีกที

Error : KMODE_EXCEPTION_NOT_HANDLED (Error Code : 0x0000001E)
ค่า 0x1E เป็นเครื่องบ่งบอกว่าวินโดวส์ เอ็กซ์พีตรวจสอบพบชุดคำสั่งที่ไม่ถูกต้อง หรือไม่อาจระบุได้ ปัญหาที่พบจาก 0x1E นั้นใกล้เคียงกับการเกิดขึ้นของ 0xA อาจจะแตกต่างกันเล็กน้อย ที่ ค่า 0xA เกิดจากการใช้งานผิดพลาดที่หน่วยความจำ แต่ เจ้า 0x1E นั้น เป็นการผิดพลาดจากชุดคำสั่ง
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
0x1E โดย ส่วนมากจะปรากฏหลังจากติดตั้งไดรเวอร์ หรือ System sevices ที่ผิดพลาด หรือเกิดจากอุปกรณ์ที่ติดตั้งลงไปใหม่นั้นทำให้เกิดการขัดแย้งหรือแย่งกัน ใช้งานค่าบางอย่าง เช่น หน่วยความจำหรือ IRQ ( memory or IRQ conflicts) ถ้าเออเรอร์นี้ แสดงรายละเอียดของชื่อไดรเวอร์ที่มีปัญหาก็ให้ลองหยุดใช้ หรือ ถอดถอนไดรเวอร์เจ้าตัวที่มีปัญหาออก อาจจะช่วยแก้ปัญหานี้ได้ หรืออาจจะเป็นที่ไฟล์ไดรเวอร์ที่ติดตั้งนั้นเสียหายจากไวรัส เป็นต้น
แต่ถ้าเออเรอร์นั้นได้อ้างถึงไฟล์ชื่อ Win32k.sys อาจจะเกิดจากมีการติดตั้งไฟล์ตัวนี้มาแทนที่จากโปรแกรมอื่นๆ วิธีแก้ก็ลองให้พยายามยกเลิก system service นี้ โดยการสตาร์ทวินโดวส์ใน Safe Mode แต่หากยังแก้ไขไม่ได้ คงต้องใช้งาน Recovery Console เพื่อลบไฟล์ System Service ที่สร้างปัญหานั้นทิ้ง
ปัญหานี้ก็อาจจะเกิดมาจากอัพเดตไบออสที่เข้ากันไม่สมบูรณ์ เช่น ไบออสที่เกี่ยวข้องกับการใช้งานพลังงาน (ACPI) ให้ลองแก้ไข โดยการกลับไปใช้ไบออสตัวเก่า หรือหาตัวที่สมบูรณ์กว่านี้
อีกสาเหตุหนึ่ง อาจมาจากพื้นที่ฮาร์ดดิสก์ไม่เพียงพอต่อการติดตั้งโปรแกรมวิธีแก้ง่ายๆ เพียงแต่จัดหา หรือบริหารพื้นที่ให้เพียงพอต่อความต้องการใช้งาน เช่น การลบ Temporary File ทิ้ง (พวกไฟล์นามสกุล .tmp) พวก Internet Cache files, หรือ ไฟล์ต่างๆ ที่ไม่ได้ใช้งาน แล้วก็กลับไปติดตั้งโปรแกรม ที่ต้องการต่อได้ หรืออีกสาเหตุหนึ่ง ปัญหานี้อาจจะเกิดจากการที่หน่วยความจำไม่เพียงพอต่อการใช้งาน เนื่องจากโปรแกรมหรือเซอร์วิสบางตัวนำหน่วยความจำไปใช้งาน แล้วไม่ยอมคืนหน่วยความจำกลับมา ให้คุณใช้ยูทิลิตี้ที่ชื่อว่า Poolmon (Poolmon.exe) มาช่วยเหลือ (อยู่ในไดเรกทอรี SupportToolsของแผ่นติดตั้งวินโดวส์ เอ็กซ์พี) เจ้าตัวนี้สามารถช่วยคุณตรวจสอบว่าโปรแกรมตัวไหนนำหน่วยความจำไปใช้ และไม่ยอมคืนบ้าง เมื่อเจอแล้ว คุณอาจต้องถอนการติดตั้งโปรแกรมนั้นเสีย

Error : NTFS_FILE_SYSTEM (Error Code : 0x00000024)
0x24 บ่งบอกถึงปัญที่เกิดขึ้นจากไฟล์ Ntfs.sys ซึ่งเป็นไดรเวอร์ที่ใช้ในการอนุญาตให้ระบบสามารถอ่านและเขียนระบบไฟล์ซิ สเต็มส์แบบ NTFS ปัญหานี้จะคล้ายกับโค้ด 0x23 ซึ่งมาจากความผิดพลาดในการอ่านหรือเขียนไฟล์ซิสเต็มส์แบบ FAT16 หรือFAT32
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
อาจเกิดจากการทำงานผิดพลาดของฮาร์ดแวร์ SCSI หรือ ATA หรือไดรเวอร์ที่เกี่ยวข้องกับอุปกรณ์จำพวกนี้ ทำให้เกิดความผิดพลาดในการอ่านหรือเขียนข้อมูลสู่ดิสก์ไดรฟ์ จากปัญหานี้ถ้าคุณใช้งานฮาร์ดแบบ SCSI ให้ตรวจสอบที่รายละเอียดในส่วนของสายเชื่อมต่อ หรือจุดเชื่อมต่อต่างๆ และลองตรวจสอบที่ Event Viewer เพื่อตรวจหาข้อผิดพลาดที่อาจจะเกี่ยวข้องกับอุปกรณ์ ดังกล่าว
ตรวจสอบให้แน่ใจว่าระบบที่ใช้ในการตรวจสอบระบบของคุ ณ ไม่ว่าจะเป็นระบบ Anti virus หรือระบบแบ็กอัพที่ใช้งาน ทำงานเข้ากันได้อย่างสมบูรณ์กับ วินโดวส์ เอ็กซ์พี หลังจากนั้นให้ลองตรวจสอบกับอุปกรณ์ที่คุณใช้งาน บางชิ้นนั้นจะให้มากับเครื่องมือที่ใช้ในการตรวจสอบความสมบูรณ์ของมันได้ (Diagnostic Tool) หากไม่มีเครื่องมือจำพวกนี้มาให้ เราก็สามารถตรวจสอบได้จากเครื่องมือของวินโดวส์ที่ให้ซึ่งมี 2 วิธีดังนี้ (ควรทำใน Safe mode)
วิธีที่ 1
1. ในช่อง Run ให้พิมพ์คำว่า "cmd"
2. ให้เริ่มต้นใช้งานเครื่องมือ Chkdsk, และใส่พารามิเตอร์เพื่อตรวจสอบความผิดพลาดของไฟล์โดยพิมพ์คำสั่ง ว่า "chkdsk [drive:] /f" (drive: คือชื่อไดรฟ์ที่คุณต้องการตรวจสอบ เช่น C: D: E: หรือ F: เป็นต้น)
ข้อควรระวัง ถ้าคุณไม่ได้ใช้งานระบบ NTFS ไฟล์ที่มีการตั้งชื่อยาวกว่า 8
ตัว อักษร อาจจะเกิดการสูญหายไปจากฮาร์ดดิสก์ได้ หลังจากการตรวจสอบด้วยวิธีนี้

วิธีที่ 2
1. ดับเบิลคลิ้กที่ My computer และเลือกไปที่ฮาร์ดดิสก์ที่ต้องการจะตรวจเช็ค
2. ที่หัวข้อ "File" บนเมนูบาร์ให้เลือกที่ Properties
3. เลือกแท็บที่เขียนว่า Tools
4. ให้เช็คที่ช่องที่เขียนว่า Error-checking box
5. ในหัวข้อเช็ค Check disk options ให้เลือกที่ Scan for and attempt recovery for and sectors หรือ จะเลือกที่automatically fix file system error ด้วยก็ไม่เสียหายนะครับ
อีกสาเหตุหนึ่งอาจจะมาจากปัญหา Nonpage pool memory ในหน่วยความนำในระบบหมดสิ้นอย่างสิ้นเชิง สาเหตุนี้สามารถแก้ได้อย่างง่ายได้ โดยใช้เงินในกระเป๋าคุณไปซื้อแรมมาเพิ่มนั่นเอง

Error : DATA_BUS_EROR (Error Code : 0x0000002E)
0x2E บ่งบอกถึงระบบตรวจสอบหน่วยความจำมีความผิดพลาด ซึ่งอาจจะเกิดมาจากความผิดพลาดในหน่วยความจำ เช่น ส่วนของการตรวจสอบความถูกต้องของข้อมูล (ECC) หน่วยความจำในที่นี้รวมไปถึงหน่วยความจำหลักบนเมนบอร์ด แคช L2 หรือแม้หน่วยความจำในการ์ดแสดงผล ซึ่งจากสาเหตุที่เกิดขึ้นมาในข้างต้นนั้น ทำให้เกิดกันเข้ากันอย่างไม่สมบูรณ์ หรือความผิดพลาดบางอย่างในตัวอุปกรณ์ หรือดีไวซ์ไดรเวอร์นั้นพยายามจะเข้าถึงหน่วยความจำในตำแหน่งที่มีอยู่จริง ก็ทำให้เกิด BOD ได้ 0x2E ก็สามารถเกิดได้จากความเสียหายของฮาร์ดดิสก์อันเกิดจากไวรัสคอมพิวเตอร์ หรือปัญหาอื่นๆ ได้
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นได้
0x2E โดยทั่วๆ ไปจะเกิดจากการผิดปกติ การทำงานคลาดเคลื่อน หรือการพังของอุปกรณ์หน่วยความจำในระบบ เช่น หน่วยความจำปกติ แคช L2 หรือหน่วยความจำในการ์ดแสดงผล ให้ลองเปลี่ยนอุปกรณ์ที่อาจจะเกิดความเสียหายได้ หรือลองถอดออกในกรณีที่ไม่มีของให้เปลี่ยน แล้วลองหาเครื่องมือที่เอาไว้ ตรวจสอบความถูกต้องของอุปกรณ์ดังกล่าว ( Diagnostics tool) ที่มาจากโรงงานผู้ผลิต เพื่อดูว่ามีส่วนไหนเสียหายหรือไม่
0x2E สามารถจะเกิดขึ้นหลังจากการที่คุณติดตั้งดีไวซ์ไดรเวอร์ที่มีความเสียหาย ถ้าเออเรอร์นั้นแสดงรายละเอียดของไฟล์หรือชื่อของส่วนที่ทำให้เกิดข้อผิด พลาด ก็ให้แก้ไขด้วยวิธีเดิมๆ ในข้างต้น คือยกเลิกการใช้งาน หรือถอดถอนทิ้งหรือถอยกลับไปใช้ไดรเวอร์ในรุ่นที่ยังใช้งานได้ดีอยู่ และให้ลองเข้าไปดูในเว็บไซต์ของบริษัทผู้ผลิตเพื่อดูรายระเอียดดีไวซ์ได รเวอร์ที่เข้ากันได้สมบูรณ์กับระบบ
อีกสาเหตุหนึ่งที่ไม่น่าเชื่อ แต่ก็เป็นไปได้ ก็คือเกิดจากคราบสกปรกที่เกาะอยู่ตามผิวของอุปกรณ์ที่เมนบอร์ด ถ้าหากตรวจสอบและทำความสะอาดแล้วยังมีปัญหาอยู่แนะนำให้ส่งเครมครับ

Error : NO_MORE_SYSTEM_PTES (Error Code : Stop 0x0000003F)
0x3F อาจเกิดขึ้นจาก Page Table Entries (PTE) ของระบบเกิดการทำงานผิดพลาด หรือ ไม่ปะติดปะต่อกันเมื่อระบบทำงานประมวลผลชุดคำสั่งที่มีการใช้ตัวเลขจำนวนมา กกในการประมวลผล
หรือ อาจเกิดจำดีไวซ์ไดรเวอร์ ที่ติดตั้งนั้นไม่สามารถบริหารหน่วยความจำได้อย่างมีประสิทธิภาพได้
หรือ อาจเกิดจากโปรแกรมบางตัวจัดสรรหน่วยความจำที่เคอร์แนลต้องการใช้งานไม่ถูกต้อง
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
0x3F สามารถเกิดขึ้นหลังจากที่คุณติดตั้งไดรเวอร์ที่ไม่สมบูรณ์ ถ้าเออเรอร์นั้นแสดงรายละเอียดของไฟล์หรือชื่อของส่วนที่ทำให้เกิดข้อผิด พลาด ก็ให้แก้ไขด้วยวิธีเดิมๆ ในข้างต้น คือการยกเลิกการใช้งาน หรือกลับไปใช้ไดรเวอร์ตัวเก่า เป็นต้น
จริงๆ แล้ว PTEs นั้นอาจจะเหลืออีกเพียบ แต่เออเรอร์นี้ก็อาจจะเกิดขึ้นได้อีก เพราะว่าขนาดของ contiguous memory block ที่ไดรเวอร์ หรือ หน่วยความจำต้องใช้งานไม่เพียงพอ วิธีแก้ลองอัพเดตไดรเวอร์ตัวใหม่ที่สมบูรณ์ หรือโปรแกรมเวอร์ชันใหม่ๆ และให้ลองตรวจสอบจากเอกสารติดตั้งโปรแกรมดังกล่าวด้วย เกี่ยวกับ Minimum system reqirements ว่าต้องการเท่าใด
อีกสาเหตุที่อาจจะเป็นไปได้ก็น่าจะมาจากการที่มีความต้องการใช้งาน PTEs มากเกินค่าที่กำหนดไว้ วิธีแก้ไขก็ต้องปรับเปลี่ยนให้อยู่ในสภาพแวดล้อมแบบเซิร์ฟเวอร์ ซึ่งในวินโดวส์ เอ็กซ์พีโปรเฟสชันแนลนั้นมีเครื่องมือที่จะให้เราสามารถขยายค่าของ PTEs ได้ตามต้องการ

ข้อควรระวัง
อย่าแก้ไขค่ารีจิสเตอร์เอง หากคุณไม่มีความรู้เพียงพอ เพราะค่ารีจิสเตอร์นั้นอยู่นอกเหนือการป้องกันขั้นพื้นฐานของระบบ ซึ่งหากแก้ไขผิดพลาดอาจจะทำให้เกิดความเสียหายต่อระบบของท่านได้ ซึ่งรวมถึงการติดตั้งระบบปฏิบัติการใหม่ แต่ถ้าหากจำเป็นต้องแก้ไขจริงๆ แนะนำให้แบ็กอัพรีจิสเตอร์ไว้ก่อนดีกว่านะครับ
ขั้นตอนในการแก้ไขค่า PTEs ในรีจิสทรีทำได้ดังนี้
1. ในช่อง RUN ให้พิมพ์คำว่า "regdit"
2. ใน regedit ให้มองหา sub key ที่มีชื่อว่า HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management
3. ดับเบิ้ลคลิกที่ PagedPoolSize และ SystemPages เพื่อดูค่าที่เคยตั้งไว้
4. ถ้าค่าของ PagedPoolSize ไม่เท่ากับศูนย์ ให้ตั้งค่าให้เป็น 0
5. ถ้าค่าของ SystemPages ไม่เท่ากับศูนย์ ให้ใส่ค่า 4000 สำหรับระบบที่มีหน่วยความจำ 128 เมกะไบต์ (หรือน้อยกว่า) และค่า 110000 สำหรับระบบที่มีหน่วยความจำมากกว่า 128 เมกะไบต์ขึ้นไป
6. ปิดโปรแกรมและรีบูตเครื่องใหม่

Error : PAGE_FAULT_IN_NONPAGED_AREA (Error Code : 0x00000050)
0x50 เกิดจากการเรียกใช้ข้อมูลซึ่งมิได้อยู่ในหน่วยความจำ ระบบจะรายงาน
เออเรอร์โค้ดนี้ขึ้นมาเมื่ออ้างถึงค่าบางค่าในเมโมรีแอดเดรสที่ไม่มีอยู่ จริง หน่วยความจำในที่นี้รวมไปถึง L2 Cache และ หน่วยความจำในการ์ดแสดงผลด้วย
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
ถ้าเออเรอร์นี้เกิดขึ้นมาหลังจากคุณติดตั้งฮาร์ดแวร์ใหม่เข้าไป ให้ถอดหรือเปลี่ยนฮาร์ดแวร์ดังกล่าว ถ้าหากพอจะแก้ไขปัญหานี้ได้ ให้รัน Diagnostic tools เพื่อตรวจสอบความผิดพลาดที่เกิดขึ้นในบางส่วนของอุปกรณ์
0x50 อาจจะเกิดขึ้นหลังจากคุณได้ติดตั้งดีไวซ์ไดรเวอร์ที่เสียหายลงไปในระบบของ คุณ ให้ลองถอดถอนออกจากระบบ หรือกลับไปใช้ไดรเวอร์ตัวที่ไม่ก่อให้เกิดปัญหา
ให้หมั่นอัพเดตไดรเวอร์และซอฟต์แวร์ของอุปกรณ์ที่มีความสำคัญมากๆ เช่น การ์ดแลน การ์ดแสดงผล แต่ถ้าหากว่าอุปกรณ์ดังกล่าวไม่มีรุ่นใหม่เลย ให้ลองใช้ไดรเวอร์รุ่นใหม่ของอุปกรณ์รุ่นที่ใกล้เคียงกัน ยกตัวอย่างเช่น หากคุณมีเครื่องพิมพ์ รุ่น 1100c แล้วทำให้เกิดปัญหา 0x50 ให้ลองหาไดรเวอร์รุ่น 1100A หรือ รุ่น 1000 มาใช้ชั่วคราว อาจจะแก้ปัญหานี้ได้
Error : KERNEL_STACK_INPAGE_ERROR (Error : 0x00000077)
0x77 แสดงถึงข้อมูลซึ่งถูกเรียกใช้จากเวอร์ชวลเมโมรี ไม่สามารถหาพบหรืออ่านไปยังหน่วยความจำได้ หรืออาจจะหมายถึงฮาร์ดิสก์มีความเสียหาย หรือข้อมูลได้ถูกทำลาย หรืออาจจะเป็นไปได้ ที่มีไวรัสอยู่ในระบบ
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
0x77 อาจจะเกิดมาจากแบ็ดเซ็กเตอร์ หรือดิสก์คอนโทรลเลอร์มีความผิดพลาด หรือในกรณีที่อาจจะเกิดยากหน่อย คือ ค่า Non page pool หมดสิ้นไปจากระบบเลย ก็อาจทำให้เกิดเออเรอร์นี้ได้ แต่ถ้าจะสืบให้ได้รายละเอียดมากกว่านี่ ให้ดูที่ค่าตัวเลขที่สองและสามของเออเรอร์โค้ดยกตัวอย่างเช่น ถ้าเป็นปัญหาทางด้านความผิดปกติของ I/O เออเรอร์โค้ดหมายเลข0xC0000185 หมายถึงเพจจิงไฟล์นั้นทำงานอยู่บนดิสก์ SCSI ให้ลองตรวจสอบสายเคเบิล และจุดเชื่อมต่อก่อน ถ้าเออเรอ์โค้ดหมายเลข 0xC000009C หรือ 0xC000016A หมายความว่า ไม่พบข้อมูลที่ได้ร้องขอหรือไม่มีอยู่จริง ให้ลองแก้ไขโดยการรีบูตเครื่อง ถ้าคิดว่ามาจากปัญหาเรื่องเกี่ยวกับความเสียหายของดิสก์ให้ลองใช้โปรแกรม " Autochk" เพื่อตรวจสอบ และระบุแบ็ดเซ็กเตอร์ที่เกิดขึ้นบนดิสก์
อีกกรณีที่ทำให้เกิด 0x77 อาจมาจากความผิดพลาดหรือเสียหายของหน่วยความจำที่มีอยู่ในระบบ อาทิ หน่วยความจำหลัก , L2 Cache หรือ หน่วยความจำในการ์ดแสดงผล ให้ลองเปลี่ยนอุปกรณ์เหล่านี้ อาจจะแก้ปัญหาได้
หรืออีกสาเหตุหนึ่งอาจเกิดจากคราบสกปรกที่เกาะอยู่ตามผิวของอุปกรณ์บนเมนบอร์ดก็เป็นไปได้เช่นเดียวกัน

Error : MISMATCHED_HAL (Error Code : 0x00000079)
0x79 บ่งบอกถึง hardware abstraction layer (HAL) และชนิดของเคอร์แนล ที่ใช้งานไม่ตรงกัน หรือพูดง่ายๆ ว่าฮาร์ดแวร์ที่วินโดวส์รู้จักไม่ตรงกับเครื่องคอมพิวเตอร์ที่ติดตั้ง โดยส่วนมากเออเรอร์นี้มักจะเกิดมาจากค่า ACPI มีการเปลี่ยนแปลง ยกตัวอย่างเช่น การนำโอเอสที่เป็นแบบ Multi processor มาใช้งานบนเครื่องที่เป็น Single Processor เป็นต้น
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
0x79 เกิดจากระบบที่ใช้งานไฟล์ Ntoskrnl.exe หรือ Hal.dll ที่เก่าเกินไป ซึ่งปัญหานี้สามารถแก้ไขได้อย่างง่ายๆ โดยการก๊อบปี้ไฟล์ที่ถูกต้องไปทับไฟล์เดิม ซึ่งไฟล์พวกนี้สามารถหาได้จากแผ่นติดตั้งวินโดวส์เอ็กซ์พีนั่นเอง ยกตัวอย่างเช่น บนระบบซิงกิ้ลโปรเซสเซอร์ไฟล์เคอร์แนลจะชื่อ Ntoskrnl.exe แต่บนระบบมัลติโปรเซสเซอร์ ไฟล์เคอร์แนลใช้ชื่อว่า Ntkrnlmp.exe เป็นต้น
อีกสาเหตุหนึ่งอาจเกิดจากไบออสไม่ได้กำหนดหมายเลข IRQ ให้กับ ACPI ดังนั้นคุณสามารถแก้ไขได้ด้วยตัวเองโดยการกำหนดค่า IRQ ให้เองภายในไบออสภายใต้หัวข้อ ACPI

Error : INACCESSIBLE_BOOT_DEVICE (Error Code : 0x0000007B)
0x7B หมายถึงวินโดวส์ เอ็กซ์พีไม่สามารถเข้าถึงซิสเท็มส์พาร์ทิชัน หรือ บูตโวลุ่ม ในระหว่างเริ่มต้นกระบวนการทำงาน หรืออาจเกิดจากติดตั้งหรือการอัพเกรดไดรเวอร์ของสตอเรจอะแดปเตอร์ผิดรุ่น
พารามิเตอร์ตัวที่สอง ก็มีความสำคัญมากเพราะช่วยขยายความถึง รายละเอียดของเออเรอร์โค้ด 0x7B ยกตัวอย่างเช่น
*0xC000034 หมายถึงดิสก์หรือดิสก์คอนโทรลเลอร์ทำงานล้มเหลว หรือมีการตั้งค่าที่ไม่ถูกต้อง
*0xC000000E หมายถึง Storage-related drivers หรือโปรแกรมบางตัว (ยกตัวอย่าง เช่น tape management software) ไม่คอมแพตทิเบิลกับวินโดวส์ เอ็กซ์พี เป็นต้น
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
ถ้าเออเรอร์นี้เกิดหลังจากที่คุณติดตั้งฮาร์ดดิสก์ลูกใหม่ ให้แก้ไขได้โดยการแก้ไขไฟล์ Boot.ini (ปกติจะอยู่ที่ c: หรือไดรฟ์อื่นๆ แล้วแต่ว่าวินโดวส์จะติดตั้งไว้ที่ไดรฟ์ใด) และปรับปรุงค่าของ Boot manager เพื่ออนุญาตให้ระบบเริ่มต้นทำงานได้
ให้ตรวจสอบว่าเฟิร์มแวร์ของระบบ ไม่ว่าเป็นของดิสก์คอนโทรลเลอร์ หรือการตั้งค่าไบออสของเมนบอร์ดว่าถูกต้องหรือไม่ หรือในบางกรณีวินโดวส์ เอ็กซ์พีไม่รู้จักอุปกรณ์ดิสก์คอนโทรลเลอร์นั้นๆ ให้ลองหาไดรเวอร์จากผู้ผลิตหรือจากเว็บไซต์เพื่อนำมาติดตั้ง ก็จะสามารถแก้ปัญหานี้ได้

Error : UNEXPECTED_KERNEL_MODE_TRAP (Error Code : Stop 0x0000007F)
0x7F นั้นบ่งบอกถึงปัญหาปัญหาที่เคอร์แนลไม่อนุญาตให้เข้าใช้งาน (bound trap) ซึ่งอาจเกี่ยวพันกับฮาร์ดแวร์ด้วย
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
0x7F ส่วนมากมาจากความผิดพลาดหรือล้มเหลวในส่วนของหน่วยความจำหลัก ถ้าคุณได้ติดตั้งอุปกรณ์ใหม่เข้าไป ให้ลองแก้ไขโดยการถอดเปลี่ยนอุปกรณ์ดังกล่าว
การโอเวอร์คล็อกซีพียูก็สามารถทำให้เกิดเออร์เรอร์โค้ด 0x7F หรือหมายเลขอื่นๆ ได้ เนื่องจากความร้อนที่สูงขึ้นอาจทำให้ซีพียูทำงานผิดพลาดได้ หากเกิดปัญหานี้ขึ้นสำหรับเครื่องที่โอเวอร์คล็อกให้ลองลดการโอเวอร์คล็อก กลับมาที่ความเร็วซีพียูเดิม
อีกสาเหตุก็คือ คราบสกปรกที่เกาะอยู่บนเมนบอร์ด ถ้ามีควรทำความสะอาดเสียให้เรียบร้อย

Error : BAD_POOL_CALLER (Error Code : 0x000000C2)
0xC2 หมายถึง kernel-mode process หรือไดรเวอร์บางตัวเกิดการใช้งานหน่วยความจำที่ผิดพลาด อาจจะมีสาเหตุมาจากทางใดทางหนึ่งดังนี้
• การจัดสรร Memory Pool ที่ขนาด เป็น 0 (ศูนย์)
• การจัดสรร Memory Pool ที่มีอยู่จริง
• การสั่งการให้ Memory Pool นั้นเป็น Free memory pool ทั้งที่มันว่างอยู่แล้ว
• การจัดสรรหรือการสั่งการให้เป็น Free memory pool ที่ค่า IRQL สูงเกินไป
• ความผิดพลาดของไดรเวอร์หรือซอฟต์แวร์ที่ใช้งาน
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
0xC2 นั้นถ้าหากเกิดขึ้นหลังจากคุณติดตั้งโปรแกรมหรือไดรเวอร์ที่ไม่สมบูรณ์ สามารถแก้ไขได้โดยการถอดถอน ส่วนที่ติดตั้งลงไปออกเสีย
หรืออาจจะเกี่ยวข้องกับการผิดพลาดของฮาร์ดแวร์ก็ได้ ในกรณีที่มีการอ้างอุปกรณ์บางชิ้นในเออเรอร์ ก็ให้ลองเปลี่ยนอุปกรณ์ตัวนั้นหรือถอดถอนออกอาจจะแก้ไขปัญหาได้
หรืออาจจะเกิดจากการไม่คอมแพตทิเบิลกันของไดรเวอร์และซิสเต็มส์เซอร์วิสของ เซอร์วิสแพ็คที่ได้ติดตั้งไว้ ให้ลองถอดถอน Third-party Device ก่อนการติดตั้งเซอร์วิสแพ็ค

Error : DRIVER_POWER_STATE_FAILURE (Error Code : 0x0000009F)
0x9F บ่งบอกว่าไดรเวอร์บางตัวทำงานไม่ปกติ มักเกิดในกรณีที่วินโดวส์ถูกสั่งให้กลับมาทำงาน หลังจากที่พักในโหมดสแตนบายด์ ซึ่งไดรเวอร์บางอย่างกลับมาใช้งานได้ในโหมดปกติ เป็นต้น
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
ถ้าหากเกิดขึ้นหลังจากคุณติดตั้งโปรแกรมหรือไดรเวอร์ที่ไม่สมบูรณ์ลงไป สามารถแก้ไขได้โดยการถอดถอนโปรแกรมหรือไดรเวอร์ตัวดังกล่าวออกเสียก็เรียบ ร้อย

Error : UNMOUNTABLE_BOOT_VOLUME (Error Code : 0x000000ED)
เออเรอร์นี้หมายความว่าเคอร์แนลพยายามเข้าไปเมาท์บูตโวลุ่ม แต่ไม่สามารถทำได้ เออเรอร์นี้มักจะเกิดขึ้นเมื่ออัพเกรดไปสู่วินโดวส์ เอ็กซ์พีโปรเฟสชันแนลบนเครื่องพีซีที่ไม่คอมแพตทิเบิล หรืออาจเกิดจากปัญหาเกี่ยวกับสายเคเบิลก็เป็นไปได้
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
ถ้าคุณใช้ฮาร์ดดิสก์แบบ ATA66 ขึ้นให้ลองเปลี่ยนจากสายสัญญาณแบบ 40 พิณไปเป็นแบบ 80 พินอาจช่วยแก้ปัญหาได้นอกจากนี้ควรไปปรับค่าในไบออสของเมนบอร์ดให้ถูกต้อง ตรงกับชนิดของ ATA ที่ใช้ได้ด้วย
อีกวิธีหนึ่งที่ใช้แก้ปัญหาได้จริง คือ ให้ถอดถอนฮาร์ดดิสก์ตัวที่มีปัญหา นำไปต่อกับเครื่องพีซีที่ใช้วินโดวส์ เอ็กซ์พีรุ่นเดียวกันแล้วสั่งให้ Scandisk ด้วยเครื่องมือในไดรฟ์พรอเพอร์ตี้ จากนั้นนำ กลับมาต่อที่เครื่องเดิมก็สามารถใช้งานได้ตามปกติ

Error : KERNEL_DATA_INPAGE_ERROR (Error Code : 0x0000007A)
0x7A แสดงถึงข้อมูลของ kernel (page of kernel data) ไม่สามารถพบได้บนเวอร์ชวลเมโมรี ทำให้ไฟล์ไม่สามารถอ่านไปสู่หน่วยความจำได้หรืออาจจะเกิดจาการที่ดิสก์หรือ ไดรฟ์คอนโทรลเลอร์ หรือเฟิร์มแวร์ หรืออุปกรณ์อื่นๆ ใช้งานได้ไม่สมบูรณ์
โดยทั่วๆไปแล้ว เราจำแนกแยกแยะรายละเอียดของเออเรอร์นี้ได้จากตัวแปลที่สองของเออเรอร์โค้ดยกตัวอย่างเช่น
• 0xC000009A หรือ STATUS_INSUFFICIENT_RESOURCES หมายความว่า ค่าของ non paged pool ไม่เพียงพอกับความต้องการ
• 0xC000009C หรือ STATUS_DEVICE_DATA_ERROR หมายความว่า มีการเรียกใช้งาน Bad Block หรือ Bad Sectors บนฮาร์ดดิสก์
• 0x000009D หรือ STATUS_DEVICE_NOT_CONNECTED หมายความว่า อุปกรณ์บางตัวที่ต้องการเข้าถึงนั้น หายไปจากระบบ น่าจะเป็นได้ว่าไฟไม่เข้า หรือสายเคเบิลที่เอาไว่ต่อกับคอนโทรลเลอร์มีปัญหา (สายหลุดน่ะแหละ) ลองตรวจสอบตรงนี้ดูนะครับ
• 0xC000016A หรือ STATUS_DISK_OPERATION_FAILED หมายความว่า มีการเรียกใช้งาน Bad Block หรือ Bad Sectors บนฮาร์ดดิสก์
• 0xC0000185 or STATUS_IO_DEVICE_ERROR หมายถึง เกิดปัญหากับอุปกรณ์ I/O ควรตรวจสอบจุดต่างๆ เช่น หัวเชื่อมต่อสายเคเบิล หรือถ้าใช้การ์ดคอนโทรลเลอร์ลองทำความสะอาดแล้วเสียบใหม่ หรือเป็นไปได้
ว่ามีอุปกรณ์ 2 ชิ้นกำลังแย่งกันใช้ทรัพยากรเดียวกันภายในเครื่องอยู่ ให้ลองถอด ตัวใดตัวหนึ่งออกก่อน
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
0x7A ส่วนมากเกิดจากการไปใช้งานเวอร์ชันเมโมรีบนส่วนที่เป็นแบ็ดเซ็กเตอร์เข้าให้ หรืออาจจะเกิดจากความผิดพลาดของคอนโทรลเลอร์ หรือหน่วยความจำมีปัญหา ให้ลองแก้ไขโดยการรีบูตเครื่อง ถ้าคิดว่ามาจากปัญหาเรื่องเกี่ยวกับความเสียหายของฮาร์ดดิสก์ให้ลองใช้ โปรแกรม "Autochk" เพื่อตรวจสอบ และระบุแบ็ดเซ็กเตอร์
อีกกรณีหนึ่ง น่าจะมาจากการทำงานผิดพลาดหรือเกิดความเสียหายของหน่วยความจำที่มีอยู่ใน ระบบ ไม่ว่าจะเป็นหน่วยความจำหลัก L2 Cache หรือหน่วยความจำของการ์ดแสดงผล ให้ลองเปลี่ยนหรือถอดอุปกรณ์ที่น่าจะมีปัญหาออก แล้วลองหาซอฟต์แวร์ diagnostics ตรวจสอบอีกที
ให้ลองตรวจสอบผ่านทางเว็บไซต์หรือทางตัวแทนจำหน่าย เพื่ออัพเดตเฟิร์มแวร์หรือไดรเวอร์ของอุปกรณ์ประเภทดิสก์คอนโทรลเลอร์ ซึ่งน่าจะเพิ่มความคอมแพตทิเบิลได้ อีกทางหนึ่งให้ลองตรวจสอบกับคู่มือการตั้งค่าของอุปกรณ์ว่าตั้งค่าเหมาะสม หรือไม่ เช่น การตั้งค่า Transfer rate ของแรมที่ต่ำไปหรือสูงไปอาจจะมีผลกระทบกับระบบโดยรวมได้
อีกสาเหตุหนึ่งก็คือ อาจจะเกิดจากสิ่งสกปรกที่ติดอยู่ตามเมนบอร์ดและลายวงจร ให้ลองทำความสะอาดดูนะครับ อาจจะช่วยได้บ้าง

Error : STATUS_IMAGE_CHECKSUM_MISMATCH (Error : 0xC0000221)
เออเรอร์นี้บ่งบอกว่า ปัญหาอาจเกิดจากไดรเวอร์ ซิสเต็มส์ไฟล์ หรือ ดิสก์เกิดความผิดพลาด เช่น เกิดความเสียหายของเพจจิงไฟล์ หรือเกิดความผิดพลาดของหน่วยความจำ เป็นต้น
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
เริ่มต้นให้ใช้วิธีแก้แบบเดิมๆ คือ หากเกิดปัญหาหลังจากติดตั้งไดรเวอร์ใหม่เข้าไป ให้ลองยกเลิกหรือกลับไปใช้ไดรเวอร์ตัวเก่า คุณสามารถใช้เมนู Last known good cofiguration (กด F8 ก่อนเข้าวินโดวส์) เพื่อสั่งให้กลับมาสู่สภาวะปกติที่เคยใช้งานได้ หรือลองมองหาเซอร์วิสแพ็คหรือฮ็อตฟิกซ์จากเว็บไซต์ของไมโครซอฟท์มาติดตั้งดู

ถ้าเออเรอร์ได้บ่งบอกชื่อของไฟล์มาด้วยให้ลองก๊อบปี้ไฟล์ที่พึ่งได้มาใหม่ จากแผ่นติดตั้งวินโดวส์ เอ็กซ์พีทับแทนที่ไฟล์เดิมก็น่าจะแก้ปัญหานี้ได้

Error : DRIVER_UNLOAD_WITHOUT_ CANCELLING_PENDING_OPERATIONS (Error Code : 0x000000CE)
0xCE บ่งบอกถึงการที่ความผิดพลาดที่ยกเลิกการใช้งานไดรเวอร์ตัวนั้น
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
ปัญหานี้ไม่ค่อยหนักหนานักเนื่องจากมาเป็นเอาตอนที่จะเลิกใช้งานอยู่แล้ว ซึ่งเออเรอร์นี้หมายความว่าไดรเวอร์และโปรแกรมนั้นๆ อาจจะมีปัญหาแนะนำให้ถอนการติดตั้งไดรเวอร์หรือโปรแกรมนั้นออก แล้วรีบูตเครื่องใหม่อีกครั้ง

Error : DRIVER_IRQL_NOT_LESS_OR_EQUAL (Error Code : Stop 0x000000D1)
0xD1 บ่งบอกว่าระบบพยายามที่จะเข้าใช้งาน pageable memory ที่กำลังใช้งานด้วย kernel process ที่มี IRQL สูงมากเกินไป ทำให้ไดรเวอร์นั้นๆ ไม่สามารถใช้งานได้แบบปกติได้
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
0xD1 นั้นส่วนมากมาจากไดรเวอร์ที่ไม่ค่อยสมบูรณ์นัก วิธีแก้ก็ทำได้โดยหากเพิ่งติดตั้งดีไวซ์ไดรเวอร์ใหม่ลงไป แล้วทำให้เกิดปัญหา ก็ให้ถอดออกไดรเวอร์ตัวดังกล่าวออก แล้วกลับไปใช้ตัวที่คอมแพตทิเบิลจะดีกว่า

Error : ATTEMPTED_WRITE_TO_READONLY_MEMORY (Error Code : 0x000000BE)
0xBE บ่งบอกว่าไดรเวอร์บางตัว กำลังพยายามจะเขียนข้อมูลลงสู่หน่วยความจำที่อ่านได้อย่างเดียว ( ROM:Read-only Memory)
สาเหตุและหนทางแก้ปัญหาที่อาจเป็นไปได้
ปัญหานี้ส่วนมากเกิดมาจากไดรเวอร์หรือโปรแกรมที่ไม่สมบูรณ์ แก้ไขได้ตามรายละเอียดที่แก้ไขกันบ่อยๆ คือ ให้ ถอนการติดตั้งออก แล้วกลับไปใช้ไดรเวอร์ตัวเก่า ในกรณีที่เป็นโปรแกรมหากต้องการใช้งานจริงๆ อาจต้องติดต่อกลับไปยังผู้พัฒนา เพื่อขอวิธีแก้ไขจากผู้พัฒนาโดยตรงอีกที