Ошибка: заголовки ядра не найдены. (Но они на месте)

Я пытаюсь установить гостевые дополнения в VirtualBox 4.04. Хост ОС Ubuntu Desktop 11.04 64bit, гостевая ОС Ubuntu 11.10 64bit.

$ sudo ./VBoxLinuxAdditions.run

После некоторого вывода эта строка печатается:

The headers for the current running kernel were not found.

Но заголовки установлены, по крайней мере, соответственно dpkg:

$ dpkg --get-selections | grep linux-headers
linux-headers-3.0.0-12            install
linux-headers-3.0.0-12-server     install
linux-headers-server              install

Запущенное ядро:

$ uname -a
Linux foobar 3.0.0-12-server #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 x86_64 x86_64 X86_64 GNU/Linux

Как исправить ситуацию, чтобы установщик Guest Additions мог найти заголовки ядра?

Обновление: добавлен полный вывод.

The headers for the current running kernel were not found. If the module compilation fails then this could be the reason.

Building the main Guest Additions module ...done.
Building the shared folder support module ...fail!
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Installing the Window System drivers ...fails!
(Could not find the X.Org or XFree86 Window System).

Меня не волнует ошибка № 2, потому что это сервер, и мне не нужен X-сервер. Но мне нужна поддержка общих папок.

Некоторые дальнейшие детали:

$ tail /val/log/vboxadd-install.log
..........
cc1: some warnings being treated as errors
make[2]: *** [/tmp/vbox.0/vfsmod.o] Error 1
make[1]: *** [_module_/tmp/vbox.0] Error 2
make: *** [vboxsf] Error 2

14 ответов

Решение

Чтобы получить гостевой сервер VirtualBox Ubuntu для правильного принятия гостевой установки, вам понадобится установить минимальный пакет xorg:

sudo apt-get install xserver-xorg xserver-xorg-core

Сделав это, вы получите поддержку общих папок.

Как вы обнаружили, гостевые дополнения - это один очень большой скрипт - "VBoxLinuxAdditions.run"

Возможно, вы сможете снять этот файл - я бы не рекомендовал его, потому что по мере выпуска более новых версий virtualbox, версия с гостевыми дополнениями также обычно поднималась.

Кроме того, я бы порекомендовал (если вы этого еще не сделали) установить dkms, При обновлении более новых ядер Ubuntu модули ядра с гостевыми дополнениями будут автоматически скомпилированы. Без dkms вы потеряете поддержку общих папок при обновлении ядра.

источник

Сообщение вводит в заблуждение.

В моем случае на самом деле отсутствовал dkms, поэтому перед установкой запустите

sudo apt-get install build-essential linux-headers-`uname -r` dkms

(Даже если на этот вопрос есть принятый ответ, я добавляю этот ответ на случай, если он поможет кому-то еще...)

Хотя у меня были идентичные симптомы, я опробовал каждое предложение на этот вопрос, но пока ничего не получалось. Я наконец нашел эту ветку, предполагая, что версия VirtualBox не соответствует версии ядра Linux.

Поэтому, если у вас ничего не работает, попробуйте установить последнюю версию по адресу: http://download.virtualbox.org/virtualbox/ (на момент написания статьи это было 4.2.6 для систем на основе Debian).

Я исправил эту ошибку, установив dkms и обновление моей версии VirtualBox. Оказывается, старые версии гостевых дополнений VirtualBox часто не работают с последними ядрами.

Ответ о том, что вам нужен X для использования гостевых дополнений, просто насмешка. Причина, по которой он работает после установки X, заключается в том, что он использует libglib в качестве зависимости, но было бы действительно необязательно устанавливать весь X-сервер просто для запуска дополнений.

Все необходимые вам пакеты:

  • строить заменимых
  • Linux-Headers-`uname-r`
  • libglib2.0-0

Очевидно, что вам нужна только часть build-essential и libglib, но вместо того, чтобы выяснить, какие именно пакеты необходимы, проще просто позволить им вытащить свои зависимости.

Суть в том, что это те же самые пакеты, которые вам нужны для vmware-эквивалента "VMware Tools" на компьютере vmware.

После установки предложенных пакетов выполните следующую команду:

sudo apt-get install build-essential linux-headers-`uname -r` dkms

Я обновил свою версию VirtualBox в соответствии с предложением dwurf. Это исправило это для меня.

Единственное решение, которое мне помогло, - это удалить Virtual Box и установить последнюю версию с веб-сайта VirtualBox (версия: 4.3.10 (репо) против 4.3.22 (веб-сайт)).

Я думаю, что эта ошибка вызвана использованием старой версии Virtual Box или, по крайней мере, старой версии ISO-образа Guest Additions.

Я добился успеха, загрузив новый ISO гостевых дополнений VBox и запустив скрипт VBoxLinuxAdditions.run. Я зашел сюда на сайт загрузки Virtual Box и взял новый ISO.

