Неможливо побудувати Virtualbox-dkms - невідповідні ядра та заголовки


2

Раніше я використовував VirtualBox на своїй машині Ubuntu 14.10, але останні два місяці не використовував її.

Коли я намагався запустити VM, я отримав таку помилку:

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.

Я знайшов кілька інших запитань, які говорять про запуск sudo dpkg-reconfigure virtualbox-dkmsабо видалення та перевстановлення virtualbox.

Коли я запускаю будь-яку з цих команд, я отримую таке повідомлення:

------------------------------
Deleting module version: 4.3.18
completely from the DKMS tree.
------------------------------
Done.
Loading new virtualbox-4.3.18 DKMS files...
Building only for 3.13.0-29-generic
Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.
 * Stopping VirtualBox kernel modules                                  [ OK ] 
 * Starting VirtualBox kernel modules
 * No suitable module for running kernel found
                                                                       [fail]
invoke-rc.d: initscript virtualbox, action "restart" failed.

Коли я запускаю uname -a, я бачу, що запущена версія Kernel є 3.13.0-29-generic, як йдеться у повідомленні вище.

Однак, коли я перевіряю, які встановлені заголовки ядра, я бачу такі:

linux-headers-3.16.0-24 - Header files related to Linux kernel version 3.16.0
linux-headers-3.16.0-24-generic - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-24-lowlatency - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-25 - Header files related to Linux kernel version 3.16.0
linux-headers-3.16.0-25-generic - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-25-lowlatency - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-26 - Header files related to Linux kernel version 3.16.0
linux-headers-3.16.0-26-generic - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-26-lowlatency - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-28 - Header files related to Linux kernel version 3.16.0
linux-headers-3.16.0-28-generic - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-28-lowlatency - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-29 - Header files related to Linux kernel version 3.16.0
linux-headers-3.16.0-29-generic - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-29-lowlatency - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-30 - Header files related to Linux kernel version 3.16.0
linux-headers-3.16.0-30-generic - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-30-lowlatency - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-31 - Header files related to Linux kernel version 3.16.0
linux-headers-3.16.0-31-generic - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP
linux-headers-3.16.0-31-lowlatency - Linux kernel headers for version 3.16.0 on 64 bit x86 SMP

Я спробував встановити 3.13.0-29заголовки за допомогою sudo apt-get install linux-headers-`uname -r`і отримав цю помилку:

Package linux-headers-3.13.0-29-generic is not available...

Я спробував запустити sudo apt-get dist-upgradeоновити Kernel до 3.16..., але, схоже, нічого не зробить.

Як я можу або оновити встановлене ядро ​​на відповідні наявні заголовки, або отримати старі заголовки?


1
Можливо, вам доведеться почекати кілька днів для заголовків ядра або, ще краще, просто скористайтеся KVM (virt-manager). Те саме, що Vbox, включений до ядра, не має сторонніх додатків. KVM + спеція FTW !!!
Пантера

@ bodhi.zazen У мене вже багато збережених віртуальних машин у VirtualBox. Чи знаєте ви про інструмент для перетворення / імпорту в KVM? Крім того, наскільки добре KVM працює з Vagrant? Я чув, що питань дуже багато.
Моше Кац

KVM повинен використовувати ці диски просто чудово, або ви можете конвертувати їх, якщо хочете. Залежить від того, в що ви хочете їх перетворити.
Пантера

Відповіді:


1

Я зрозумів це, знайшовши https://unix.stackexchange.com/questions/170580/package-linux-headers-3-13-0-27-generic-has-no-installation-candidate і помітивши, що 14.10 повинен був бути відправлений з 3.16ядром з самого початку.

Ця машина була оновлена ​​з 14.04 до 14.10 за допомогою do-release-upgrade. Однак 3.13.xядро з 14.04 було встановлено явно замість linux-image-genericмета-пакету, тому оновлення не оновилося. Однак заголовки були встановлені за допомогою -genericмета-пакету, тому вони оновлювалися.

Встановлення linux-genericпризвело до того, що ядро ​​та заголовки оновлюються до найновіших 3.16.x.

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