Computer >> Máy Tính >  >> Phần mềm >> Máy ảo

VirtualBox &lỗi NS_ERROR_FAILURE

Gần đây, trên một trong các hệ thống của tôi, VirtualBox đã ngừng hoạt động. Bất kể máy ảo nào tôi đã cố khởi chạy, nó sẽ gây ra lỗi tương tự. Cửa sổ bật lên sẽ có nội dung:Không thể mở phiên cho máy ảo [Dù tên là gì]. Trong hộp chi tiết, nó sẽ ghi:NS_ERROR_FAILURE (0x80004005).

Kỳ dị. Thông điệp khó hiểu và chung chung, và không thực sự cho bạn manh mối về việc có thể sai ngay lập tức. Chà, tôi bắt đầu khắc phục sự cố và sau một số lần thử và sai, hướng dẫn nhỏ này đã ra đời. Bây giờ, rất có thể, nó sẽ không giải quyết được TẤT CẢ các vấn đề của bạn (với cùng một mã lỗi), nhưng bạn có thể nhận được hướng dẫn vừa đủ để tìm ra điều gì trong hệ thống cụ thể của mình không hoạt động. Đi theo tôi.

VirtualBox &lỗi NS_ERROR_FAILURE

Vấn đề chi tiết hơn

Vì thông báo bật lên không cho tôi biết nhiều, nên tôi phải xem nhật ký hệ thống. Ở đây, tôi tìm thấy một thông tin hữu ích hơn nhiều. Cụ thể, có vẻ như trình điều khiển đồ họa VirtualBox VMSVGA đã gặp sự cố và lỗi chỉ vào thư viện dùng chung libX11.

Ngày 3 tháng 2 12:21:09 kernel:[] VMSVGA FIFO[11413]:segfault tại f8 ip 00007fcf4df5ada4 sp 00007fced9329c40 lỗi 4 trong libX11.so.6.3.0[7fcf4df40000+133000]

Tại thời điểm này, tôi đoán rằng có điều gì đó không ổn với phiên bản VirtualBox của tôi. Vì vậy, tôi quyết định thực hiện từng bước một, một cách có phương pháp. Đầu tiên, xây dựng lại các mô-đun VirtualBox bằng vboxconfig. Thao tác này cũng khởi động lại dịch vụ.

sudo vboxconfig
vboxdrv.sh:Ngừng dịch vụ VirtualBox.
vboxdrv.sh:Bắt đầu dịch vụ VirtualBox.
vboxdrv.sh:Xây dựng các mô-đun nhân VirtualBox.

Tuy nhiên, điều này đã không làm giảm bớt vấn đề ngay lập tức. Sau đó, tôi cố gắng suy nghĩ thêm một chút. Thành phần nào khác của VirtualBox có thể có lỗi, nhưng không nhất thiết phải nằm trong quy trình thiết lập vboxconfig. Và tôi nghĩ, Gói tiện ích mở rộng VirtualBox?

Tôi đã xem xét những gì tôi đã cài đặt trên hệ thống bị ảnh hưởng của mình và nhận thấy rằng VirtualBox và gói Tiện ích mở rộng của tôi có các phiên bản khác nhau. Đây không phải là điều tốt và có thể dẫn đến hành vi không mong muốn mà dường như đã xảy ra trên hệ thống của tôi. Trong Linux, vấn đề trở nên trầm trọng hơn khi khởi chạy, VirtualBox sẽ kiểm tra các bản cập nhật cho gói Tiện ích mở rộng và cho phép bạn cài đặt nó, trong khi bản thân chương trình cốt lõi lại dựa vào bản cập nhật hệ thống. Nếu hai điều này không xảy ra theo trình tự, hệ thống mở rộng trước, mở rộng hệ thống sau, thì bạn có thể rơi vào tình huống máy ảo của bạn không thể chạy, như trên.

VirtualBox &lỗi NS_ERROR_FAILURE

VirtualBox &lỗi NS_ERROR_FAILURE

Giải pháp

Cách khắc phục ở đây là xóa gói vi phạm, sau đó cài đặt một gói phù hợp với chương trình VirtualBox hoặc ngược lại. Dù bằng cách nào, họ phải phù hợp. Tôi đã đi tới Tệp> Tùy chọn> Tiện ích mở rộng và nhấp vào nút Xóa. Nhưng sau đó, tôi gặp lỗi tương tự như trước đó khi cố gắng gỡ bỏ gói đó!

Dọn dẹp dòng lệnh

Cách khắc phục sự cố thứ hai là thực hiện thao tác dọn dẹp trong cửa sổ đầu cuối - bạn cũng có thể sử dụng lệnh để cài đặt hoặc xóa gói tiện ích mở rộng (và thậm chí là buộc xóa).

Dọn dẹp gói mở rộng VBoxManage
Đã thực hiện thành công việc dọn dẹp gói mở rộng

Bây giờ, tôi đã quay lại GUI và tôi đã có thể xóa gói. Tốt. Sau đó, tôi đã tải xuống và cài đặt một phiên bản mới, một phiên bản phù hợp với phiên bản chính của chương trình:

VirtualBox &lỗi NS_ERROR_FAILURE

Và bây giờ, các máy ảo vẫn chạy như trước!

Kết luận

Ở một khía cạnh nào đó, vấn đề trên hoàn toàn do bên mình tự làm. Nhưng sau đó, phải có những cách để làm cho toàn bộ mọi thứ trở nên mạnh mẽ hơn. Chẳng hạn, không cho phép cài đặt các gói mở rộng không tương thích. Giữ nhiều hơn một phiên bản có sẵn (dưới dạng khôi phục) và sử dụng phiên bản đó nếu phiên bản mặc định bị lỗi. Cung cấp thông điệp chi tiết hơn. Cung cấp các tiện ích mở rộng thông qua kho lưu trữ VirtualBox Linux, giống như chương trình chính.

Nếu bạn gặp điều gì đó tương tự, xin lưu ý rằng mã lỗi rất có thể bao gồm nhiều vấn đề khác nhau và bạn không nhất thiết phải tìm ra nguyên nhân gốc rễ cho vấn đề VirtualBox của mình chỉ bằng cách nhìn vào nó. Thay vào đó, cuối cùng bạn có thể đọc nửa tá báo cáo lỗi hoặc bài đăng trên diễn đàn có cùng điểm xuất phát và giải pháp/kết quả hoàn toàn khác nhau trong mỗi trường hợp. Bài viết của tôi cũng không ngoại lệ về vấn đề đó, nhưng tôi đã cẩn thận theo dõi thông tin nhật ký hệ thống, điều này cho phép tôi thu hẹp trọng tâm của mình và tìm ra thủ phạm thực sự. Dù sao, đó sẽ là tất cả cho ngày hôm nay. Hãy cẩn thận.

Chúc mừng.