Error: no se encontraron los encabezados del kernel. (Pero están en su lugar)


79

Estoy intentando instalar Guest Additions en VirtualBox 4.04. El sistema operativo host es Ubuntu desktop 11.04 64bit, el sistema operativo invitado es Ubuntu server 11.10 64bit.

$ sudo ./VBoxLinuxAdditions.run

Después de algunos resultados, se imprime esta línea:

The headers for the current running kernel were not found.

Pero los encabezados están instalados, al menos en consecuencia para 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

El núcleo en ejecución es:

$ 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

¿Cómo arreglo las cosas para que el instalador de Guest Additions pueda encontrar los encabezados del kernel?

Actualización: salida completa agregada.

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).

No me importa el error n. ° 2, porque es un servidor y no necesito un servidor X. Pero necesito compatibilidad con carpetas compartidas.

Algunos detalles adicionales:

$ 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

Esta es una salida estándar para las adiciones de Vboxguest: ¿hay algún otro error que indique que los módulos del núcleo de vbox no se compilaron correctamente?
fossfreedom

@foss Gracias por su aporte, he actualizado mi pregunta.
Paolo

@MihaiTodor la otra pregunta es un posible duplicado mío, no viceversa como dijiste. Sugerencia, eche un vistazo a la fecha de publicación. Saludos.
Paolo

Si cierto. Lo siento por eso.
Mihai Todor

Respuestas:


8

Para que un invitado del servidor de VirtualBox ubuntu acepte correctamente una instalación de adiciones de invitados, deberá tener una instalación mínima del paquete xorg:

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

Al hacer esto, tendrá el soporte de carpetas compartidas.

Como ha encontrado, las adiciones de invitados son un script muy grande: "VBoxLinuxAdditions.run"

Es posible que pueda eliminar este archivo; no lo recomendaría, ya que a medida que se lanzan versiones más nuevas de virtualbox, la versión de las adiciones de invitados también se elimina.

Además, recomendaría (si aún no lo ha hecho), instalar dkms. Cuando se actualizan los nuevos núcleos de ubuntu, los módulos de kernel de adiciones de invitados se compilarán automáticamente. Sin dkmsusted, perderá su compatibilidad con carpetas compartidas cuando se realice una actualización del kernel.

fuente


32
Esto no resuelve el problema de ninguna manera.
Sliq

11
Recomiendo encarecidamente no instalar estos paquetes. Inflarán la instalación de su servidor y no resolverán el problema. Ya no recibirá un mensaje de error sobre X11, pero ese es el único beneficio.
dwurf

3
@Panique que resolvió el problema, de lo contrario no habría aceptado esta respuesta. No soy idiota.
Paolo

44
La respuesta del perro debe ser la respuesta aceptada; Instalar xorg es innecesario.
Nathan

2
-1 ya que esta respuesta es engañosa.
ortang

160

El mensaje es engañoso.

En mi caso, faltaban dkms, así que antes de instalar la ejecución adicional

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

Esto resolvió el problema para mí también.
Nick Retallack

29
Use el paquete linux-headers-genericya que siempre apuntará al último paquete de encabezado del núcleo.
ortang

3
actualizar a la última VirtualBox es lo que me resolvió, para la instalación de Ubuntu 13.10
Răzvan Flavius ​​Panda

77
Esta debería ser la respuesta aceptada, tiene un servidor, ¿por qué molestarse en instalar xorg? instalar dkms y problema resuelto !!!
Frederic Yesid Peña Sánchez

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

19

(Aunque esta pregunta tiene una respuesta aceptada, estoy agregando esta respuesta en caso de que ayude a alguien más ...)

Aunque tenía síntomas idénticos, probé todas las sugerencias a esta pregunta y, sin embargo, nada funcionó. Finalmente encontré este hilo sugiriendo que la versión de VirtualBox no está actualizada con la versión del kernel de Linux.

Entonces, si nada funciona para usted, intente instalar la última versión desde: http://download.virtualbox.org/virtualbox/ (al momento de escribir esto, esto era 4.2.6 para sistemas basados ​​en Debian).


Correcto. En realidad, ya me he encontrado con "todo lo anterior": encabezados de kernel faltantes, encabezados de kernel obsoletos, paquete dkms perdido y, de hecho, versión VBox desactualizada.
youri

12

Solucioné este error instalando dkmsy actualizando mi versión de VirtualBox. Resulta que las versiones antiguas de las adiciones de invitados de VirtualBox a menudo no funcionan con los núcleos más recientes.


55
Instalar dkms, reiniciar y volver a ejecutar el script de instalación funcionó para mí. También se indica en el documento oficial: virtualbox.org/manual/ch04.html#idp11274368
descansando el

las versiones más recientes (de virtualbox están disponibles como archivos deb desde aquí: download.virtualbox.org/virtualbox ) También tienen las adiciones de invitados iso. Usar lo último de eso solucionó las cosas para mí.
tocino

1
Enlace de documento oficial actual: virtualbox.org/manual/ch04.html#idp46730490388960
Max

instalar dkms funcionó perfectamente para mí.
Ayush

10

La respuesta acerca de que necesitas X para usar adiciones de invitados es simplemente ridículo. La razón por la que funciona después de instalar X es que extrae libglib como una dependencia, pero sería realmente innecesario instalar todo el servidor X solo para que las adiciones se ejecuten.

