Windows 8.1ホスト上のVirtualBox 5.0.16 r105871ゲストとして最小のCentOS 7インストールがあります。 uname -r
は「3.10.0-327.10.1.el7.x86_64」を報告します。
VBoxLinuxAdditions.run
を実行しようとすると、「現在実行中のカーネルのヘッダーが見つかりませんでした」というエラーが表示され、yum install kernel-devel-3.10.0-327.10.1.el7.x86_64
を実行するように提案されます。ただし、yum list kernel-devel
は、(kernel-headers
および適切なバージョンと同様に)インストール済みであることを示しています。
vboxadd
にロギングを追加すると、/lib/modules/3.10.0-327.10.1.el7.x86_64/build
でヘッダーが検索されていることがわかります。これは、不足している/usr/src/kernels/3.10.0-327.10.1.el7.x86_64
へのデッドリンクであることが判明しています。実際、/usr/src/kernels/
は空です。
グーグル検索は、CentOSの多くのバージョンがインストールを機能させるためにVBGAへのパッチを必要とすることを示唆していますが、CentOS 7に固有のそのようなメモや、欠落しているカーネルヘッダーを参照するメモはありません。
https://serverfault.com/questions/613256/trying-to-remove-packages-with-yum-however-it-is-failing クリーンアップを行ったyum list
はもう表示されませんkenel-devel
なので、インストールして/usr/src/kernels/
は空ではなくなり、ゲスト追加機能のインストールは成功します。
VirtualBox Guest Additionsドライブをマウントします。デバイスメニューから、[VirtualBox Guest Additionsのインストール]オプションをクリックし、次のコマンドを入力します。
yum install -y linux-headers-$(uname -r)
次のコマンドを使用して、VBoxLinuxAdditions.run
ファイルをドライブからルートディレクトリにコピーします。
cp /media/cd-rom/VBoxLinuxAdditions.run /root/
実行可能にしてインストールします。
chmod 755 /root/VBoxLinuxAdditions.run
cd /root/Desktop
./VBoxLinuxAdditions.run
リブート
私はこれを使って問題を解決しました:
yum install "kernel-devel-uname-r == $(uname -r)"
次のコマンドを実行するだけで、標準のインストール方法の問題が解決したことがわかりました。
ヘッダーがないことを確認します。
uname -r
# Verify the kernel version doesn't appear in the following location
ls /usr/src/kernels*
インストールを達成する:
yum install -y gcc Perl kernel-headers kernel-devel
ヘッダーがインストールされていることを確認します
ls /usr/src/kernels*
ゲスト追加CDを再ロードして、自動プロンプトインストールするか、ディスクドライブにcdして、root権限でautorun.shを実行します。
ちなみに、CentOS 7では、open-vm-tools
が正式に推奨されています。
$ ./vmware-install.pl
open-vm-toolsパッケージはOSベンダーから入手でき、VMwareはopen-vm-toolsパッケージの使用を推奨しています。 mroeの情報については、 http://kb.vmwaare.com/kb/20738 を参照してください。
このインストールを続行しますか? [はい]