در برخی از توزیع‌های لینوکس، ابزار VirtualBox VM پس از نصب، راه‌اندازی نمی‌شود. دلایل مختلفی ممکن است منجر به ایجاد این مشکل شود. در این راهنما، چندین راه حل برای رفع این مشکل ارائه شده است

 

 

نصب درایور هسته VirtualBox

معمولاً دلیل اصلی مشکل عدم راه‌اندازی VirtualBox VM در لینوکس این است که نصب درایور هسته VirtualBox را فراموش کرده‌اید. این درایور، در دستگاه‌های میزبان لینوکس مورد نیاز است و بدون آن، VM‌ها با مشکل رو به رو شده و راه‌اندازی نمی‌شوند.

 

برای نصب درایور هسته VirtualBox روی سیستم عامل خود، ابتدا با فشار دادن Ctrl+Alt+T یا Ctrl+Shift+T روی صفحه کلید، یک پنجره ترمینال باز کنید و سپس، دستورالعمل‌های گام به گام زیر را دنبال نمایید.

مرحله 1: درایور هسته VirtualBox معمولاً هنگامی نصب نمی‌شود که کاربر در نصب هدرهای هسته اشتباهی انجام داده باشد. چراکه header هسته امکان ساخت ماژول‌های سفارشی مانند درایور هسته VirtualBox را فراهم می‌کند.

برای نصب هدرهای هسته لینوکس در سیستم لینوکس خود، دستوراتی را که با توزیع شما مطابقت دارند، وارد نمایید.

 

Ubuntu

sudo apt install linux-headers-$(uname -r)

 

Debian

sudo apt-get install linux-headers-$(uname -r)

 

Arch Linux

sudo pacman -S linux-headers

 

Fedora

sudo dnf install "kernel-devel-uname-r == $(uname -r)"

 

OpenSUSE

sudo zypper install kernel-devel

مرحله 2: پس از نصب هدرهای هسته لینوکس بر روی سیستم لینوکس خود، ماژول می‌تواند دوباره تنظیم شود. برای دستیابی به بهترین نتیجه، بهتر است به جای کار با دستورات گیج کننده مختلف، بسته ماژول VirtualBox را مجدداً نصب کنید.
برای نصب مجدد بسته ماژول VirtualBox، دستورات زیر را مطابق با توزیع  خود در ترمینال وارد کنید.

 

Ubuntu

sudo apt install virtualbox-dkms --reinstall

 

Debian

sudo apt install virtualbox-dkms --reinstall

 

Arch Linux

sudo pacman -R virtualbox-host-modules-arch

sudo pacman -S virtualbox-host-modules-arch

 

Fedora

sudo dnf remove VirtualBox akmod-VirtualBox

sudo dnf install VirtualBox akmod-VirtualBox

 

OpenSUSE

sudo zypper remove virtualbox-kmp-default
sudo zypper install virtualbox-kmp-default

مرحله 3: پس از نصب مجدد بسته ماژول هسته VirtualBox در برروی سیستم لینوکس خود، ماژول‌ها باید بر روی سیستم شما ساخته و تنظیم شوند. اکنون شما باید ماژول را در سیستم بارگیری کنید. برای انجام این کار، دستور زیر را وارد نمایید.

sudo modprobe vboxdrv

سپس، رایانه خود را مجدداً راه‌اندازی نمایید. پس از آن، زمانیکه وارد سیستم شوید، درایور هسته بارگیری شده است!

 

نصب بسته‌های اضافی VirtualBox

گاهی اوقات دلیل عدم راه‌اندازی VirtualBox VM‌ها روی سیستم‌های لینوکس این است که برخی بسته‌های اضافی VirtualBox فعال شده‌اند درحالی که آن بسته در سیستم شما نصب نیست. برای رفع این مشکل، کافیست دستورات زیر را که با توزیع لینوکس شما مطابقت دارند، در ترمینال وارد کنید.

 

