3.5.0と3.6.0という2つのカーネルがインストールされています。いくつかの理由でカーネル3.5.0を実行する必要があります。 VirtualBoxは3.6.0では完全に動作しますが、3.5.0では動作しません。
カーネル3.5.0を起動した後apt-get --reinstall install virtualbox-dkms
。これにより、VirtualBox モジュールが正常に再コンパイルされました。ただし、ロードに失敗します。
# modprobe vboxdrv
ERROR: could not insert 'vboxdrv': Exec format error
/var/log/messages:
warning: `VirtualBox' uses 32-bit capabilities (legacy support in use)
vboxdrv: disagrees about version of symbol module_layout
モジュールが正しく取り付けられているようです。
$ ls /lib/modules/3.5.0/updates/dkms/
vboxdrv.ko vboxnetadp.ko vboxnetflt.ko vboxpci.ko
システム情報: Debian が不安定です。パッケージはvirtualbox-dkms
すでにインストールされています。
$ uname -r
3.5.0
$ apt-cache show virtualbox | grep Version
Version: 4.1.18-dfsg-1.1
$ apt-cache show dkms | grep Version
Version: 2.2.0.3-1.2
以下はモジュールビルドの出力です。
-------- Uninstall Beginning --------
Module: virtualbox
Version: 4.1.18
Kernel: 3.5.0 (x86_64)
-------------------------------------
Status: Before uninstall, this module version was ACTIVE on this kernel.
vboxdrv.ko:
- Uninstallation
- Deleting from: /lib/modules/3.5.0/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
vboxnetadp.ko:
- Uninstallation
- Deleting from: /lib/modules/3.5.0/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
vboxnetflt.ko:
- Uninstallation
- Deleting from: /lib/modules/3.5.0/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
vboxpci.ko:
- Uninstallation
- Deleting from: /lib/modules/3.5.0/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod....
DKMS: uninstall completed.
-------- Uninstall Beginning --------
Module: virtualbox
Version: 4.1.18
Kernel: 3.6.0 (x86_64)
-------------------------------------
Status: Before uninstall, this module version was ACTIVE on this kernel.
vboxdrv.ko:
- Uninstallation
- Deleting from: /lib/modules/3.6.0/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
vboxnetadp.ko:
- Uninstallation
- Deleting from: /lib/modules/3.6.0/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
vboxnetflt.ko:
- Uninstallation
- Deleting from: /lib/modules/3.6.0/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
vboxpci.ko:
- Uninstallation
- Deleting from: /lib/modules/3.6.0/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod....
DKMS: uninstall completed.
------------------------------
Deleting module version: 4.1.18
completely from the DKMS tree.
------------------------------
Done.
Unpacking replacement virtualbox-dkms ...
Setting up virtualbox-dkms (4.1.18-dfsg-1.1) ...
Loading new virtualbox-4.1.18 DKMS files...
Building for 3.5.0 and 3.6.0
Building initial module for 3.5.0
Done.
vboxdrv:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.5.0/updates/dkms/
vboxnetadp.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.5.0/updates/dkms/
vboxnetflt.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.5.0/updates/dkms/
vboxpci.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.5.0/updates/dkms/
depmod....
DKMS: install completed.
Building initial module for 3.6.0
Done.
vboxdrv:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.6.0/updates/dkms/
vboxnetadp.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.6.0/updates/dkms/
vboxnetflt.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.6.0/updates/dkms/
vboxpci.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/3.6.0/updates/dkms/
depmod....
DKMS: install completed.
[ ok ] Stopping VirtualBox kernel modules.
[FAIL] Starting VirtualBox kernel modules[....] modprobe vboxdrv failed. Please use 'dmesg' to find out why ... failed!
failed!
invoke-rc.d: initscript virtualbox, action "restart" failed.
3.5.0でVirtualBoxを実行するには?
答え1
リンクをくれたWarlockに感謝します。バージョンの不一致があるようです。kernel-source
パッケージを作成しなかったために発生したようです。代わりに、他のいくつかのバージョンをコンパイルするためにも使用されるgitリポジトリを使用しました。
まず、パッケージlinux-image
とlinux-headers
(現在実行中のカーネル)を削除しました。
次のステップは完全にきれいなチェックアウトです(ディレクトリにビルドが残っていません)。その後、カーネルをビルドし、パッケージ
linux-image
とlinux-headers
パッケージを作成してlinux-source
インストールしました。その後、VirtualBoxモジュールが正常に構築されロードされます。
以前にどのバージョンが一致しなかったかはわかりませんが、次の手順ではバージョンの不一致は発生しません。
答え2
このパッケージをインストールしましたかvirtualbox-dkms
?
通常、カーネルをアップグレードするたびに再インストールする必要があります。これはdkms部分が破損したという信号だと思いますが、再インストールすると効果がありました。新しいカーネル以外のカーネルに再インストールしたことはありませんが、現在実行中のカーネルに対してビルドする必要があるとします。