Вы должны попытаться исправить свою проблему с помощью YPPA. Здесь это поможет вам. Используйте y ppa для удаления любых дубликатов ppa или исправления ошибок ppa после установки.
sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager
Если вы установили VirtialBox по официальному руководству и не забыли удалить установленный из репозитория Ubuntu по умолчанию.
Проверьте, установлен ли virtualbox-dkms:
dpkg -l | grep virtualbox-dkms
Если да, затем удалите его и установите dkms
sudo apt-get purge virtualbox-dkms && \
sudo apt-get install dkms
Перестройте модули ядра VirtualBox:
sudo /sbin/vboxconfig
Я удалил виртуальный бокс, используя приведенную ниже команду:
sudo apt autoremove --purge virtualbox*
, но это не сработало.
Я обнаружил, что старый мод vboxdrv не удалялся и ему пришлось вручную удалить vboxdrv.ko из «/ lib / modules / $ (uname -r) / updates / dkms /».
Кажется, у вас есть две отдельные версии VirtualBox, установленные в вашей системе!
Я бы рекомендовал вам полностью удалить все версии VirtualBox:
sudo apt-get autoremove 'virtualbox*'
Затем переустановить непосредственно из Виртуальный сервер Oracle. Перейдите на страницу загрузки VB, прокрутите вниз до « удалите все версии » и следуйте инструкциям или загрузите двоичный пакет VB для всех дистрибутивов, а затем запустите программу установки следующим образом:
cd /path/to/downloaded/file
chmod +x VirtualBox-x.x.xx-xxxxxx-Linux_xxxxx.run
./VirtualBox-x.x.xx-xxxxxx-Linux_xxxxx.run
Убедитесь, что у вас загружены модули vbox:
lsmod | grep vbox
На моей машине у меня есть vboxpci, vboxnetadp, vboxnetflt и vboxdrv
Проверьте, являются ли они правильной версией:
modinfo vboxdrv
Очень вероятно, что версия этого модуля будет 5.0.32 rxxxxxx, но вы используете virtualbox 5.1
Если это не case, этот ответ не помог бы решить вашу проблему.
В противном случае это может быть вызвано не удалением модулей, оставшихся на прежнем виртуальном боксе, а новые модули не перезаписываются.
Просто удалите все эти старые модули и перезагрузитесь, и это должно устранить проблему:
# This command list all files in the same directory of the vboxdrv module
# Double check they are all vbox* modules and are outdated
# Then change "ls" to "rm" to remove all
ls $(dirname $(modinfo vboxdrv | sed -n 's/filename: *(\.*\)/\1/p'))/*
Если переустановка Virtualbox не работает. Вы должны попытаться установить или переустановить dkms Virtualbox
проверить, есть ли ошибки:
dpkg -P virtualbox-dkms
Если вы, вероятно, должны попытаться сделать ошибку:
sudo apt-get install virtualbox-dkms
Если вы хотите использовать последнюю версию виртуального бокса, вам нужно удалить модули в папке dkms.
VB 5.1 и более старые модули места в разное время, в то время как VB 5.0 в вилке хранит их в папке dkms.
Очистите все виртуальные боксы с помощью apt Проверьте modinfo vboxdrv, чтобы узнать, выводит ли он версию 5.0 :$ modinfo vboxdrv
filename: /lib/modules/4.13.0-31-generic/updates/dkms/vboxdrv.ko
version: 5.0.40_Ubuntu r115130 (0x00240000)
license: GPL
description: Oracle VM VirtualBox Support Driver
author: Oracle Corporation
srcversion: 6D8B4900A693FC50489A130
depends:
name: vboxdrv
vermagic: 4.13.0-31-generic SMP mod_unload
parm: force_async_tsc:force the asynchronous TSC mode (int)
Если он выводит 5.0, удалите модули в папке dkms: $ sudo -i
# sudo rmmod vboxnetadp vboxnetflt vboxpci vboxdrv
# cd /lib/modules/(kernelversion)-generic/updates/dkms
# rm vbox*
Запустите sudo /sbin/rcvboxdrv setup (затем проверьте, дает ли modinfo vboxdrv правильную версию) $ modinfo vboxdrv
filename: /lib/modules/4.10.0-42-generic/misc/vboxdrv.ko
version: 5.2.6 r120293 (0x00290000)
license: GPL
description: Oracle VM VirtualBox Support Driver
author: Oracle Corporation
srcversion: 4880B21EFF1B605D6402982
depends:
vermagic: 4.10.0-42-generic SMP mod_unload
parm: force_async_tsc:force the asynchronous TSC mode (int)
Я удалил виртуальный бокс, используя приведенную ниже команду:
sudo apt autoremove --purge virtualbox*
, но это не сработало.
Я обнаружил, что старый мод vboxdrv не удалялся и ему пришлось вручную удалить vboxdrv.ko из «/ lib / modules / $ (uname -r) / updates / dkms /".
Кажется, у вас есть две отдельные версии VirtualBox, установленные в вашей системе!
Я бы рекомендовал вам полностью удалить все версии VirtualBox:
sudo apt-get autoremove 'virtualbox*'
Затем переустановить непосредственно из Виртуальный сервер Oracle. Перейдите на страницу загрузки VB , прокрутите вниз до « дистрибутивов Linux на основе Debian » и следуйте инструкциям или загрузите двоичный пакет VB для всех дистрибутивов, а затем запустите программу установки, например это:
cd /path/to/downloaded/file
chmod +x VirtualBox-x.x.xx-xxxxxx-Linux_xxxxx.run
./VirtualBox-x.x.xx-xxxxxx-Linux_xxxxx.run
Убедитесь, что у вас загружены модули vbox:
lsmod | grep vbox
На моей машине есть vboxpci
, vboxnetadp
, vboxnetflt
и vboxdrv
Проверьте, являются ли они правильной версией:
modinfo vboxdrv
Очень вероятно, что версия этого модуля будет 5.0.32 rxxxxxx
, но вы используете virtualbox 5.1
. Если это не case, этот ответ не помог бы решить вашу проблему.
В противном случае это может быть вызвано не удалением модулей, оставшихся на прежнем виртуальном сервере, а новые модули не переписываются.
Просто удалите все эти старые модули и перезагрузитесь, и это должно устранить проблему:
# This command list all files in the same directory of the vboxdrv module
# Double check they are all vbox* modules and are outdated
# Then change "ls" to "rm" to remove all
ls $(dirname $(modinfo vboxdrv | sed -n 's/filename: *(\.*\)/\1/p'))/*