Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาด Windows

Hal.dll และ Ntoskrnl.exe: ทำไมถึงก่อให้เกิด BSOD และวิธีแก้ไข

Blue Screen of Death (BSOD) เป็นสิ่งที่ไม่มีผู้ใช้คอมพิวเตอร์คนใดปรารถนาจะพบเจอ นี่เป็นปัญหาที่ละเอียดอ่อนที่สามารถถูกกระตุ้นโดยสาเหตุหลากหลาย มันเพิ่งพัฒนามาตลอดหลายปี หากคุณกำลังเผชิญกับปัญหาเดียวกันและสงสัยว่า hal.dll และ ntoskrnl.exe เป็นสาเหตุหลัก บทความนี้จะช่วยคุณแก้ไขปัญหา

ก่อนที่จะแชร์วิธีแก้ไข 最好ที่จะเข้าใจฟังก์ชันการทำงานของไฟล์สองประเภทนี้และวิธีที่พวกเขาสามารถนำไปสู่ BSODs

Hal.dll คืออะไร?

Hardware Abstraction Layer ทำหน้าที่เป็นช่องกลางสำหรับ kernel และ raw metal มันเป็น abstract core kernel driver ซึ่งอนุญาตให้ระบบที่รันบน Windows OS เข้ากันได้กับ CPU Intel และ AMD ถ้าไม่มีประเภทไฟล์นี้ ระบบจะไม่สามารถเชื่อมต่อกับชิปเซ็ตเมนบอร์ดต่างๆ ได้ วิธีเดียวที่ระบบจะทำงานได้โดยไม่มี hal.dll คือถ้าระบบปฏิบัติการถูกตัดเย็บเฉพาะสำหรับผู้ผลิตและรุ่นเมนบอร์ดนั้นๆ

Hal.dll สำคัญในระหว่างกระบวนการบูทของระบบ ไม่ว่าจะเป็น Windows เวอร์ชันใดก็ตาม มันทำหน้าที่เป็น kernel ระหว่างฮาร์ดแวร์และซอฟต์แวร์ ทุกครั้งที่ไฟล์นี้ถูกใช้งาน แอปพลิเคชันจะสื่อสารกับฮาร์ดแวร์ระบบผ่าน proxy layer ที่เสนอโดยสภาพแวดล้อม HAL

เคล็ดลับโปร: เรียกใช้เครื่องมือเพิ่มประสิทธิภาพ PC เฉพาะทางเพื่อกำจัดการตั้งค่าผิดปกติ ไฟล์ขยะ แอปที่เป็นอันตราย และภัยคุกคามด้านความปลอดภัยที่อาจทำให้เกิดปัญหาระบบหรือประสิทธิภาพช้า

สแกนฟรีสำหรับปัญหา PC 3.145.873 ครั้งที่ดาวน์โหลด รองรับ: Windows 10/11, Windows 7, Windows 8

Ntoskrnl.exe คืออะไร?

Ntoskrnl.exe คล้ายกับ hal.dll ในที่ที่มันก็ให้ kernel layers สำหรับบริการหลายอย่าง รวมถึง hardware abstraction และ memory management จริงๆ แล้ว มันเป็นส่วนสำคัญของคอมพิวเตอร์ Ntoskrnl.exe มีคุณสมบัติ kernel, executive, cache manager, dispatcher, และ memory manager

วิธีแก้ไข BSOD ที่เกิดจาก Hal.dll และ Ntoskrnl.exe

เนื่องจากทั้งสองไฟล์นี้เป็นพื้นฐานของฟังก์ชันการทำงานของ Windows OS ความไม่สอดคล้องใดๆ ระหว่างพวกเขาอาจทำให้คอมพิวเตอร์ของคุณแครชหรือแสดง BSOD สาเหตุข้อผิดพลาด Hal.dll และ ntoskrnl.exe แตกต่างกันไป เนื่องจากอาจเกี่ยวข้องกับปัญหาซอฟต์แวร์หรือฮาร์ดแวร์ ในกรณีส่วนใหญ่ ผู้กระทำผิดที่เป็นไปได้ที่อาจนำไปสู่ hal.dll และ ntosknrl.exe ก่อให้เกิด BSOD รวมถึง:

  1. ไดรเวอร์อุปกรณ์ที่ล้าสมัย
  2. อุปกรณ์ RAM ที่ทำงานผิดปกติ
  3. อุปกรณ์จัดเก็บหรือ RAM ไม่เพียงพอ
  4. อุปกรณ์ที่ถูกออเวอร์คล็อก
  5. ไฟล์ระบบที่เสียหายหรือหายไปที่เกี่ยวข้องกับ hal.dll และ ntosknrl.exe

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

