5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

systemctl start vboxservice.service に失敗する

Last updated at Posted at 2015-11-28

2016-02-19 追記
systemd 228-4 で解決されたので以下の情報は賞味期限切れです。

環境

  • VirtualBox 5.0.0
  • VirtublBox 上の ArchLinux
  • systemd 228-3

vboxservice の起動に失敗する

vboxservice を起動して

# systemctl start vboxservice.service

状況を確認すると ConditionVirtualization=oracle was not met で起動できていません。

# systemctl status vboxservice.service
● vboxservice.service - VirtualBox Guest Service
   Loaded: loaded (/usr/lib/systemd/system/vboxservice.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/vboxservice.service.d
           └─override.conf
   Active: inactive (dead)
Condition: start condition failed at Sat 2015-11-28 12:41:14 JST; 59s ago
           ConditionVirtualization=oracle was not met

原因

VirtualBox 5.0 で準仮想化の規定値が KVM になり、systemd が検出する仮想化の値が kvm に変わってしまい、期待している oracle が返ってこなくて起動しません。

# systemd-detect-virt
kvm

とりあえずの解決方法

以下どちらかで解決しますがパフォーマンスは KVM の方がよさそうなので、私はunitファイルを編集して対応しました。

準仮想化インターフェースを Legacy にする

仮想マシンの設定で準仮想化インターフェースで Legacy を選択すれば、systemd が検出する値が oracle になりますので、vboxservice.service が起動できるようになります。

設定 / システム / アクセラレーション / 準仮想化インターフェースLegacyを選択します。

# systemd-detect-virt
oracle

unitファイルを編集する

unitファイルの ConditonVirtualization の値を kvm に変更します。

[Unit]
ConditionVirtualization=kvm

本来の解決方法

systemd が VirtualBox を kvm として認識するのが間違いのようで、準仮想化インターフェースの設定に関係なく oracle となるのが正しいようです。

2015-07-22 に archlinux のバグレポートに同じ問題があって、そのときには systemd 223 で修正することになり、実際に修正されたようです。

その後仮想化の検出方法に変更があって v228 では同じ問題が発生しているようです。
2015-11-24 に VirtualBox を oracle として認識するための修正がされたので、今後のリリースで解決するだろうと思います。

参考

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?