web-dev-qa-db-ja.com

VIrtualboxをインストールできません、 `` Specify KERN_DIR = <directory> "` - Virtual BoxをDebianにインストールしますか?

私はこのエラーを受けています:

Makefile:181:***エラー:現在のLinuxカーネルのソースが見つかりません。 KERN_DIR =を指定して、再度Makeを実行してください。やめる。

基本的に私はやっている:

$ Sudo /etc/init.d/vboxdrv setup
Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.
The missing package can be probably installed with
yum install kernel-devel-2.6.32-573.18.1.el6.x86_64

Building the main Guest Additions module                   [FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)

そしてエラーは:

Makefile:181:***エラー:現在のLinuxカーネルのソースが見つかりません。 KERN_DIR =を指定して、再度Makeを実行してください。やめる

このエラーとは何ですか?

38
hhh

必ずKernel Headers Packageをインストールしてください。

http://www.cyberciti.biz/faq/howto-install-kernel-headers-package

Make sure you have updated version

Type the following command
$ Sudo apt-get update

OR as root user enter:
# apt-get update

Search for kernel version (optional)

Type the following command:
$ apt-cache search linux-headers-$(uname -r)

Install linux-header package under Debina or Ubuntu Linux

Type the following command:
$ Sudo apt-get install linux-headers-$(uname -r)

OR as root user:
# apt-get install linux-headers-$(uname -r)

編集:

たまたま自分のサーバーにもインストールする必要があり、debianリポジトリでvirtualboxを使おうとしたときに同じエラーが出ました。私は先に行き、VirtualBoxレポを追加し、そこからインストールしました。最新のものであるため、これはより優れています。

ルートとして

$ nano /etc/apt/sources.list 

絞り込むために以下の行を追加

deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free

次に、apt-secure用のOracle公開鍵を追加します。

$ wget -q http://download.virtualbox.org/virtualbox/debian/Oracle_vbox.asc -O- | Sudo apt-key add -

次にアップデートを実行して最新の4.2をインストールします。

apt-get update
apt-get install virtualbox-4.2

VirtualBox Hostカーネルモジュールが最新であることを確認するためにdkmsパッケージをインストールします。

apt-get install dkms

行ってもいいはずです。現時点では停止しているようですが、リンクはVirtualBoxのLinux用Webサイトから取得しました。 https://www.virtualbox.org/wiki/Linux_Downloads

35
Brandon

Fedora/CentOSでこれを修正する方法

まず、インストールしたパッケージ(特にカーネル)が最新であることを確認してください。

$ Sudo yum update     

カーネルのバージョンが更新されたら、uname -r/usr/src/kernels/のディレクトリ名と一致するように再起動する必要があります。それから

$ Sudo yum install kernel-devel gcc
$ echo export KERN_DIR=/usr/src/kernels/`uname -r` >> ~/.bashrc
$ source ~/.bashrc     # to set the variable in your current Shell
$ Sudo echo $KERN_DIR  # verify the value is set
$ Sudo ls $KERN_DIR    # verify the directory exists 

このコンパイル後、VirtualBoxカーネルモジュールは問題なく動作するはずです。

出典:

29
user11153

@hhh linux-headersだけを検索し、あなたのアーキテクチャに適したものを見つけるべきです。私の場合:

# aptitude search linux-headers      
v   linux-headers                                                       -                                                                              
p   linux-headers-2.6-AMD64                                             - Header files for Linux AMD64 configuration (dummy package)                   
p   linux-headers-3.2.0-4-all                                           - All header files for Linux 3.2 (meta-package)                                
p   linux-headers-3.2.0-4-all-AMD64                                     - All header files for Linux 3.2 (meta-package)                                
i A linux-headers-3.2.0-4-AMD64                                         - Header files for Linux 3.2.0-4-AMD64                                         
i A linux-headers-3.2.0-4-common                                        - Common header files for Linux 3.2.0-4                                        
p   linux-headers-3.2.0-4-common-rt                                     - Common header files for Linux 3.2.0-4-rt                                     
p   linux-headers-3.2.0-4-rt-AMD64                                      - Header files for Linux 3.2.0-4-rt-AMD64                                      
i   linux-headers-AMD64                                                 - Header files for Linux AMD64 configuration (meta-package)                    
p   linux-headers-rt-AMD64                                              - Header files for Linux rt-AMD64 configuration (meta-package)

だから、私の場合、私は64ビットアーキテクチャを持っています、私はlinux-headers-AMD64をインストールしなければなりません。

apt-get addは存在しません。 apt-getapt-keyに置き換えます。

2
Adrien

試してください:

yum install kernel* dkms gcc

それから

yum install kernel-uek-devel

それからあなたのマシンを再起動します

1
Carlos

CentOSでKERN_DIRエラーが発生しました。シェルインストールスクリプトを確認したところ、KERN_DIRが/ usr/src/kernelsに設定されていることがわかりました。それから、 "uname -r"は、/ usr/src/kernelsの下のソースコードよりも低いバージョンのカーネルを実行していたことを示していました。

/boot/grub/menu.lst ...を見て、カーネルの不一致を確認しました。変です。

だから修正した... "yum - yアップデートカーネル"、その後再起動します。 VMWareツールがインストールされました。

1
user513000

どのOSでも、必要なパッケージがすべてインストールされていることを確認する必要があります。私のDebianの場合、パッケージdkmsとlinux-headers-genericがありませんでした。

#apt-get install dkms build-essential linux-headers-generic linux-headers-$(uname -r)

詳しい手順については、こちら VirtualBoxフォーラムの投稿 を参照してください。

0
site

エラーはvboxdrv/vboxaddがあなたのカーネルソースを見つけることができないことを意味します。

スクリプトは/lib/modules/$(uname -r)/buildフォルダがkernelreleaseタスクを実行できるMakefileがあるはずの/usr/src/kernels/$(uname -r)を指すことを期待しているので、現在インストールされているカーネルのバージョン(uname -r)と比較することができます。

そのため、このコマンドが失敗した場合:

make -C /usr/src/kernels/$(uname -r)/build kernelrelease

次のようにしてLinuxヘッダをインストールしてください。

Sudo apt-get install linux-headers-$(uname -r)

詳しくはこちら の投稿 をご覧ください。

0
kenorb