運用しているVirtualBoxをアップデートする良い感じの手順

# 概要

運用しているVirtualBoxをアップデートする際、
ゲストマシン🚶上のVirtualBoxプラグイン(virtualbox-guest-additions, vboxguest)と、
上記プラグインを動かすためのホストマシン🏠側の機能(vboxhost)をアップデートする必要がある。
VirtualBoxのアップデートと同時に、
カーネルのアップデートも起こった時、
雑にやるといろいろトラブルが起きるので、
良い感じの手順をまとめる。

執筆時のバージョンはVirtualBox 5.0.24。

# 手順概要

以下が今回まとめる手順の概要になる。

1. ゲストマシン🚶を全て止める
2. ホストマシン🏠のvboxhostをアンインストールする
3. ホストマシン🏠のカーネルとVirtualBoxをアップデートする
4. ホストマシン🏠を再起動する
5. ホストマシン🏠の要らないカーネルを削除する
6. ホストマシン🏠にvboxhostをインストールする
7. ゲストマシン🚶を起動する
8. ゲストマシン🚶のvboxguestをアンインストールする
9. ゲストマシン🚶のカーネルをアップデートする
10. ゲストマシン🚶を再起動する
11. ゲストマシン🚶の要らないカーネルを削除する
12. ホストマシン🏠を操作して、ゲストマシン🚶にvboxguestのインストールディスクを入れる
12. ゲストマシン🚶にvboxguestをインストールする
13. ホストマシン🏠を操作して、ゲストマシン🚶からディスクを取り除く

ホスト、ゲストともに、dkmsを入れてある事を前提としている。
dkmsは新しいカーネルをインストールした時、
再起動してカーネルがスイッチする前に、
各種dkmsモジュールを、
システムにインストールしてあるカーネル全てに向けてリビルドするようになっている。
しかし、新しいvboxhostやvboxguestが、古いカーネルでは正常にビルドできず、警告メッセージが出て気持ち悪いし、
カーネルが複数入っているとビルド時間もその分増えてしまうため、
余計なカーネルを削除する。

以下では、個別の手順についてコマンドを追って説明していく。

## ゲストマシン🚶を全て止める

ゲストマシン🚶は個別にログインして終了するか、ホストマシン🏠から電源ボタンを押してやることで終了できる。

### 個別にログインする

```
[🚶] $ sudo shutdown now
```

### ホストマシン🏠から電源ボタンを押す

以下のコマンドで起動中のマシン一覧が得られる。

```
[🏠] $ vboxmanage list runningvms
```

以下のコマンドで個別に電源ボタンを押す。

```
[🏠] $ vboxmanage controlvm <guest name> acpipowerbutton
```

## ホストマシン🏠のvboxhostをアンインストールする

以下のコマンドでインストールされているvboxhostのバージョンを確認する。
dkmsのモジュールは、モジュールのバージョンとカーネルのバージョンの組み合わせで複数インストールされている。

```
[🏠] $ sudo dkms status
```

既存のvboxhostをアンインストールする。

```
[🏠] $ sudo dkms remove vboxhost/<module version> --all
```

引数の`--all`は、全てのカーネルバージョンを意味する。

## ホストマシン🏠のカーネルとVirtualBoxをアップデートする

```
[🏠] $ sudo yum update
```

ここでカーネルのみアップデートがあった場合には、
vboxhostをアンインストールしてあるので、
ここでカーネルインストールされる際、dkmsの自動ビルドが走らずに済む。

VirtualBoxのアップデートがあった場合には、
vboxhostのリビルドとインストールが自動で走ってしまうので、
その後でもう一度上記手順によりvboxhostを削除しておく。

## ホストマシン🏠を再起動する

```
[🏠] $ sudo reboot
```

再起動したら、下記でカーネルバージョンを確認する。

```
[🏠] $ uname -a
```

## ホストマシン🏠の要らないカーネルを削除する

