در برخی از توزیعهای لینوکس، ابزار 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
0 دیدگاه
نوشتن دیدگاه