По причинам (слишком скучным, чтобы углубляться в это) я не мог обновить свою версию VirtualBox на хосте (Windows), но я мог скопировать новый файл ISO в локальное место в файловой системе.

Затем в меню "Устройства" в окне виртуальной машины я выбрал новый виртуальный CD/DVD и выбрал место, где я скачал новый образ ISO.

Затем внутри виртуальной машины Debian я пошел в \media\cdrom и побежал новый VBoxLinuxAdditions.run скрипт как root. (Я уже установил dkms, текущие заголовки ядра и т. Д.) Затем скрипт перестал ложно жаловаться на отсутствующие заголовки (они не были пропущены) и собрал необходимые для этого объекты ядра.

Основная причина этого состояла в том, что X.org предоставил мне дополнительные разрешения экрана, и я мог запускать ВМ с более высоким разрешением, чем консервативно установленные значения по умолчанию.

Обычно я устанавливаю гостевые дополнения напрямую через virtualbox (mount cdrom, sh ./VBoxLinuxGuestAddtions.run). Однако большинство linux-дистрибутивов предлагают вам пакет, который можно установить через ваш менеджер пакетов. Для меня следующая команда решила вопрос:

sudo apt-get install virtualbox-guest-dkms

Я испробовал ВСЕ вышеупомянутое решение, и я почти уверен, что установил правильные заголовки, но все же не повезло!!!

root@test:~# dpkg --get-selections | grep linux-headers
linux-headers-4.0.0-kali1-amd64         install
linux-headers-4.0.0-kali1-common        install
linux-headers-amd64             install

И я также установил последнюю версию Virtual Box на сегодняшний день 5.0.4, но все же у меня есть ошибка при попытке установить гостевые дополнения с ошибкой

The headers for the current running kernel were not found.

Решение:

В конце концов, что решило мою проблему VBoxLinuxAdditions.run из / корневого каталога вместо другого каталога, такого как / home /!!!

Я изначально бегал VBoxLinuxAdditions.run от /home/ каталог и продолжает иметь эту ошибку дамбы, но после использования команды ниже из корневого каталога, это нормально, проблема решена!

cp /media/cd-rom/VBoxLinuxAdditions.run /root/
chmod 755 /root/VBoxLinuxAdditions.run
cd /root
./VBoxLinuxAdditions.run

После этого вы можете просто использовать reboot, тогда вы должны сделать Guest Additional правильно и FULL Screen тоже! УРА!!!

Я столкнулся с этой проблемой и исправил ее, выполнив следующие команды:

sudo apt-get remove dkms build-essential linux-headers-*
sudo apt-get install dkms build-essential linux-headers-$(uname -r)

Больше информации

  1. sudo apt-get install --assume-yes build-essential dkms linux-headers-generic linux-headers-$(uname -r)
  2. sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h

  1. sudo reboot

+ бонус: общие папки "секрет";)


  1. sudo gpasswd -a <username> vboxsf
  2. sudo reboot
  3. сделанный.

  4. ???
  5. прибыль;)

Я думаю, что вы что-то упустили. Попробуй установить

  • Linux-Headers-3,14-kali1-общий
  • Linux-Headers-3,14-kali1-amd64
  • Linux-источник-3,14
  • libdw1
  • libunwind7

Для меня это Кали Линукс с 3.14

С уважением.

Я получал те же ошибки, что и OP, когда пытался скомпилировать VirtualBox Guest Additions v4.1.12 в различных вариантах гостей K/Ubuntu 13.04.

Building the shared folder support module ...fail!

Это связано с ошибками (или неудовлетворенными ожиданиями) гостевых дополнений VirtualBox в отношении различных частей источника linux (в GUEST). К сожалению, Oracle предпочитает очень тесно связывать версию VirtualBox Host с версией VirtualBox Guest Additions, поэтому, если в Guest Additions есть ошибка, вам нужно одновременно обновить Host.

На хосте Ubuntu 12.04 LTS были установлены следующие версии virtualbox:

virtualbox       4.1.12-dfsg-2ubuntu0.3
virtualbox-dkms  4.1.12-dfsg-2ubuntu0.3
virtualbox-qt    4.1.12-dfsg-2ubuntu0.3

В соответствии с инструкциями по адресу: http://www.ubuntuupdates.org/ppa/virtualbox?dist=precise

Я обновился до 4.2.10-dfsg-0ubuntu2~ubuntu12.04.1~ppa1, используя:

sudo add-apt-repository ppa:debfx/virtualbox
sudo apt-get update
sudo apt-get install virtualbox virtualbox-dkms virtualbox-qt
cd ~/.VirtualBox
http://download.virtualbox.org/virtualbox/4.2.10/VBoxGuestAdditions_4.2.10.iso

Теперь гости K/Ubuntu 13.04 могут создавать и устанавливать свои дополнения для гостей VirtualBox:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install make gcc build-essential linux-headers-`uname -r` dkms
cd /media/VBOXADDITIONS_4.2.10_81404
sudo ./VBoxLinuxAdditions.run
sudo shutdown -r 0
Другие вопросы по тегам