คุณสามารถพยายามแก้ไขปัญหานี้โดยการใช้ทริกเหล่านี้:

วิธีแก้ไข #1: ตรวจสอบลำดับบูท BIOS

หากไดรฟ์หลักที่ไฟล์ OS ของคุณจัดเก็บไว้ไม่ได้ตั้งค่าเป็น preferred boot drive คุณมีแนวโน้มที่จะพบ BSOD ที่เกิดจาก hal.dll และ ntoskrnl.exe ตอนนี้ เพื่อแก้ไขปัญหานี้ คุณต้องบูทระบบโดยใช้ไฟล์ ISO ซ่อมแซม Windows 10/11 รูปภาพสามารถสร้างได้โดยใช้คอมพิวเตอร์อื่นไปยัง USB หรือพอร์ตเบิลไดรฟ์ที่มีความจุไม่น้อยกว่า 8 GB เมื่อคุณสร้าง Disc image สำหรับ Windows 10/11 แล้ว ให้เสียบ USB drive เข้าไปใน PC ที่ได้รับผลกระทบและทำตามคำแนะนำด้านล่าง:

  1. ระหว่างบูท ให้กด F2, Delete, หรือปุ่มอื่นๆ ที่จำเป็นเพื่อนำคุณไปยังหน้าต่าง BIOS
  2. ในหน้าต่าง BIOS ให้ค้นหาแท็บ Boot และตรวจสอบว่าลำดับบูทถูกต้องหรือไม่ หากไม่ ให้ใช้ปุ่มลูกศรขึ้นและลงเพื่อเลือกไดรฟ์หลักของคุณ และปุ่ม + หรือ – เพื่อวางไดรฟ์ที่เลือกไว้ในลำดับแรก
  3. เมื่อเสร็จแล้ว ให้กดปุ่ม F10 เพื่อ Save และ Exit หน้าต่าง

วิธีแก้ไข #2: รัน Surface Test

แม้สถานการณ์ของไดรฟ์จัดเก็บที่ผิดปกติจะนำไปสู่ปัญหา hal.dll และ ntoskrnl.exe แต่มันยังคงเกิดขึ้นได้ เพื่อค้นหาว่าฮาร์ดไดรฟ์ของคุณมี bad sectors หรือไม่ คุณต้องใช้เครื่องมือ disk defragmenter เพื่อตรวจสอบสุขภาพของดิสก์ ปรับปรุงประสิทธิภาพดิสก์ และ defrag ไฟล์

วิธีแก้ไข #3: ดำเนินการ Volume Boot Code (VBC) Update

หาก VBC ล้าสมัยหรือเสียหาย โอกาสในการพบ hal.dll จะสูง ในสถานการณ์เช่นนี้ คุณควรอัปเดต VBC เพื่อใช้ BOOTMGR VBC สามารถอัปเดตได้ผ่าน Command Prompt โดยทำตามคำแนะนำด้านล่าง:

  1. เข้าถึง Command Prompt โดยพิมพ์ "cmd" (ไม่ต้องมีเครื่องหมายคำพูด) ในช่องค้นหา คลิกขวาที่ผลลัพธ์และเลือก Run as Administrator
  2. แทรกคำสั่งต่อไปนี้และกด Enter
    bootsect /nt60 sys
  3. โปรแกรมจะเริ่มอัปเดต VBC บนไดรฟ์ที่ใช้บูท Windows OS
  4. รีบูทระบบเมื่อเสร็จสิ้น เพื่อให้การเปลี่ยนแปลงมีผล และตรวจสอบว่าปัญหายังคงอยู่หรือไม่

