الرئيسية
» لينوكس
»
كيفية إصلاح خطأ تشغيل جهاز افتراضي في VirtualBox على نظام Linux
كيفية إصلاح خطأ تشغيل جهاز افتراضي في VirtualBox على نظام Linux
إذا لم يبدأ تشغيل جهاز افتراضي VirtualBox على نظام Linux ، فاقرأ رسالة الخطأ كاملةً قبل إعادة تثبيت أي شيء. من الأسباب الشائعة على جانب النظام المضيف أن vboxdrvوحدة النواة المطلوبة مفقودة، أو أنها بُنيت لنواة مختلفة، أو أنها مُنعت بواسطة خاصية التمهيد الآمن. تشير رسائل أخرى إلى إعدادات الجهاز الافتراضي، أو عدم توافق الإصدارات، أو ميزة تتطلب حزمة الإضافات.
1. سجل الخطأ وتحقق من إصدارات المضيف
دوّن نص الحوار الكامل ورمز الخطأ، ثم تحقق من إصدار VirtualBox ونواة Linux التي تعمل:
VBoxManage --version
uname -r
استخدم الخطأ نفسه لاختيار الفحص التالي. إذا تم فتح VirtualBox ولكن فشلت إحدى الآلات الافتراضية، فركز على سجل تلك الآلة الافتراضية وإعداداتها. إذا فشلت جميع الآلات الافتراضية برسالة خطأ متعلقة ببرنامج تشغيل المضيف، فابدأ بـ vboxdrv...
مثال فقط: استخدم رمز الخطأ وقيم الإصدار المعروضة على مضيف Linux الخاص بك.
2. تحقق مما إذا كان برنامج تشغيل مضيف VirtualBox محملاً
يستخدم نظام لينكس vboxdrvوحدة نواة النظام المضيف لتشغيل الأجهزة الافتراضية. تحقق من وجود وحدات VirtualBox، ثم حاول تحميل برنامج التشغيل الرئيسي.
lsmod | grep '^vbox'
sudo modprobe vboxdrv
إذا modprobeظهر خطأ، فاحتفظ بنصه الأصلي. أما إذا نجح، فأعد محاولة تشغيل الجهاز الظاهري. يشرح دليل تثبيت نظام لينكس المضيف من أوراكل أن VirtualBox يحتاج إلى وحدات نواة النظام المضيف وملفات رأس النواة المناسبة.
قد لا يُظهر الطلب الناجح modprobeأي نص؛ الدليل المهم هو رسالة الخطأ.
3. أعد بناء الوحدة النمطية لنواة النظام التي قمت بتشغيلها
بعد تحديث نواة لينكس، قد لا تتطابق وحدة VirtualBox مع النواة المُشغّلة حاليًا. تأكد من توفر ملفات التطوير الخاصة بتلك النواة تحديدًا.
uname -r
ls -ld "/lib/modules/$(uname -r)/build"
إذا buildكان الرابط مفقودًا، فقم بتثبيت رؤوس النواة أو حزمة التطوير المطابقة باستخدام مدير الحزم الخاص بتوزيعتك. في أوبونتو أو ديبيان، عندما يكون VirtualBox مُثبّتًا من مستودع التوزيعة، تكون عملية الإصلاح النموذجية كالتالي:
تختلف أسماء الحزم في أنظمة فيدورا، وآرتش لينكس، وأوبن سوزي، وغيرها. ثبّت ملفات الرأس الخاصة بنواة النظام المُشغّلة وحزمة وحدة النظام المضيف التي تتوافق مع طريقة تثبيت VirtualBox. لا تخلط بين مُثبّت أوراكل وحزم VirtualBox الخاصة بالتوزيعة؛ استخدم مصدر حزمة واحد وتعليمات إعادة بنائه. يُظهر فهرس حزم أوبونتو الإصدارات التي تُوفّر هذه الميزة حاليًا virtualbox-dkms.
يجب أن يتطابق إصدار النواة ودليل الإنشاء الخاص بها مع نفس النواة قيد التشغيل.ينطبق أمر الحزمة هذا على تثبيتات Ubuntu أو Debian من مستودعاتها؛ استخدم أسماء الحزم الخاصة بتوزيعتك في أي مكان آخر.
4. تحقق من خاصية التمهيد الآمن إذا رفض نظام لينكس الوحدة النمطية
يمكن لخاصية التمهيد الآمن منع تحميل وحدة نواة غير موقّعة من طرف ثالث. تحقق من حالتها وابحث عن رسائل النواة ذات الصلة:
إذا أشارت المخرجات إلى رفض المفتاح أو أن الوحدة غير موقّعة، فاتبع إجراءات توقيع الوحدات الخاصة بتوزيعتك. في أوبونتو، يمكن توقيع وحدات DKMS باستخدام مفتاح مالك الجهاز (MOK)؛ إذا طلب منك التثبيت تسجيل مفتاح، فأكمل شاشة التسجيل عند إعادة التشغيل التالية. توثّق Canonical عملية التمهيد الآمن ومفتاح مالك الجهاز . تعطيل التمهيد الآمن ليس الحل الأول الذي يجب تجربته.
استخدم سجل النواة للتمييز بين الوحدة المرفوضة والبناء المفقود أو الفاشل.
5. تحقق من حزمة الإضافات فقط عندما يتطلب الخطأ ذلك
لا تُعدّ حزمة الإضافات شرطًا أساسيًا لتشغيل جهاز افتراضي عادي. فهي تُضيف ميزات مُحددة، بما في ذلك دعم USB 2.0 و 3.0 وإمكانية العرض عن بُعد. إذا كان الخطأ يُشير إلى إضافة أو إحدى هذه الميزات، فافحص الحزمة المُثبّتة.
VBoxManage list extpacks
إذا كانت الحزمة مثبتة، فيجب أن يتطابق إصدارها مع إصدار VirtualBox المضيف. قم بتحديث أو إزالة حزمة قديمة من خلال إدارة ملحقات VirtualBox، أو قم بتنزيل الإصدار المطابق من صفحة تنزيلات VirtualBox الرسمية . لا تقم بتثبيت حزمة ملحقات قديمة لمجرد أن الجهاز الظاهري لا يعمل.
قارن إصدار حزمة الإضافات مع إصدار المضيف من VBoxManage --version.
6. استخدم سجل الجهاز الظاهري للأخطاء التي تؤثر على جهاز واحد
عند تعطل جهاز افتراضي واحد فقط، افتح ملف `/usr/local/dev/vm` الموجود VBox.logفي مجلد الجهاز الافتراضي Logs. الموقع الافتراضي هو `/usr/local/dev/vm` ~/VirtualBox VMs/VM-name/Logs، مع العلم أنه يمكن للجهاز الافتراضي استخدام مجلد مختلف. تحقق من الأسطر الأخيرة المحيطة ببدء التشغيل الفاشل بحثًا عن أول خطأ فادح؛ يشرح فصل استكشاف الأخطاء وإصلاحها في دليل أوراكل سجل الأخطاء ودلائل التشخيص الشائعة.
تختلف مقتطفات السجل حسب العطل؛ استخدم السجل الحقيقي من الجهاز الظاهري الذي لم يبدأ.
إذا ظهرت رسالة تفيد بأن المحاكاة الافتراضية للأجهزة غير متاحة، فقم بتفعيل تقنية Intel VT-x أو AMD-V (المعروفة أحيانًا باسم SVM) في البرامج الثابتة للمضيف. إذا كان نظام Linux نفسه يعمل داخل جهاز افتراضي آخر، فيجب أن يُفعّل برنامج إدارة الأجهزة الافتراضية الخارجي المحاكاة الافتراضية المتداخلة. تجنب تغيير إعدادات الأجهزة الافتراضية غير ذات الصلة إلا إذا كان الخطأ يشير إليها.
تختلف تسميات وتخطيطات المدير حسب إصدار VirtualBox؛ يجب أن توجه رسالة الخطأ الإعداد الذي يجب فحصه.
7. تجنب تغييرات الأذونات المحفوفة بالمخاطر
لا تقم بتشغيل chownالأمر /usrلإصلاح VirtualBox. عادةً ما يكون مجلد النظام مملوكًا للمستخدم الجذر، وقد يؤدي تغيير الملكية بشكل عام إلى تلف الملفات المُدارة بواسطة الحزم دون إصلاح وحدة النواة. بعد تثبيت ملفات الرأس الصحيحة أو إعادة بناء برنامج التشغيل، أعد تشغيل الجهاز إلى النواة المطلوبة وحاول تشغيل الجهاز الظاهري مرة أخرى.
إذا استمرت المشكلة، احتفظ بنص الحوار كاملاً، وتوزيعة لينكس، وإصدار النواة، وإصدار VirtualBox، dkms statusوالمخرجات، والنهاية ذات الصلة VBox.log. تُحدد هذه التفاصيل ما إذا كانت الخطوة التالية تخص برنامج تشغيل الجهاز المضيف، أو التمهيد الآمن، أو إعدادات الجهاز الظاهري، أو عدم توافق الإصدارات.