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

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

$ sudo ./VBoxLinuxAdditions.run

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

The headers for the current running kernel were not found.

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

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

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

$ uname -aLinux 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

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

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

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 errorsmake[2]: *** [/tmp/vbox.0/vfsmod.o] Error 1make[1]: *** [_module_/tmp/vbox.0] Error 2make: *** [vboxsf] Error 2

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

В моем случае на самом деле отсутствовал 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-заголовки-`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. Это все исправило для меня.

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

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

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

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

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

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

источник

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

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

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

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

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

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

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

sudo apt-get install virtualbox-guest-dkms

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

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

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

The headers for the current running kernel were not found.

Решение :

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

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

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

После этого вы можете просто использовать reboot, тогда у вас должен быть гостевой Дополнительный, выполненный правильно и на ВЕСЬ экран тоже! УРА!!!

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

Building the shared folder support module ...fail!

Это связано с ошибками (или неудовлетворенными ожиданиями) гостевых дополнений VirtualBox в отношении различных частей исходного кода Linux (в ГОСТЕВОЙ). К сожалению, Oracle предпочитает очень тесно связывать версию хоста VirtualBox с версией гостевых дополнений VirtualBox, поэтому, если в Гостевых дополнениях есть ошибка, вам придется одновременно обновить Хост.

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

virtualbox       4.1.12-dfsg-2ubuntu0.3virtualbox-dkms  4.1.12-dfsg-2ubuntu0.3virtualbox-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/virtualboxsudo apt-get updatesudo apt-get install virtualbox virtualbox-dkms virtualbox-qtcd ~/.VirtualBoxhttp://download.virtualbox.org/virtualbox/4.2.10/VBoxGuestAdditions_4.2.10.iso

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

sudo apt-get updatesudo apt-get upgradesudo apt-get install make gcc build-essential linux-headers-`uname -r` dkmscd /media/VBOXADDITIONS_4.2.10_81404sudo ./VBoxLinuxAdditions.runsudo shutdown -r 0

Это стандартный вывод для дополнений Vboxguest - есть ли какие-либо другие ошибки, указывающие на то, что модули ядра vbox были неправильно скомпилированы?

@foss Спасибо за ваш вклад, я обновил свой вопрос.

@MihaiTodor другой вопрос - это возможный дубликат моего, а не наоборот, как вы сказали. Подсказка, взгляните на дату публикации. С уважением.

Да, верно. Извини за это.