web-dev-qa-db-ja.com

カーネルモジュールがないためVirtualBoxをインストールできない

UbuntuにVirtualBoxをインストールしようとしています。

私は最初にターミナルでSudo apt-get install virtualbox-oseを試みましたが、構成ステップの後、 エラー で失敗します:

カーネルを実行するのに適したモジュールが見つかりませんvirtualboxの起動に進むと、次のエラーが表示されます。警告:キャラクターデバイス/ dev/vboxdrvは存在しません。 virtualbox-ose-dkmsパッケージと適切なヘッダー(ほとんどの場合linux-headers-generic)をインストールしてください。

この問題が修正されるまで、VMを起動することはできません。

そこで、私は http://www.virtualbox.org/ からパッケージを試しましたが、VirtualBoxの起動は次のように失敗します:

警告:vboxdrvカーネルモジュールはロードされていません。現在のカーネル(2.6.38-8-generic-pae)に使用できるモジュールがないか、ロードに失敗しました。カーネルモジュールを再コンパイルしてインストールしてください

  Sudo /etc/init.d/vboxdrv setup

この問題が修正されるまで、VMを起動することはできません。

そこでSudo /etc/init.d/vboxdrv setupを実行しましたが、失敗します:

* Stopping VirtualBox kernel modules                                                           [ OK ] 
* Uninstalling old VirtualBox DKMS kernel modules                                                            [ OK ] 
* Trying to register the VirtualBox kernel modules using DKMS                                                       
Error! Your kernel headers for kernel 2.6.38-8-generic-pae cannot be found at
/lib/modules/2.6.38-8-generic-pae/build or /lib/modules/2.6.38-8-generic-pae/source.

* Failed, trying without DKMS
* Recompiling VirtualBox kernel modules                                                                             
* Look at /var/log/vbox-install.log to find out what went wrong

/var/log/vbox-install.logの内容

立ち往生しているので、kernel-develyumでインストールしようとしましたが、まだ実りがありません。

root@ubuntu# yum install kernel-devel
Setting up Install Process
No package kernel-devel available.
Nothing to do

今、私はこれを修正する方法がわかりません。何か案は?

16
SoftTimur

suおよびyumパッケージマネージャーを使用してすべてをルートとして実行することは、Redhatベースのディストリビューションに適していますが、Ubuntuではできません。 Ubuntuでは、コマンドの前にSudoを付けてコマンドをルートとして実行します。 Ubuntuで使用されるパッケージマネージャーはaptです。

VirtualBoxをインストールするには、次を実行します。

Sudo apt-get install virtualbox-ose

これは、パッケージlinux-headers-genericに含まれているカーネルヘッダーのような依存関係を処理します。 PAEカーネルを使用している場合、最初にヘッダーをインストールする必要があります(場合によってはlinux-headers-2.6.38-8-generic-pae)。これは次の方法で実行できます。

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

uname -rは、ロードされたカーネルバージョンを提供し、カーネルバージョンを手動で入力する手間を省きます。

18
Lekensteyn

私は同じ問題を抱えていました。 linux-headers-<version>-generic-paeをインストールしましたが、皮肉なことにlinux-headers-generic-paeがありませんでした。それらをインストールすると、おそらく役立つはずです。

幸運を!

2
shaneonabike

build-essentialsをインストールします。

apt-get install build-essentials 

そしてインストールlinux-kernel-headers

apt-get install linux-kernel-headers 

または

apt-get install linux-kernel-*

インストールdkms

apt-get install dkms
1
SH_Rohit