Rancher DesktopとVirtualBoxを共存させるためのkernelモジュールのやりくり
Page content
これってぶつかるんだ
先日 macOSでのDockerはRancher Desktopが良さげ [2024-03-05]という記事を公開した後、自分のx86_64のUbuntu環境にもRancher Desktopをインストールした。そして数日後に、同じ環境でVirtualBoxが起動しなくなっていることに気づいた。暫定的ながらVirtualBoxを起動できるようにする方法が分かったので、記録メモです。
今回のポイントを先に示すと、Rancher DesktopとVirtualBoxが、次の表のようにkernelモジュールの要・不要に関して干渉する関係になっているために、この2種類のアプリが同時には利用できないということのようです。
アプリ名 | kvm, kvm_* モジュール | モジュールadd状態では | モジュールremove状態では |
---|---|---|---|
Rancher Desktop | 必要 | 起動: 正常 | 起動: 失敗 |
VirtualBox | 不要 | 起動: 失敗 | 起動: 正常 |
各パターンでのエラー内容
今回用いた環境は次の通り。
項目 | 内容 |
---|---|
Platform | x86_64 |
OS | Ubuntu Server 22.04.4 LTS (Jammy Jellyfish) |
Racher Desktop | Version 1.13.0 |
VirtualBox | Version 7.0.14 r161095 (Qt5.15.3) |
A. Rancher Desktopを起動可能な環境でのVirtualBoxエラー
CPU: Intel
- エラー内容:
VD: Backend 'VBoxIsoMaker' does not support async I/O (VERR_NOT_SUPPORTED). VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE). 終了コード: NS_ERROR_FAILURE (0X80004005) コンポーネント: ConsoleWrap インターフェース: IConsole {6ac83d89-6ee7-4e33-8ae6-b257b2e81be8}
- kernelモジュール読み込み状態:
$ lsmod | grep kvm kvm_intel 487424 2 kvm 1409024 1 kvm_intel irqbypass 12288 1 kvm
CPU: AMD (Ryzen)
- エラー内容:
VirtualBox can't enable the AMD-V extension. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_SVM_IN_USE). 終了コード: NS_ERROR_FAILURE (0X80004005) コンポーネント: ConsoleWrap インターフェース: IConsole {6ac83d89-6ee7-4e33-8ae6-b257b2e81be8}
- kernelモジュール読み込み状態:
$ lsmod | grep kvm kvm_amd 208896 2 kvm 1409024 1 kvm_amd irqbypass 12288 1 kvm ccp 135168 1 kvm_amd
B. VirtualBoxを起動可能な環境でのRancher Desktopエラー
- ウィンドウ内のエラー内容:
Rancher Desktop is unable to start Rancher Desktop cannot start because requirements are missing or not configured: - Nested virtualization not enabled on this host Please ensure all requirements are met and try again. Rancher Desktop will now close.
- kernelモジュール読み込み状態:
$ lsmod | grep kvm (該当無し)
エラー解消方法
A. VirtualBoxの起動前には不要なモジュールをremoveしておく
- CPU: Intel
$ sudo modprobe -r kvm_intel $ sudo modprobe -r kvm
- CPU: AMD (Ryzen)
$ sudo modprobe -r kvm_amd $ sudo modprobe -r kvm
B. Racher Desktopの起動前には必要なモジュールをaddしておく
- CPU: Intel
$ sudo modprobe kvm $ sudo modprobe kvm_intel
- CPU: AMD (Ryzen)
$ sudo modprobe kvm $ sudo modprobe kvm_amd