แก้ไข: VirtualBox “NtCreateFile(\Device\VBoxDrvStub) STATUS_OBJECT_NAME_NOT_FOUND

/th/images/error-vbox.png

หาก Oracle VM VirtualBox ไม่สามารถเริ่มเครื่องเสมือนและแสดง “NtCreateFile(\Device\VBoxDrvStub) failed: STATUS_OBJECT_NAME_NOT_FOUND (0xc0000034)” โดยทั่วไปจะหมายถึงไดรเวอร์เคอร์เนลของ VirtualBox (เช่น VBoxDrv หรือ VBoxSup ) หายไป ถูกบล็อก หรือไม่ได้โหลด หากไม่มีไดรเวอร์นี้ VirtualBox จะไม่สามารถสร้างอินเทอร์เฟซอุปกรณ์ตามที่คาดหวังได้ (เส้นทางอุปกรณ์ VBoxDrvStub) ดังนั้น VM จึงยกเลิกเมื่อเปิดใช้งาน

/th/images/error-vbox.png

สิ่งนี้มักเกิดขึ้นหลังจากการอัพเดต VirtualBox, การติดตั้งที่ไม่สมบูรณ์, การติดตั้งไดรเวอร์ที่บล็อกการรักษาความปลอดภัยของ Windows หรือเมื่อ Hyper-V/ VBS (Virtualization-Based Security) เปลี่ยนวิธีการจัดการการจำลองเสมือนและไดรเวอร์บนระบบ

ขึ้นอยู่กับเวอร์ชัน VirtualBox และการตั้งค่า Windows ของคุณ VirtualBox อาจล้มเหลวในการโหลดไดรเวอร์ในโหมดดั้งเดิมหรือทำงานผ่าน Hyper-V เท่านั้น (ซึ่งอาจส่งผลต่อความเข้ากันได้/ประสิทธิภาพ)

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

1. เริ่ม / รีสตาร์ทบริการไดรเวอร์ VirtualBox (VBoxDrv/VBoxSup)

หากมีการติดตั้งไดรเวอร์ไว้แต่ไม่ทำงาน การเริ่มบริการสามารถแก้ไขข้อผิดพลาดได้ทันที ใช้งานได้เฉพาะเมื่อมีไดรเวอร์/บริการอยู่แล้ว

  1. ค้นหาพร้อมรับคำสั่งใน Windows Search

  2. คลิกขวาแล้วเลือก Run as administrator

  3. ขั้นแรก ระบุว่าชื่อบริการไดรเวอร์ VirtualBox ใดที่มีอยู่ในระบบของคุณ:


sc query type= driver | findstr /i vbox

  1. เริ่มบริการไดรเวอร์ที่คุณพบ (ตัวอย่าง):

net start vboxdrv

หากระบุว่าชื่อบริการไม่ถูกต้อง ให้ลอง:


net start vboxsup

/th/images/net-start-vboxsup.png

ความสำเร็จดูเหมือนว่า: “บริการเริ่มต้นเรียบร้อยแล้ว”

  1. รีสตาร์ทพีซีของคุณแล้วเปิด VirtualBox อีกครั้ง

หากคุณได้รับข้อผิดพลาด เช่น “ชื่อบริการไม่ถูกต้อง”/ “ไม่พบ” ไดรเวอร์อาจหายไปหรือลงทะเบียนไม่ถูกต้อง ย้ายไปยังวิธีถัดไป

ตรวจสอบ (ใช้ชื่อบริการที่ตรงกับที่คุณมี):


sc query vboxdrv

หากระบบของคุณใช้ vboxsup แทน ให้รัน:


sc query vboxsup

ผลลัพธ์ที่ควรได้รับ: มองหา STATE: 4 RUNNING

2. ติดตั้งไดรเวอร์ VirtualBox (.inf) ด้วยตนเอง

ข้อจำกัดด้านความปลอดภัยหรือนโยบายของ Windows สามารถป้องกันไม่ให้ VirtualBox ติดตั้งไดรเวอร์ระหว่างการตั้งค่า การติดตั้ง driver.inf ด้วยตนเองจะเป็นการลงทะเบียนอย่างถูกต้อง เนื่องจากเวอร์ชันของ VirtualBox แตกต่างกัน ให้ติดตั้ง the.inf ที่ตรงกับบริการที่คุณต้องการเริ่ม:

  • หาก vboxdrv หายไป/ไม่เริ่มทำงาน: ใช้โฟลเดอร์ vboxdrv และติดตั้ง VBoxDrv.inf

  • หาก vboxsup หายไป/ไม่เริ่มทำงาน: ใช้โฟลเดอร์ vboxsup และติดตั้ง VBoxSup.inf

  1. เปิด File Explorer และไปที่โฟลเดอร์ใดโฟลเดอร์หนึ่งเหล่านี้ (แล้วแต่ว่ามีอยู่ในระบบของคุณ):

C:\Program Files\Oracle\VirtualBox\drivers\vboxdrvC:\Program Files\Oracle\VirtualBox\drivers\vboxsup

  1. ค้นหาไฟล์ที่ลงท้ายด้วย.inf (เช่น VBoxDrv.inf หรือ VBoxSup.inf )

  2. คลิกขวาที่ไฟล์.inf และเลือกติดตั้ง หมายเหตุ: หากคุณไม่เห็นนามสกุลไฟล์ ให้เปิด View และเปิดใช้งาน File name extensions หรือตรวจสอบคุณสมบัติของแต่ละไฟล์

/th/images/vbox.inf-installation-1.png