インストールされているカーネルは下記で確認できる。

```
[🏠] $ sudo yum list "kernel*"
```

ここで表示されるものを、現在起動している1つだけにする。

下記のコマンドで古いカーネルが削除できる。

```
[🏠] $ sudo package-cleanup --oldkernels --count=1
```

`--oldkernels`が、古いカーネルを削除する、という意味。
`--count=1`が、残すカーネルを今起動している1つだけにする、という意味。これを指定しない場合、現在のものと、1つ前のものの2つが残る。

## ホストマシン🏠にvboxhostをインストールする

下記のコマンドでvboxhostがインストールできる。

```
[🏠] $ sudo /usr/lib/virtualbox/vboxdrv.sh setup
```

## ゲストマシン🚶を起動する

ゲストマシン🚶はホストマシン🏠でコマンドを叩いて起動する。

```
[🏠] $ vboxmanage startvm <guest name> --type headless
```

`--type headless`を指定することで、ホストマシン🏠上でゲストマシン🚶の画面を表示するウィンドウが開かれずに済む。

## ゲストマシン🚶のvboxguestをアンインストールする

ホストマシン🏠の時と同様に、dkmsのremoveで削除する。

```
[🚶] $ sudo dkms status
[🚶] $ sudo dkms remove vboxguest/<module version> --all
```

## ゲストマシン🚶のカーネルをアップデートする

```
[🚶] $ sudo yum update
```

こちらではVirtualBox自体は入らないため、
上記手順でモジュールを削除していれば、
dkmsの自動リビルドは起こらないはず。

## ゲストマシン🚶を再起動する

ホストマシン🏠と同様。

```
[🚶] $ sudo reboot
[🚶] $ uname -a
```

## ゲストマシン🚶の要らないカーネルを削除する

ホストマシン🏠と同様。

```
[🚶] $ sudo package-cleanup --oldkernels --count=1
```

## ホストマシン🏠を操作して、ゲストマシン🚶にvboxguestのインストールディスクを入れる

まず、下記コマンドをホストマシン🏠で叩き、ゲストマシンのCDドライブを特定する。

```
[🏠] $ vboxmanage showvminfo <guest-name>
```

出力から下記ような表示を探す。

```
Storage Controller Name (0):            IDE
Storage Controller Type (0):            PIIX4
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  2
Storage Controller Port Count (0):      2
Storage Controller Bootable (0):        on
Storage Controller Name (1):            SATA
Storage Controller Type (1):            IntelAhci
Storage Controller Instance Number (1): 0
Storage Controller Max Port Count (1):  30
Storage Controller Port Count (1):      2
Storage Controller Bootable (1):        on
IDE (1, 0): Empty
```

`IDE (1, 0): Empty` の部分は、(port, device)と読む。

> 未確認情報
> port=0がプライマリ、port=1がセカンダリ、
> device=0がマスター、device=1がスレーブっぽい。

Emptyとなっているデバイスがあれば、それがおそらくCDドライブなのでそれを使う。

もし無かった場合は、いったんゲストマシン🚶をシャットダウンしてから、下記の手順をport=1, device=0で行う。これにより、CDの挿入と同時にCDドライブが増設される。ドライブの増設のためにはそのゲストマシン🚶の電源を切っておく必要がある。

```
[🏠] $ vboxmanage storageattach <guest name> --storagectl IDE --port 1 --device 0 --medium /usr/share/virtualbox/VBoxGuestAdditions.iso 
```

## ゲストマシン🚶にvboxguestをインストールする

ホストマシン🏠側から挿入したディスクをマウントして、
中のスクリプトを起動する事で、vboxguestがインストールできる。

```
[🚶] $ sudo mkdir /mnt/cdrom
[🚶] $ sudo mount --read-only /dev/cdrom /mnt/cdrom
[🚶] $ sudo /mnt/cdrom/VBoxLinuxAdditions.run 
```

