Erro: cabeçalhos do kernel não encontrados. (Mas eles estão no lugar)

79

Estou tentando instalar as adições de convidados no VirtualBox 4.04. O sistema operacional host é o Ubuntu desktop 11.04 64bit, o sistema operacional convidado é o Ubuntu server 11.10 64bit.

$ sudo ./VBoxLinuxAdditions.run

Após alguma saída, esta linha é impressa:

The headers for the current running kernel were not found.

Mas os cabeçalhos estão instalados, pelo menos de acordo com 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

O kernel em execução é:

$ 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

Como faço para corrigir as coisas para que o instalador do Guest Additions possa encontrar cabeçalhos do kernel?

Atualização: saída total adicionada.

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

Não ligo para a falha nº 2, porque esse é um servidor e não preciso do servidor X. Mas preciso de suporte para pasta compartilhada.

Alguns detalhes adicionais:

$ 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
Paolo
fonte
Esta é uma saída padrão para adições ao Vboxguest - existem outros erros indicando que os módulos do kernel do vbox não foram compilados corretamente?
fossfreedom
Obrigado por sua contribuição, atualizei minha pergunta.
Paolo
@ MihaiTodor a outra pergunta é uma possível duplicata minha, não vice-versa, como você disse. Dica, dê uma olhada na data de publicação. Saudações.
Paolo
Sim, verdade. Me desculpe por isso.
Mihai Todor

Respostas:

8

Para que um convidado do servidor ubuntu do VirtualBox aceite corretamente uma instalação de adições de convidados, você precisará ter uma instalação mínima do pacote xorg:

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

Ao fazer isso, você terá o suporte à pasta compartilhada.

Como você descobriu, as adições de convidados são um script muito grande - "VBoxLinuxAdditions.run"

Você pode desmarcar esse arquivo - eu não o recomendaria, porque, como versões mais recentes do virtualbox são lançadas, a versão das adições de convidados também costuma ser aumentada.

Além disso, eu recomendaria (se você ainda não o fez), instalar dkms. Quando os kernels mais recentes do ubuntu são atualizados, os módulos do kernel de adições de convidados serão compilados automaticamente. Sem dkmsvocê, você perderá o suporte à pasta compartilhada quando uma atualização do kernel for feita.

fonte

liberdade de expressão
fonte
32
Isso não resolve o problema de forma alguma.
Sliq 19/08/12
11
Eu recomendo fortemente contra a instalação desses pacotes. Eles incharão a instalação do servidor e não resolverão o problema. Você não receberá mais uma mensagem de erro sobre o X11, mas esse é o único benefício.
Dwurf
3
@ Panique que resolveu o problema, caso contrário, eu não teria aceitado esta resposta. Eu não sou um idiota.
Paolo
4
A resposta do cão deve ser a resposta aceita; instalar o xorg é desnecessário.
19415 Nathan
2
-1, pois esta resposta é enganosa.
ortang 11/09/15
160

A mensagem é enganosa.

No meu caso, estavam faltando dkms, portanto, antes de instalar a adição, execute

sudo apt-get install build-essential linux-headers-`uname -r` dkms
cão
fonte
Isso resolveu o problema para mim também.
precisa saber é o seguinte
29
Use o pacakge, linux-headers-genericpois ele sempre aponta para o último pacote de cabeçalho do kernel.
318 Ortang
3
atualizar para o VirtualBox mais recente foi o que o resolveu para mim, para a instalação do Ubuntu 13.10
Răzvan Flavius ​​Panda
7
Essa deve ser a resposta aceita, você tem um servidor, por que se preocupar em instalar o xorg ??? instale dkms e problema resolvido !!!
Frederic Yesid Peña Sánchez 23/10
2
sudo apt-get install --assume-yes build-essential dkms linux-headers-$(uname -r)e sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.hcom certeza vai ajudar
19

(Mesmo que esta pergunta tenha uma resposta aceita, estou adicionando essa resposta caso ajude alguém a sair ...)

Embora tivesse sintomas idênticos, tentei todas as sugestões para essa pergunta e, no entanto, nada funcionou. Finalmente encontrei este tópico sugerindo que a versão do VirtualBox não está atualizada com a versão do kernel do Linux.

Portanto, se nada funcionar para você, tente instalar a versão mais recente de: http://download.virtualbox.org/virtualbox/ (no momento da redação deste texto, isso era 4.2.6 para sistemas baseados no Debian).

Cinza
fonte
Corrigir. Na verdade, eu já me deparei com "todas as opções acima": cabeçalhos ausentes do kernel, cabeçalhos obsoletos do kernel, pacote dkms ausente e, de fato, versão desatualizada do VBox.
youri
12

Corrigi esse erro instalando dkmse atualizando minha versão do VirtualBox. Acontece que versões antigas das adições de convidados do VirtualBox geralmente não funcionam com os kernels mais recentes.

dwurf
fonte
5
Instalar dkms, reiniciar e executar novamente o script de instalação funcionou para mim. Isso também é declarado no documento oficial: virtualbox.org/manual/ch04.html#idp11274368
descansando
versões mais recentes (do virtualbox estão disponíveis como arquivos deb aqui: download.virtualbox.org/virtualbox ) Eles também têm as adições de convidados iso. Usando as últimas coisas fixas para mim.
bacon
1
Link do documento oficial atual: virtualbox.org/manual/ch04.html#idp46730490388960
Max
instalar dkms funcionou perfeitamente para mim.
Ayush
10

