Rancher DesktopとVirtualBoxを共存させるためのkernelモジュールのやりくり

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不要起動: 失敗起動: 正常

各パターンでのエラー内容

今回用いた環境は次の通り。

項目内容
Platformx86_64
OSUbuntu Server 22.04.4 LTS (Jammy Jellyfish)
Racher DesktopVersion 1.13.0
VirtualBoxVersion 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
    

参考リンク