## ホストマシン🏠を操作して、ゲストマシン🚶からディスクを取り除く

ディスク挿入時と同じコマンドにて、`--medium`を`emptydrive`に指定するとディスクを取り除ける。

```
[🏠] $ vboxmanage storageattach <guest name> --storagectl IDE --port 1 --device 0 --medium emptydrive
```

しかし僕の環境ではうまくエラーが出てしまった。
ゲストマシン🚶をシャットダウンしている状態だと成功した。

# 付録

今回の手順は、下記の警告が出たことをきっかけに作成した。
検索用に貼っておく。
これは上述したように、新しいモジュールと古いカーネルの組み合わせでのビルドで発生している警告であり、起動している最新カーネルでは問題は起こっていないが、
気持ち悪いので古いカーネルは適当に削除する事にした。

```
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTNetIPv4HdrChecksum
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSpinlockCreate
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol SUPDrvLinuxIDC
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTR0Init
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemFastMutexCreate
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemFastMutexDestroy
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSpinlockRelease
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTThreadPreemptIsEnabled
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemEventDestroy
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTTimeNanoTS
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTMemFree
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTR0Term
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSpinlockAcquire
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemFastMutexRelease
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTNetIPv4FinalizeChecksum
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTNetIPv4PseudoChecksum
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemEventWait
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTMemAllocTag
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemEventSignal
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTLogRelGetDefaultInstanceEx
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemFastMutexRequest
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemEventCreate
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTUuidCompareStr
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSpinlockDestroy
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTNetIPv6PseudoChecksumEx
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTLogLoggerEx
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTErrConvertFromErrno
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTMemAllocZTag
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTUuidFromStr
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTErrConvertToErrno
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTR0Init
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTR0Term
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTStrToUInt32
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTLogRelGetDefaultInstanceEx
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTLogLoggerEx
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTErrConvertFromErrno
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTErrConvertToErrno
depmod: WARNING: /lib/modules/3.10.0-123.20.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTStrPrintf
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTNetIPv4HdrChecksum
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSpinlockCreate
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol SUPDrvLinuxIDC
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTR0Init
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemFastMutexCreate
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemFastMutexDestroy
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSpinlockRelease
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTThreadPreemptIsEnabled
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemEventDestroy
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTTimeNanoTS
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTMemFree
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTR0Term
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSpinlockAcquire
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemFastMutexRelease
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTNetIPv4FinalizeChecksum
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTNetIPv4PseudoChecksum
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemEventWait
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTMemAllocTag
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemEventSignal
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTLogRelGetDefaultInstanceEx
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemFastMutexRequest
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSemEventCreate
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTUuidCompareStr
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTSpinlockDestroy
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTNetIPv6PseudoChecksumEx
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTLogLoggerEx
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTErrConvertFromErrno
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTMemAllocZTag
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTUuidFromStr
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetflt.ko needs unknown symbol VBoxHost_RTErrConvertToErrno
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTR0Init
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTR0Term
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTStrToUInt32
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTLogRelGetDefaultInstanceEx
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTLogLoggerEx
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTErrConvertFromErrno
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTErrConvertToErrno
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxnetadp.ko needs unknown symbol VBoxHost_RTStrPrintf
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTSpinlockCreate
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol SUPDrvLinuxIDC
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTR0Init
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTSemFastMutexCreate
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTSemFastMutexDestroy
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTMemFree
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTR0Term
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTSemFastMutexRelease
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTLogRelGetDefaultInstanceEx
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTSemFastMutexRequest
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTUuidCompareStr
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTSpinlockDestroy
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTLogLoggerEx
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTErrConvertFromErrno
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTMemAllocZTag
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTUuidFromStr
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTErrConvertToErrno
depmod: WARNING: /lib/modules/3.10.0-229.11.1.el7.x86_64/weak-updates/vboxpci.ko needs unknown symbol VBoxHost_RTStrPrintf
```