A resposta sobre você precisar do X para usar adições de convidados é apenas ridículo. O motivo pelo qual ele funciona após a instalação do X é que ele puxa o libglib como uma dependência, mas seria realmente desnecessário instalar o servidor X inteiro apenas para executar as adições.

Todos os pacotes que você precisa são os seguintes:

  • essencial
  • linux-headers-`uname-r`
  • libglib2.0-0

Obviamente, é apenas parte do build-essential e libglib que você precisa, mas, em vez de investigar exatamente quais pacotes são necessários, é mais fácil deixá-los usar suas dependências.

Uma nota lateral é que esses são exatamente os mesmos pacotes necessários para o "VMware Tools" equivalente em vmware em uma máquina vmware.

yzfr1
fonte
9

Depois de instalar os pacotes sugeridos com o seguinte comando:

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

Atualizei minha versão do VirtualBox, conforme sugerido pelo dwurf. Isso consertou para mim.

warren2k
fonte
1

A única solução que funcionou para mim foi remover o Virtual Box e instalar a versão mais recente do site VirtualBox (versão: 4.3.10 (repo) vs. 4.3.22 (site)).

Paulo
fonte
1

Eu tentei TODA a solução acima e tenho certeza de que instalei os cabeçalhos adequados, mas ainda não tive sorte !!!

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

E também instalei a versão mais recente do Virtual Box a partir de hoje 5.0.4, mas ainda tenho o erro ao tentar instalar o Guest Additions com erro

The headers for the current running kernel were not found.

Solução:

No final, o que resolveu meu problema é executar o VBoxLinuxAdditions.rundiretório from / root em vez de outro diretório como / home / !!!

Inicialmente, eu estava rodando a VBoxLinuxAdditions.runpartir do /home/diretório e continua tendo esse erro de barramento, mas depois de usar o comando abaixo no diretório raiz, está tudo bem, problema resolvido!

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

Depois disso, você pode simplesmente usar reboot, então você deve ter o Guest Additional feito corretamente e a Tela cheia também! YAY !!!

Gob00st
fonte
Eu tentei isso, mas ainda não funciona. Mãos acima
yaochiqkl
Nao funciona para mim.
Mckeb_ahmed 13/04/2018
1

Normalmente eu instalo as adições de convidados diretamente via virtualbox (mount cdrom, sh ./VBoxLinuxGuestAddtions.run). No entanto, a maioria das distribuições Linux oferece um pacote que pode ser instalado através do seu gerenciador de pacotes. Para mim, o seguinte comando resolveu o problema:

sudo apt-get install virtualbox-guest-dkms
rednammoc
fonte
Tentei todas as outras soluções de instalação e continuei tendo problemas com os suplementos ou o script de instalação. Esta solução resolveu o problema raiz diretamente. Obrigado!
Sadakatsu
1

Eu acho que esse erro é causado pelo uso de uma versão antiga do Virtual Box ou pelo menos uma versão antiga da imagem ISO do Guest Additions.

Consegui obter sucesso baixando uma nova ISO do VBox Guest Additions e executando o script VBoxLinuxAdditions.run. Fui para o site de download do Virtual Box e peguei um novo ISO.

Por razões (muito chatas para entrar), não pude atualizar minha versão do VirtualBox no host (Windows), mas pude copiar o novo arquivo ISO para um local local no sistema de arquivos.

Em seguida, no menu "Dispositivos" na janela da VM, escolhi um novo CD / DVD virtual e escolhi o local em que baixei a nova imagem ISO.

Então, dentro da VM Debian, fui \media\cdrome executei o novo VBoxLinuxAdditions.runscript como root. (Eu já tinha instalado dkms, cabeçalhos atuais do kernel etc.) Então o script parou de reclamar falsamente dos cabeçalhos ausentes (eles não estavam faltando) e construiu os objetos do kernel necessários.

Todo o motivo para fazer isso foi para que o X.org me desse resoluções de tela adicionais e eu pudesse executar a VM com uma resolução mais alta do que os padrões conservadores.

Geeb
fonte
0

Eu estava recebendo os mesmos erros do OP ao tentar compilar o VirtualBox Guest Additions v4.1.12 em vários tipos de convidados do K / Ubuntu 13.04.

Building the shared folder support module ...fail!

Isso ocorre devido a erros (ou expectativas não atendidas) das adições de convidados do VirtualBox em várias partes da fonte linux (no GUEST). Infelizmente, a Oracle escolhe vincular a versão do VirtualBox Host muito de perto à versão do VirtualBox Guest Additions, portanto, se houver um erro nas Guest Additions, será necessário atualizar o host ao mesmo tempo.

Eu tinha as seguintes versões de caixa virtual instaladas no 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

Conforme as instruções em: http://www.ubuntuupdates.org/ppa/virtualbox?dist=precise

Atualizei para 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

Agora, os convidados do K / Ubuntu 13.04 podem criar e instalar suas adições de convidados do 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
Phoeey
fonte
0

Eu acho que você está perdendo alguma coisa. Tente instalar

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

Para mim é o kali linux com 3.14

Cumprimentos.

ch4t0
fonte
0

Eu estava enfrentando esse problema e o corrigi executando estes comandos:

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

Mais informações

Eduardo Dennis
fonte
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

+ bônus: pastas compartilhadas "secretas";)


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

  4. ???
  5. lucro;)

fonte