Ubuntu

sudo apt install virtualbox-ext-pack

 

Debian (تنها نسخه sid)

sudo apt-get install virtualbox-ext-pack

در سایر نسخه‌های Debian، از دستور زیر استفاده نمایید.

wget https://download.virtualbox.org/virtualbox/6.1.4/Oracle_VM_VirtualBox_Extension_Pack-6.1.4.vbox-extpack

سپس ابزار مدیریت فایل لینوکس خود را باز کرده و روی بسته Ext دوبار کلیک کنید تا در دبیان بارگیری شود.

 

Arch Linux / Fedora / OpenSUSE

ابتدا دستور زیر را وارد کنید.

wget https://download.virtualbox.org/virtualbox/6.1.4/Oracle_VM_VirtualBox_Extension_Pack-6.1.4.vbox-extpack

سپس ابزار مدیریت فایل لینوکس خود را باز کرده و با ماوس بر روی بسته Ext دوبار کلیک نمایید. این به شما امکان می‌دهد، بدون هیچ مشکلی آن را در VirtualBox نصب کنید.

 

تغییر مالکیت دایرکتوری /usr/

چنانچه روش‌های قبل را اجرا کرده‌اید و برنامه هنوز هیچ VM را روی سیستم شما راه‌اندازی نمی‌کند، دلیل این خطا ممکن است این باشد که مولفه‌های خاصی برای VirtualBox در فهرست /usr/ وجود دارد که آن‌ها برنامه را اجرا می‌کنند و دایرکتوری /usr/ گاهی ممکن است دارای مشکلات مجوز باشد. به طور معمول، دایرکتوری /usr/ متعلق به کاربر root است. خطای VirtualBox هنگامی رخ می‌دهد که پوشه متعلق به root نباشد.

برای رفع این خطا، پس از باز کردن یک پنجره ترمینال، دستورالعمل‌های گام به گام زیر را دنبال نمایید.

مرحله 1: دستور ls -l را بر روی دایرکتوری root اجرا کنید تا مجوزهای مالکیت پوشه /usr/ خود را مشاهده نمایید.

ls -l /

 

با استفاده از دستور grep می‌توانید دایرکتوری /usr/ را در دستور مشخص کنید.

ls -l / | grep usr

چنانچه مالک دایرکتوری /usr/ ریشه است، باید چیزی شبیه به خروجی زیر را ببینید.

 

drwxr-xr-x 14 root root 4096 Mar 27 2019 usr

اگر پوشه / usr / شما متعلق به root باشد، مانند مثال زیر در خروجی دقیقاً root root را مشاهده خواهید کرد؛ درحالیکه، اگر مالک آن root نباشد، نام کاربری شما را به جای root root در خروجی نمایش می‌دهد.

مرحله 2: با فرض اینکه دایرکتوری /usr/ شما متعلق به کاربر root نیست، از دستور chown به صورت زیر استفاده کنید تا مجوزهای آن را تغییر دهید.

sudo chown root:root /usr/

مرحله 3: دستور ls -l را دوباره اجرا کنید تا مطمئن شوید که دستور chown مالکیت پوشه /usr/ را تغییر داده است و خروجی زیر را دریافت نمایید.

 

drwxr-xr-x 14 root root 4096 Mar 27 2019 usr

 

به روزرسانی VirtualBox

چنانچه روش‌های قبل مؤثر نشد، مشکل  VirtualBoxرا می‌توان با به روزرسانی برنامه در نسخه جدیدتر برطرف کرد. چرا که Oracle، معمولاً از patch برای رفع باگ‌های یک نسخه از برنامه استفاده نمی‌کند.

به منظور به روزرسانی VirtualBox در سیستم لینوکس خود، یک پنجره ترمینال باز کرده و با استفاده از ابزار مدیریت بسته، به روش معمول به روز رسانی‌ها را نصب نمایید.

 

 

 

منبع:

addictivetips