Проблема з установкою VirtualBox


43

Я намагаюся встановити virtualbox і змусити його працювати, але, здається, не можу. На зображенні ви бачите вихід.

Виведення командного рядка

Якщо я біжу, VBoxManage --versionотримую:

WARNING: The character device /dev/vboxdrv does not exist.
Please install the virtualbox-dkms package and the appropriate
headers, most likely linux-headers-generic.

You will not be able to start VMs until this problem is fixed.
4.3.10_Ubuntur93012

Але virtualbox-dkms вже встановлений і в останній версії. Тож я спробував її перевстановити, і я отримав це:

cli вихід 2

Будь-яка допомога буде вдячна.

Редагувати:

Вихід після переналаштування (@ M.Tarun пропозиція):

cli вихід 3

EDIT 2:

Також встановив джерела, як наказав @Hmayag, очистив віртуальну скриньку та встановив її знову, але у мене виникла та сама проблема.


1
Каліспера Антоні. Інсталятор намагається створити модуль ядра, але не зможе знайти вихідні файли ядра. Підказка - Module build for the currently running kernel was skipped since the kernel sources for this kernel does not seem to be installed.Перевірте, чи встановлені ви. Переконайтесь, що вони відповідають працюючої версії ядра. Я думаю, що apt-get source linux-image-$(uname -r)слід це зробити.
hmayag

Каліспера :). На жаль, нічого не сталося. Перегляньте мою другу редакцію.
Антоніс Гр

Також встановив dpkg-dev і запустив команду ще раз, але не пощастило.
Антоніс Гр

2
Можливо, у вас є невідповідність між запущеним ядром та встановленим заголовком. Чи можете ви додати результат uname -aі dpkg -l | grep linux-headers?
Рмано

1
Оновлення до останнього ядра. Здається, ти працюєш 3.11.
bain

Відповіді:


63

В основному після того, як ви встановите ці два пакети, вам також потрібно виконати конфігурацію:

sudo dpkg-reconfigure virtualbox-dkms
sudo dpkg-reconfigure virtualbox
sudo modprobe vboxdrv

І щоб виправити eth0:

sudo modprobe vboxnetflt

дивіться, будь ласка, правка
Антоніс Гр

працює чудово, дякую! Бродячий 1.7.2; VirtualBox 4.3.10; Ubuntu 14.04
Makc

Як вище команди будуть розгорнуті для centOS
HMS

1
Якщо у вас все ще виникають проблеми, переконайтесь, що захищене завантаження UEFI відключено .
totymedli

У мене виникли проблеми із virtualbox-dkmsпідтримкою після оновлення ядра, і закінчилося встановлення останньої версії VirtualBox з офіційного сайту .
luart

15

Я вирішив цю проблему, виконавши наступні команди:

sudo apt-get install linux-headers-generic
sudo dpkg-reconfigure virtualbox-dkms

Дякую, це допомогло мені на ubuntu 14.04 після розширення дистрибутива якось змінилися заголовки Linux
sandino

3
Це мені допомогло. Мені вдалося виправити: sudo apt-get install linux-headers-`uname -r` і потім sudo dpkg-reconfigure virtualbox-dkms. Дякую!
stitakis

@stitakis ваш коментар повинен бути відповіддю, щоб я міг піднести я належним чином
бунтував

3

Причина проблеми полягає в тому, що ви завантажили ядро ​​3.11, тоді як dpkg-конфігурація очікує 3,13 ядра. Ось чому ви отримуєте повідомлення "немає відповідного модуля для запущеного ядра".

Обов’язково оновіть завантажувач.

У моєму випадку завантажувач оновлений з іншої ОС (Debian) і завантаження до цього та запущене sudo update-grubвирішили проблему.


2

Я не зміг виправити проблему з будь-яким іншим запропонованим рішенням, тому я зробив нову інсталяцію 14.04 і зараз все добре.


Це одне, чого я не хотів почути 🤣
Матея Петрович

2

Я використовував офіційне керівництво постачальника для дистрибутивів Linux на базі Debian :

printf 'deb http://download.virtualbox.org/virtualbox/debian %s contrib\n' "$(lsb_release -cs)" | sudo tee /etc/apt/sources.list.d/virtualbox.list

wget -qO- https://www.virtualbox.org/download/oracle_vbox{,_2016}.asc | sudo apt-key add -

sudo apt-get purge virtualbox
sudo apt-get update
sudo apt-get install virtualbox-5.0 dkms

працював і на мене!
ʀᴇᴅ_ᴅᴇᴠɪʟ226

1

У моєму випадку проблема полягала у встановленні virtualbox-4.1 поряд з virtualbox-4.2. Як тільки я видалив 4.1, я міг запустити sudo /etc/init.d/vboxdrv setupі sudo modprobe vboxdrvпросто добре, а також запустити VM.


1

Ви повинні перевірити версію gcc, яку ви використовуєте. Я зіткнувся з тією ж проблемою компіляції ядра virtualbox. Я вирішив проблему, використовуючи цю публікацію https://www.virtualbox.org/ticket/12467

Напевно, ви використовуєте застарілу версію gcc, яка відрізняється від gcc, що використовується ядром Linux.

Перевірте стандартну версію, яку ви використовуєте:

gcc -v

Моя версія gcc 4.4.7 (Ubuntu / Linaro 4.4.7-8ubuntu1)

І версія gcc, з якою було складено ваше ядро

dmesg | more
[    0.000000] Linux version 3.13.0-83-generic (buildd@lgw01-55) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #127-Ubuntu SMP Fri Mar 11 00:25:37 UTC 2016 (Ubuntu 3.13.0-83.127-generic 3.13.11-ckt35)

або з

dpkg -l gcc

Якщо версії gcc відрізняються, як у моїй системі, переключіть компілятор gcc за замовчуванням

sudo update-alternatives --config gcc

тоді встановлення virtualbox-dkms має справно працювати

sudo apt-get --reinstall install virtualbox-dkms

0

Підказка тут: Будь ласка, встановіть пакунок virtualbox-dkms та відповідні заголовки, швидше за все, linux-headers-generic.

Оскільки у вас є перше, воно все одно повинно бажати другого.

sudo apt-get install linux-headers-generic

Потім переконайтесь, що все актуально.

sudo apt-get update

sudo apt-get upgrade


2
Вибачте, просто забув написати, що я їх теж є. linux-headers-generic is already the newest version.це вихід, коли я намагаюся їх встановити.
Антоніс Гр

2
Дякую, я додав цю інформацію до вашого запитання, щоб гарантувати отримання точних відповідей
Старійшина Гек

0

У мене було те саме питання. Я виявив, що джерелом проблеми є, швидше за все, те, що я використовую власне ядро.

Завантаження останнього пакета .deb з virtualbox.org та його dpkg -iвстановлення вирішили проблему в моєму випадку.


0

У мене була така ж помилка на дискотеці ubuntu 19.04. Я міг це вирішити, відключивши захищене завантаження (через BIOS).


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.