Nếu Oracle VM VirtualBox không khởi động được máy ảo và hiển thị “NtCreateFile(\Device\VBoxDrvStub) failed:STATUS_OBJECT_NAME_NOT_FOUND (0xc0000034)” , nó thường có nghĩa là trình điều khiển hạt nhân của VirtualBox (ví dụ:VBoxDrv hoặc VBoxSup ) đang thiếu , bị chặn , hoặc không tải . Nếu không có trình điều khiển này, VirtualBox không thể tạo giao diện thiết bị mà nó mong đợi (VBoxDrvStub đường dẫn thiết bị), do đó VM hủy bỏ khi khởi chạy.
Điều này thường xảy ra sau khi cập nhật VirtualBox, cài đặt chưa hoàn tất, cài đặt trình điều khiển chặn bảo mật Windows hoặc khi Hyper-V / VBS (Bảo mật dựa trên ảo hóa) thay đổi cách xử lý ảo hóa và trình điều khiển trên hệ thống.
Tùy thuộc vào phiên bản VirtualBox và thiết lập Windows của bạn, VirtualBox có thể không tải được trình điều khiển ở dạng gốc của nó chế độ hoặc chỉ chạy qua Hyper-V (điều này có thể ảnh hưởng đến khả năng tương thích/hiệu suất).
Trước khi bắt đầu, hãy Khởi động lại một lần (không phải Tắt máy). Trên nhiều PC, Tắt sử dụng Khởi động nhanh và có thể không tải lại đầy đủ trình điều khiển trong khi Khởi động lại buộc phải tải lại đầy đủ trình điều khiển.
1. Bắt đầu/Khởi động lại Dịch vụ trình điều khiển VirtualBox (VBoxDrv / VBoxSup)
Nếu trình điều khiển được cài đặt nhưng không chạy, việc khởi động dịch vụ có thể khắc phục lỗi ngay lập tức. Điều này chỉ hoạt động nếu trình điều khiển/dịch vụ đã tồn tại.
- Tìm kiếm Dấu nhắc lệnh trong Windows Search.
- Nhấp chuột phải vào nó và chọn Chạy với tư cách quản trị viên .
- Trước tiên, hãy xác định tên dịch vụ trình điều khiển VirtualBox nào tồn tại trên hệ thống của bạn:
sc query type= driver | findstr /i vbox
- Bắt đầu dịch vụ trình điều khiển bạn tìm thấy (ví dụ):
net start vboxdrv
Nếu điều đó cho biết tên dịch vụ không hợp lệ , thử:
net start vboxsup
Thành công trông giống như: “Dịch vụ đã được bắt đầu thành công.”
- Khởi động lại PC của bạn và khởi chạy lại VirtualBox.
Nếu bạn gặp lỗi như “tên dịch vụ không hợp lệ” / “không thể tìm thấy”, trình điều khiển có thể bị thiếu hoặc không được đăng ký chính xác. Chuyển sang phương pháp tiếp theo.
Xác minh (sử dụng tên dịch vụ chính xác mà bạn có):
sc query vboxdrv
Nếu hệ thống của bạn sử dụng vboxsup thay vào đó hãy chạy:
sc query vboxsup
Kết quả mong đợi: tìm kiếm STATE :4 ĐANG CHẠY .
2. Cài đặt thủ công Trình điều khiển VirtualBox (.inf)
Các hạn chế về chính sách hoặc bảo mật của Windows có thể ngăn VirtualBox cài đặt trình điều khiển trong quá trình thiết lập. Cài đặt trình điều khiển .inf theo cách thủ công đăng ký nó đúng cách. Vì các phiên bản VirtualBox khác nhau nên hãy cài đặt .inf phù hợp với dịch vụ bạn muốn bắt đầu:
- Nếu vboxdrv bị thiếu/không khởi động: sử dụng vboxdrv thư mục và cài đặt VBoxDrv.inf .
- Nếu vboxsup bị thiếu/không khởi động: sử dụng vboxsup thư mục và cài đặt VBoxSup.inf .
- Mở File Explorer và đi tới một trong các thư mục sau (bất kỳ thư mục nào tồn tại trên hệ thống của bạn):
C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv C:\Program Files\Oracle\VirtualBox\drivers\vboxsup
- Tìm tệp kết thúc bằng .inf (ví dụ:VBoxDrv.inf hoặc VBoxSup.inf ).
- Nhấp chuột phải vào .inf tệp và chọn Cài đặt .Lưu ý: Nếu bạn không thấy phần mở rộng của tệp, hãy mở Xem và bật Phần mở rộng tên tệp hoặc kiểm tra thuộc tính của từng tệp.
Nếu “Cài đặt” không có sẵn , chuyển sang Phương pháp 4 và thực hiện cài đặt lại Repair/Clean (chạy trình cài đặt với tư cách quản trị viên).
- Khởi động lại PC của bạn sau khi quá trình cài đặt hoàn tất.
- Sau khi khởi động lại, hãy mở Dấu nhắc lệnh với tư cách quản trị viên và bắt đầu dịch vụ phù hợp (sử dụng tên bạn thực sự có):
sc start vboxdrv
Hoặc nếu hệ thống của bạn sử dụng VBoxSup:
sc start vboxsup
Thành công trông giống như: “TRẠNG THÁI :4 ĐANG CHẠY” khi bạn chạy
sc query <service-name>. - Khởi chạy VirtualBox và khởi động lại VM của bạn.
Nếu bạn vẫn thấy lỗi tương tự , tiếp tục bên dưới. Bạn có thể gặp phải xung đột ảo hóa/bảo mật (Hyper-V/VBS/Tính toàn vẹn bộ nhớ) hoặc cài đặt bị hỏng.
3. Tắt tính năng Hyper-V và ảo hóa (bước chẩn đoán)
Trên một số hệ thống, Hyper-V và VBS có thể ngăn VirtualBox tải trình điều khiển ở chế độ gốc hoặc thay đổi cách VirtualBox có thể truy cập ảo hóa phần cứng. Tắt các tính năng này là một cách hay để xác nhận xem sự cố có phải là xung đột bảo mật/ảo hóa hay không.
Lưu ý: Việc tắt các tính năng này có thể ảnh hưởng đến WSL2 , Máy tính để bàn Docker , Hộp cát Windows và một số trình giả lập. Bạn có thể kích hoạt lại chúng sau khi thử nghiệm.
- Tìm kiếm Bật hoặc tắt các tính năng của Windows trong Windows Search và mở nó.
- Tìm Hyper-V và bỏ chọn nó.
- Đồng thời bỏ chọn những tùy chọn này nếu chúng được bật:
- Nền tảng Windows Hypervisor
- Nền tảng máy ảo
- Hộp cát Windows (nếu có)
- Nhấp vào OK và khởi động lại PC của bạn.
- Khởi chạy VirtualBox và kiểm tra VM.
Tùy chọn nhưng quan trọng: Ngay cả khi Hyper-V tắt, Windows vẫn có thể sử dụng ảo hóa thông qua VBS / Tính toàn vẹn bộ nhớ . Để kiểm tra, hãy tắt Tính toàn vẹn của bộ nhớ từ:Bảo mật Windows> Bảo mật thiết bị> Cách ly lõi , sau đó khởi động lại và kiểm tra lại.
Mẹo: Nếu Windows chặn trình điều khiển, hãy kiểm tra Bảo mật Windows> Lịch sử bảo vệ cho các sự kiện đề cập đến
Hộp ảo , VBoxDrv.sys , VBoxSup.sys hoặc “trình điều khiển bị chặn.” Nếu Cho phép hoặc Khôi phục tùy chọn có sẵn, hãy áp dụng nó, sau đó cài đặt lại/sửa chữa VirtualBox.
4. Sửa chữa hoặc làm sạch Cài đặt lại VirtualBox
Nếu tệp trình điều khiển bị hỏng, không khớp hoặc bị xóa một phần, việc cài đặt lại sẽ đảm bảo cài đặt và đăng ký lại đúng trình điều khiển và dịch vụ.
Nếu bạn đã có trình cài đặt, hãy thử Sửa chữa đầu tiên (nếu được cung cấp). Nếu không, hãy cài đặt lại sạch sẽ.
- Gỡ cài đặt Oracle VM VirtualBox từ:
Cài đặt> Ứng dụng> Ứng dụng đã cài đặt (hoặc Ứng dụng và tính năng). - Khởi động lại PC của bạn sau khi gỡ cài đặt.
- Dọn dẹp tùy chọn (chỉ khi phần còn sót lại sau khi gỡ cài đặt):
mở File Explorer và truy cập:C:\Windows\System32\drivers
- Tìm các tệp còn sót lại có tên như VBox*.sys (ví dụ:VBoxDrv.sys, VBoxSup.sys).Quan trọng: Chỉ xóa VBox*.sys các tệp nếu VirtualBox được gỡ cài đặt hoàn toàn và bạn có thể xác định rõ ràng chúng là phần còn lại của VirtualBox.
- Xóa những VBox*.sys còn sót lại tập tin nếu chúng tồn tại. Nếu Windows không cho phép bạn xóa chúng, đừng ép buộc—hãy tiếp tục cài đặt lại.
- Tải xuống và cài đặt phiên bản VirtualBox mới nhất, sau đó khởi động lại PC của bạn.Mẹo: Nhấp chuột phải vào trình cài đặt và chọn Chạy với tư cách quản trị viên để đảm bảo trình điều khiển được cài đặt chính xác.
- Nếu bạn sử dụng Gói mở rộng VirtualBox (USB 2/3, RDP, v.v.), cài đặt phiên bản phù hợp cho bản dựng VirtualBox của bạn.
- Khởi chạy VirtualBox và khởi động lại VM.
GIỚI THIỆU TÁC GIẢ
Hamza Mohammad Anwar
Hamza Mohammad Anwar là nhà phát triển web JavaScript trình độ trung cấp, tập trung phát triển các ứng dụng hiệu suất cao sử dụng công nghệ MERN. Bộ kỹ năng của anh ấy bao gồm chuyên môn về ReactJS, MongoDB, Express NodeJS và các công nghệ liên quan khác. Hamza cũng là chuyên gia được Google CNTT chứng nhận, điều này nêu bật năng lực của anh trong lĩnh vực hỗ trợ CNTT. Là một người nhiệt tình giải quyết vấn đề, anh ấy tạo lại các lỗi trên máy tính của mình để khắc phục sự cố và tìm giải pháp cho các vấn đề kỹ thuật khác nhau.