หากไม่มี “ติดตั้ง” ให้ข้ามไปที่วิธีที่ 4 และทำการติดตั้งซ่อมแซม/ล้างใหม่ (เรียกใช้โปรแกรมติดตั้งในฐานะผู้ดูแลระบบ)

  1. รีสตาร์ทพีซีของคุณหลังจากการติดตั้งเสร็จสิ้น

  2. หลังจากรีบูตให้เปิด Command Prompt ในฐานะผู้ดูแลระบบและเริ่มบริการที่ตรงกัน (ใช้ชื่อที่คุณมีจริง):


sc start vboxdrv

หรือหากระบบของคุณใช้ VBoxSup:


sc start vboxsup

/th/images/sc-start-vbox.png

ความสำเร็จดูเหมือนว่า: “สถานะ: 4 กำลังทำงาน” เมื่อคุณเรียกใช้ sc query

  1. เปิด VirtualBox และเริ่ม VM ของคุณอีกครั้ง

หากคุณยังคงเห็นข้อผิดพลาดเดิม ให้ดำเนินการต่อด้านล่าง คุณอาจมีข้อขัดแย้งในการจำลองเสมือน/ความปลอดภัย (Hyper-V/VBS/Memory Integrity) หรือการติดตั้งใช้งานไม่ได้

3. ปิดการใช้งานคุณสมบัติ Hyper-V และการจำลองเสมือน (ขั้นตอนการวินิจฉัย)

ในบางระบบ Hyper-V และ VBS สามารถป้องกันไม่ให้ VirtualBox โหลดไดรเวอร์ในโหมดเนทีฟหรือเปลี่ยนวิธีที่ VirtualBox สามารถเข้าถึงการจำลองเสมือนสำหรับฮาร์ดแวร์ การปิดใช้งานคุณลักษณะเหล่านี้เป็นวิธีที่ดีในการยืนยันว่าปัญหาคือความขัดแย้งด้านการจำลองเสมือน/ความปลอดภัยหรือไม่

หมายเหตุ: การปิดใช้งานคุณสมบัติเหล่านี้อาจส่งผลต่อ WSL2 , Docker Desktop , Windows Sandbox และโปรแกรมจำลองบางตัว คุณสามารถเปิดใช้งานได้อีกครั้งหลังการทดสอบ

  1. ค้นหา เปิดหรือปิดคุณสมบัติ Windows ใน Windows Search แล้วเปิดขึ้นมา

/th/images/windows-features.png

  1. ค้นหา Hyper-V และยกเลิกการเลือก

  2. ยกเลิกการเลือกสิ่งเหล่านี้ด้วยหากเปิดใช้งานอยู่:

  • แพลตฟอร์ม Windows ไฮเปอร์ไวเซอร์

  • แพลตฟอร์มเครื่องเสมือน

  • Windows Sandbox (ถ้ามี)

  1. คลิกตกลงแล้วรีสตาร์ทพีซีของคุณ

/th/images/hyper-v-uncheck.png

  1. เปิด VirtualBox และทดสอบ VM

ทางเลือกแต่สำคัญ: แม้ว่า Hyper-V จะปิดอยู่ แต่ Windows อาจยังคงใช้การจำลองเสมือนผ่าน VBS/ Memory Integrity หากต้องการทดสอบ ให้ปิด Memory Integrity จาก: ความปลอดภัยของ Windows > ความปลอดภัยของอุปกรณ์ > การแยกคอร์ จากนั้นรีสตาร์ทและทดสอบอีกครั้ง

4. ซ่อมแซมหรือล้างการติดตั้ง VirtualBox ใหม่

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

หากคุณมีโปรแกรมติดตั้งอยู่แล้ว ให้ลองซ่อมแซมก่อน (ถ้ามี) ถ้าไม่เช่นนั้น ให้ทำการติดตั้งใหม่ทั้งหมด

  1. ถอนการติดตั้ง Oracle VM VirtualBox จาก:

การตั้งค่า > แอพ > แอพที่ติดตั้ง (หรือ แอพและคุณสมบัติ)

  1. รีสตาร์ทพีซีของคุณหลังจากถอนการติดตั้ง

  2. การล้างข้อมูลเสริม (เฉพาะในกรณีที่ยังมีสิ่งเหลืออยู่หลังจากถอนการติดตั้ง):

เปิด File Explorer แล้วไปที่:


C:\Windows\System32\drivers

  1. ค้นหาไฟล์ที่เหลือชื่อเช่น VBox*.sys (เช่น VBoxDrv.sys, VBoxSup.sys) สิ่งสำคัญ: ลบเฉพาะไฟล์ VBox*.sys หาก VirtualBox ถูกถอนการติดตั้งโดยสมบูรณ์ และคุณสามารถระบุได้อย่างชัดเจนว่าเป็นไฟล์ที่เหลือของ VirtualBox

  2. ลบไฟล์ VBox*.sys ที่เหลือหากมีอยู่ หาก Windows ไม่ยอมให้คุณลบออก อย่าบังคับ ให้ติดตั้งใหม่ต่อ

/th/images/vbox.sys-uninstall.png

  1. ดาวน์โหลดและติดตั้ง VirtualBox เวอร์ชันล่าสุด จากนั้นรีสตาร์ทพีซีของคุณ เคล็ดลับ: คลิกขวาที่ตัวติดตั้งแล้วเลือกเรียกใช้ในฐานะผู้ดูแลระบบเพื่อให้แน่ใจว่าไดรเวอร์ติดตั้งอย่างถูกต้อง

  2. หากคุณใช้ VirtualBox Extension Pack (USB 2/3, RDP ฯลฯ) ให้ติดตั้งเวอร์ชันที่ตรงกันสำหรับบิลด์ VirtualBox ของคุณ

  3. เรียกใช้ VirtualBox และเริ่ม VM อีกครั้ง

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