この簡単なガイドでは、LinuxのVirtualBoxでネストされた仮想化を有効にする方法について説明します。ネストされた仮想化は、仮想マシン内で仮想マシンを実行できるようにする機能です。たとえば、UbuntuLinuxシステムでOracleVirtualBoxを使用してCentOSVMを実行するとします。 UbuntuでネストされたVT機能が有効になっている場合は、virtualboxまたは KVMをインストールできます。 CentOS VMで、その中で他のVMを実行します。つまり、基本的には、別の仮想化環境内で仮想化環境を実行する方法です。
VirtualBoxでネストされた仮想化を有効にする
バージョン6.1以降 、Oracle VirtualBoxは、AMDおよびIntelCPUを実行するホストシステムでネストされた仮想化機能をサポートします。したがって、最新のvirtualboxバージョンを実行していることを確認してください。
コマンドラインまたはGUIからネストされた機能を有効にできます。まず、コマンドラインの方法を見てみましょう。
1。コマンドラインからVirtualBoxVMのネストされた仮想化機能を有効にする
まず、コマンドを使用して使用可能なVMのリストを見つけましょう:
$ vboxmanage list vms
出力例:
"CentOS 8 Server" {73997fc7-4ae2-42bf-a11d-fcbe00721e13} "Ubuntu 20.04 Server" {a7cab540-51c2-4110-b489-a4ad13b71f96}

利用可能なvirtualboxVMのリスト
ご覧のとおり、Virtualboxに2つのVMを作成しました。
次に、コマンドを使用してCentOS8VMのネストされた機能を有効にします。
$ VBoxManage modifyvm "Ubuntu 20.04 Server" --nested-hw-virt on
また、vboxmanageコマンドを小文字で使用することもできます:
$ vboxmanage modifyvm "Ubuntu 20.04 Server" --nested-hw-virt on
このコマンドは、ゲストVMへのハードウェア仮想化機能のパススルーを使用して、ネストされた仮想化を有効にします。
ここでは、名前にスペースが含まれているため、仮想マシン名を引用符で囲んでいます。名前にスペースが含まれていない場合は、引用符で囲む必要はありません。
2。 GUIからVirtualBoxVMのネストされた仮想化機能を有効にする
DashまたはMenuからVirtualBoxマネージャーを開きます。ネストされた機能を有効にするVMをクリックし、[設定]を選択します。

virtualboxの仮想マシン設定
[システム]->[プロセッサ]に移動し、[ネストされたVT-x/AMD-Vを有効にする]チェックボックスをクリックします。 [OK]をクリックして変更を保存します。

virtualboxmanagerでネストされた仮想化を有効にする
今後、このVMはハイパーバイザーとして機能するため、VMを内部で実行できます。
すでに述べたように、ネストされたVT機能は、AMDおよびIntelCPUを実行するホストシステムで使用できます。ただし、Intel CPUの場合、オプションはグレー表示されます。そのため、VirtualboxManagerから直接有効にすることはできません。

ネストされたVT-xオプションを有効にするはvirtualboxでグレー表示されます
Intel CPUでネストされた機能を有効にするには、前のセクションで説明したコマンドラインの方法に従います。
4。ネストされた仮想化がVMで有効になっているかどうかを確認します
ネストされた機能を有効にしたVMを起動します。
VMにログインし、次のコマンドを実行して、ネストされた機能が有効になっているかどうかを確認します。
$ egrep --color -i "svm|vmx" /proc/cpuinfo

ネストされた仮想化がvirtualboxVMで有効になっているかどうかを確認します
「vmx」が表示された場合 (Intel-VTテクノロジー)または「svm」 (AMD-Vサポート)出力では、virtualboxゲストマシンはハイパーバイザーおよびホストVMとして機能できます。上記の出力でわかるように、私のUbuntu20.04VMは仮想化をサポートしています。
LinuxシステムがVTをサポートしているかどうかを確認するその他の方法については、次のガイドを確認してください。
- CPUが仮想化テクノロジー(VT)をサポートしているかどうかを確認する方法
関連記事:
- LinuxのKVMでネストされた仮想化を有効にする方法