วิธีแก้ไข #4: รัน SFC และ DISM Scans

หากไฟล์ใดๆ ที่เกี่ยวข้องกับ hal.dll และ ntoskrnl.exe เสียหาย คุณมีแนวโน้มที่จะเผชิญปัญหา BSOD เนื่องจากทั้งสองไฟล์นี้เป็นสิ่งจำเป็นและอยู่ภายใต้ไฟล์ระบบ หากเสียหาย โปรแกรมใดๆ ที่พึ่งพาพวกเขาอาจล้มเหลวในการเปิดหรือทำงานอย่างถูกต้อง ในสถานการณ์นี้ หากไฟล์ hal.dll หรือ ntoskrnl.exe ไหนถูกทำลายหรือหายไป ระบบมีแนวโน้มที่จะแสดง BSOD

ไฟล์ระบบอาจเสียหายหากถูกแก้ไขโดยคนที่ไม่มีความรู้ลึก โปรแกรมมัลิเชียสก็สามารถแก้ไขไฟล์ระบบ ทำให้เข้าถึงไม่ได้ ดังนั้น หากคุณไม่แน่ใจว่าสาเหตุอะไรทำให้ไฟล์ระบบเสียหายหรือหายไป เราแนะนำให้รันเครื่องมือความปลอดภัย anti-malware ที่แข็งแกร่งเพื่อตรวจจับและกำจัดมัลแวร์ใดๆ หลังจากนั้น คุณอาจดำเนินการรัน SFC และ DISM scans เพื่อแทนที่ไฟล์ระบบที่เสียหายหรือหายไป

เพื่อรันการสแกน ให้ทำตามขั้นตอนด้านล่าง:

  1. กดปุ่ม Windows + R พร้อมกันเพื่อเปิดหน้าต่าง Run พิมพ์ "cmd" (ไม่ต้องมีเครื่องหมายคำพูด) ในช่องค้นหาก่อนกด Ctrl + Shift + Enter พร้อมกันเพื่อเปิด Command Prompt ที่มีสิทธิ์สูง (elevated) หากมีพรอมขออนุญาต ให้คลิก Yes เพื่อดำเนินการต่อ
  2. บน Command Prompt ที่มีสิทธิ์สูง ใส่คำสั่งต่อไปนี้ก่อนกดปุ่ม Enter
    sfc /scannow
  3. เมื่อ SFC scan เสร็จสิ้น ปิดหน้าต่างและรีบูทระบบ ตรวจสอบว่าปัญหายังไม่ได้รับการแก้ไขโดยการดำเนินการเดียวกันที่เคยกระตุ้นมันมาก่อน
  4. หากปัญหายังคงอยู่ ให้รัน DISM scan โดยทำตามขั้นตอนที่ 1 เพื่อเปิด Command Prompt ที่มีสิทธิ์สูง
  5. ภายใน Command Prompt ที่มีสิทธิ์สูง ใส่คำสั่งต่อไปนี้ก่อนกด Enter:
    DISM /Online /Cleanup-Image /RestoreHealth
    โปรดทราบว่า DISM scan ต้องการการเชื่อมต่ออินเทอร์เน็ตที่เสถียร และอาจล้มเหลวในการเสร็จสิ้นหากการเชื่อมต่อของคุณไม่เสถียร
  6. รอจนกว่าขั้นตอนจะเสร็จสิ้นก่อนรีสตาร์ทระบบของคุณ

ไม่มีวิธีแก้ไขเดียวที่แก้ไขทุกอย่างเมื่อพูดถึง BSOD ที่เกิดจาก hal.dll หรือ ntoskrnl.exe ดังนั้น หากไม่แน่ใจถึงสาเหตุของ BSOD ของระบบคุณที่เกี่ยวข้องกับไฟล์ hal.dll หรือ ntoskrnl.exe เราแนะนำให้ทำตามวิธีแก้ไขที่ให้ไว้ข้างต้นตามลำดับเวลาเพื่อให้ได้ประสิทธิภาพและประสิทธิผล