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


79

Я пытаюсь установить гостевые дополнения в 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

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

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

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

Да, верно. Прости за это.
Михай Тодор

Ответы:


8

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

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

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

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

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

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

источник


32
Это никак не решает проблему.
Sliq

11
Я настоятельно рекомендую не устанавливать эти пакеты. Они раздувают ваш сервер и не решают проблему. Вы больше не получите сообщение об ошибке X11, но это единственное преимущество.
dwurf

3
@Panique, которая решила проблему, иначе я бы не принял этот ответ. Я не идиот.
Паоло

4
Ответ от собаки должен быть принятым ответом; установка xorg не нужна.
Натан

2
-1 как этот ответ вводит в заблуждение.
ortang

160

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

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

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

Это решило проблему и для меня.
Ник Реталлак

29
Используйте pacakge, так linux-headers-genericкак он всегда будет указывать на последний пакет заголовков ядра.
Ортанг

3
для меня это обновление до последней версии VirtualBox, для установки Ubuntu 13.10
Răzvan Flavius ​​Panda

7
Это должен быть принятый ответ, у вас есть сервер, зачем устанавливать xorg ??? установить dkms и проблема решена !!!
Фредерик Йесид Пенья Санчес

2
sudo apt-get install --assume-yes build-essential dkms linux-headers-$(uname -r)и 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обязательно поможет

19

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

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

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


Верный. На самом деле, я уже столкнулся со «всем вышеперечисленным»: отсутствующими заголовками ядра, устаревшими заголовками ядра, отсутствующим пакетом dkms и, действительно, устаревшей версией VBox.
Юри

12

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


5
Установка dkms, перезагрузка и повторный запуск скрипта установки работали для меня. Об этом также говорится в официальном документе: virtualbox.org/manual/ch04.html#idp11274368
отдых

более новые версии (виртуальной коробки доступны в виде deb-файлов здесь: download.virtualbox.org/virtualbox ). Они также имеют гостевые дополнения iso. Используя последние исправленные вещи для меня.
бекон

1
Текущая официальная ссылка на документ: virtualbox.org/manual/ch04.html#idp46730490388960
Макс.

установка дкмс у меня работала без нареканий.
Аюш

10

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

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

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

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

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


9

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

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

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


1

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


1

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

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каталог from / root вместо другого каталога, такого как / 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 тоже! УРА !!!


Я попробовал это, но все еще не работает. Руки вверх
yaochiqkl

не работает для меня.
muneeb_ahmed

1

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

sudo apt-get install virtualbox-guest-dkms

Я перепробовал все другие решения по установке и продолжал иметь проблемы с надстройками или сценарием установки. Это решение решило корневую проблему напрямую. Спасибо!
sadakatsu

1

Я думаю, что эта ошибка вызвана использованием старой версии 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 предоставил мне дополнительные разрешения экрана, и я мог запускать ВМ с более высоким разрешением, чем консервативно установленные значения по умолчанию.


0

Я получал те же ошибки, что и 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

0

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

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

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

С уважением.



0
  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. прибыль;)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.