Todos los paquetes que necesita son los siguientes:

  • esencial para construir
  • linux-headers-`uname-r`
  • libglib2.0-0

Obviamente, es solo una parte de build-essential y libglib lo que necesita, pero en lugar de investigar exactamente qué paquetes son necesarios, es más fácil dejarlos extraer sus dependencias.

Una nota al margen es que estos son exactamente los mismos paquetes que necesita para el equivalente de VMware "VMware Tools" en una máquina VMware.


9

Después de instalar los paquetes sugeridos con el siguiente comando:

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

Actualicé mi versión de VirtualBox como lo sugiere dwurf. Eso me lo arregló.


1

La única solución que funcionó para mí fue eliminar Virtual Box e instalar la última versión del sitio web de VirtualBox (versión: 4.3.10 (repo) vs. 4.3.22 (sitio web)).


1

He probado TODA la solución anterior y estoy bastante seguro de que he instalado los encabezados adecuados, ¡pero todavía no he tenido suerte!

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

Y también he instalado la última versión de Virtual Box a partir de hoy 5.0.4 pero todavía tengo el error al intentar instalar Guest Additions con error

The headers for the current running kernel were not found.

Solución:

Al final lo que resolvió mi problema es ejecutar el VBoxLinuxAdditions.rundirectorio desde / root en lugar de otro directorio como / home / !!!

Originalmente estaba ejecutando VBoxLinuxAdditions.rundesde el /home/directorio y sigo teniendo este error de presa, pero después de usar el comando a continuación desde el directorio raíz, está bien, ¡problema resuelto!

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

Después de esto, simplemente puede usar reboot, ¡entonces debería tener Guest Additional hecho correctamente y pantalla COMPLETA también! HURRA !!!


Intenté esto pero aún no funciona. Manos arriba
yaochiqkl

no funciona para mi
muneeb_ahmed

1

Por lo general, instalo las adiciones de invitados directamente a través de virtualbox (mount cdrom, sh ./VBoxLinuxGuestAddtions.run). Sin embargo, la mayoría de las distribuciones de Linux le ofrecen un paquete que se puede instalar a través de su administrador de paquetes. Para mí, el siguiente comando resolvió el problema:

sudo apt-get install virtualbox-guest-dkms

Probé todas las otras soluciones de instalación y seguí teniendo problemas con los complementos o el script de instalación. Esta solución resolvió el problema raíz directamente. ¡Gracias!
sadakatsu

1

Creo que este error se debe al uso de una versión anterior de Virtual Box o al menos una versión anterior de la imagen ISO de Guest Additions.

Logré el éxito descargando un nuevo ISO de VBox Guest Additions y ejecutando el script VBoxLinuxAdditions.run. Fui al sitio de descarga de Virtual Box y obtuve un nuevo ISO.

Por razones (demasiado aburridas para entrar) no pude actualizar mi versión de VirtualBox en el host (Windows), pero pude copiar el nuevo archivo ISO a un lugar local en el sistema de archivos.

Luego, en el menú "Dispositivos" en la ventana de VM, elegí un nuevo CD / DVD virtual y elegí el lugar donde descargué la nueva imagen ISO.

Luego, dentro de la máquina virtual Debian, fui \media\cdromy ejecuté el nuevo VBoxLinuxAdditions.runscript como root. (Ya había instalado dkms, encabezados de kernel actuales, etc.) Luego, el script dejó de quejarse falsamente sobre los encabezados faltantes (no faltaban) y construyó los objetos del kernel que necesitaba.

Todo el motivo para hacerlo fue para que X.org me diera resoluciones de pantalla adicionales y pudiera ejecutar la VM a una resolución más alta que los valores predeterminados conservadores.


0

Recibía los mismos errores que OP cuando intentaba compilar VirtualBox Guest Additions v4.1.12 en varios tipos de invitados K ​​/ Ubuntu 13.04.

Building the shared folder support module ...fail!

Esto se debe a errores (o expectativas no satisfechas) de VirtualBox Guest Additions en varias partes de la fuente de Linux (en el INVITADO). Desafortunadamente, Oracle elige vincular la versión de VirtualBox Host con la versión de VirtualBox Guest Additions, por lo que si hay un error en Guest Additions, debe actualizar el Host al mismo tiempo.

Tenía las siguientes versiones de virtualbox instaladas en el host Ubuntu 12.04 LTS:

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

Según las instrucciones en: http://www.ubuntuupdates.org/ppa/virtualbox?dist=precise

Actualicé a 4.2.10-dfsg-0ubuntu2 ~ ubuntu12.04.1 ~ ppa1 usando:

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

Ahora los invitados K ​​/ Ubuntu 13.04 pueden construir e instalar sus Adiciones para invitados 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

Creo que te estás perdiendo algo. Intenta instalar

  • linux-headers-3.14-kali1-common
  • linux-headers-3.14-kali1-amd64
  • linux-source-3.14
  • libdw1
  • libunwind7

Para mi es kali linux con 3.14

Atentamente.


0

Estaba experimentando este problema y lo solucioné ejecutando estos comandos:

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

Más información


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

+ bonus: carpetas compartidas "secretas";)


  1. sudo gpasswd -a <username> vboxsf
  2. sudo reboot
  3. hecho.

  4. ???
  5. lucro ;)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.