LinuxでVirtualBox VMの起動エラーを修正する方法

Linux 上で VirtualBox VM が起動しない場合は、再インストールを行う前に正確なエラーメッセージを確認してください。ホスト側でよくある原因としては、必要なvboxdrvカーネルモジュールが見つからない、別のカーネル用にビルドされている、またはセキュアブートによってブロックされていることが挙げられます。その他のメッセージは、VM の設定、バージョンの不一致、または拡張パックが必要な機能を示しています。

1. エラーを記録し、ホストのバージョンを確認します。

ダイアログの全文とエラーコードを書き留め、次に実行中のVirtualBoxビルドとLinuxカーネルを確認してください。

VBoxManage --version
uname -r

エラー自体を使用して、次のチェックを選択します。VirtualBox が起動するものの、1 つの VM が失敗する場合は、その VM のログと設定に注目します。すべての VM がホストドライバのメッセージで失敗する場合は、から始めますvboxdrv。

VirtualBoxの起動ダイアログの例(VBoxManageとLinuxカーネルバージョンのチェックの横に表示)
あくまで例です。ご自身のLinuxホストに表示されるエラーコードとバージョン値を使用してください。

2. VirtualBoxホストドライバがロードされているか確認します。

Linuxはvboxdrvホストカーネルモジュールを使用して仮想マシンを実行します。VirtualBoxモジュールを確認し、メインドライバのロードを試してください。

lsmod | grep '^vbox'
sudo modprobe vboxdrv

modprobeエラーが返された場合は、そのエラーメッセージをそのまま使用してください。成功した場合は、VM を再試行してください。Oracle のLinux ホストインストールガイドには、VirtualBox にはホストカーネルモジュールと適切なカーネルヘッダーが必要であることが説明されています。

ロードされたVirtualBoxモジュールの確認とvboxdrvのロードを行うためのターミナルコマンド例
成功した場合modprobeはテキストが返されないことがあります。重要な手がかりはエラーメッセージです。

3. 起動したカーネル用にモジュールを再構築します。

Linuxカーネルのアップデート後、VirtualBoxのモジュールが現在実行中のカーネルと一致しない場合があります。そのカーネルに対応する開発ファイルが利用可能であることを確認してください。

uname -r
ls -ld "/lib/modules/$(uname -r)/build"

リンクが見つからない場合はbuild、ディストリビューションのパッケージマネージャを使用して、対応するカーネルヘッダーまたは開発パッケージをインストールしてください。UbuntuまたはDebianでVirtualBoxがディストリビューションリポジトリからインストールされた場合、一般的な修復手順は次のとおりです。

sudo apt update
sudo apt install linux-headers-$(uname -r) dkms
sudo apt install --reinstall virtualbox-dkms
sudo modprobe vboxdrv

パッケージ名は、Fedora、Arch Linux、openSUSE、その他のシステムで異なります。実行中のカーネルのヘッ​​ダーと、VirtualBox のインストール方法に一致するホストモジュールパッケージをインストールしてください。Oracle のインストーラとディストリビューションの VirtualBox パッケージを混在させないでください。1 つのパッケージソースとその再構築手順を使用してください。Ubuntu のパッケージインデックスには、現在どのリリースが を提供しているかが表示されますvirtualbox-dkms。

実行中のLinuxカーネルとそのモジュールビルドディレクトリを比較したターミナルの例
カーネルのリリースバージョンとそのビルドディレクトリは、実行中のカーネルと同一である必要があります。
VirtualBox DKMSモジュールのUbuntuおよびDebianパッケージ再インストールコマンド例
このパッケージコマンドは、UbuntuまたはDebianのリポジトリからのインストールに適用されます。それ以外の場所では、ご使用のディストリビューションのパッケージ名を使用してください。

4. Linuxがモジュールを拒否する場合は、セキュアブートを確認してください。

セキュアブートは、署名されていないサードパーティ製カーネルモジュールのロードを阻止できます。その状態を確認し、関連するカーネルメッセージを探してください。

mokutil --sb-state
sudo journalctl -k -b | grep -iE 'vbox|verification|key rejected'

出力にキーが拒否された、またはモジュールが未署名であると表示される場合は、ディストリビューションのモジュール署名プロセスに従ってください。Ubuntuでは、DKMSモジュールはマシンオーナーキー(MOK)で署名できます。インストール時にキーの登録を求められた場合は、次回の再起動時に登録画面を完了してください。CanonicalはセキュアブートとMOKのプロセスについてドキュメントを作成しています。セキュアブートを無効にすることは、最初に試すべき修復方法ではありません。

ターミナルでセキュアブートの状態を確認し、カーネルログからVirtualBoxモジュールのエラーを検索する例
カーネルログを使用して、拒否されたモジュールと、ビルドの欠落または失敗を区別します。

5. エラーが発生した場合にのみ、拡張パックを確認してください。

拡張パックは、通常の仮想マシンを起動するための必須要件ではありません。USB 2.0および3.0のサポートやリモートディスプレイ機能など、特定の機能を追加します。エラーメッセージに拡張機能またはこれらの機能のいずれかの名前が表示されている場合は、インストールされているパックを確認してください。

VBoxManage list extpacks

インストールされている場合は、そのバージョンがVirtualBoxホストのバージョンと一致している必要があります。古いパックはVirtualBoxの拡張機能管理機能を使用して更新または削除するか、VirtualBoxの公式ダウンロードページから対応するリリースをダウンロードしてください。仮想マシンが起動しないという理由だけで、古い拡張パックをインストールしないでください。

VBoxManage のリスト extpacks の出力例(プレースホルダー拡張パックバージョンの詳細を含む)
拡張パックのバージョンをホストのバージョンと比較してくださいVBoxManage --version。

6. 1台のマシンに影響するエラーについては、VMログを使用してください。

VM が 1 つだけ失敗した場合は、そのVBox.logVM のLogsフォルダーにあるログファイルを開きます。デフォルトの場所は ですが~/VirtualBox VMs/VM-name/Logs、VM は別のフォルダーを使用することもできます。最初の致命的なエラーがないか、起動失敗付近の最後の行を確認してください。Oracle のトラブルシューティングの章では、ログと一般的な診断の手がかりについて説明しています。

具体的な診断ではなく、一般的なプレースホルダーエントリを含む、VBox.log の例ウィンドウ
ログの抜粋は障害の種類によって異なります。起動しなかった仮想マシンの実際のログを使用してください。

ハードウェア仮想化が利用できないというメッセージが表示された場合は、ホストファームウェアで Intel VT-x または AMD-V (SVM と表記される場合もあります) を有効にしてください。Linux 自体が別の仮想マシン内で実行されている場合は、外側のハイパーバイザーがネストされた仮想化を公開する必要があります。エラーが指摘している場合を除き、無関係な仮想マシンの設定を変更しないでください。

VirtualBox VMの概要例。マシンの詳細の中にハードウェア仮想化が含まれている。
マネージャーのラベルとレイアウトはVirtualBoxのバージョンによって異なります。エラーメッセージには、どの設定を確認すべきかを示す情報が記載されているはずです。

7. 危険な権限変更は避ける

chownVirtualBoxの修復のために実行しないでください/usr。システムディレクトリは通常rootユーザーが所有しており、所有権を広範囲に変更すると、カーネルモジュールを修復せずにパッケージ管理ファイルが破損する可能性があります。正しいヘッダーをインストールするか、ドライバを再構築した後、目的のカーネルで再起動し、VMを再度試してください。

それでも失敗する場合は、ダイアログの正確なテキスト、Linuxディストリビューションとカーネルバージョン、VirtualBoxのバージョン、dkms status出力、および関連するファイルの末尾を保存してくださいVBox.log。これらの詳細情報によって、次のステップがホストドライバ、セキュアブート、VM構成、またはバージョンの不一致のいずれに該当するかを特定できます。

コメントを残す

失われたパーティションとハードディスクデータを安全に復元する方法

失われたパーティションとハードディスクデータを安全に復元する方法

TestDiskとPhotoRecを使って、失われたパーティションやファイルを復元する方法を学びましょう。ソースドライブを保護し、安全にスキャンを行い、復元したデータを別のディスクに保存します。

LinuxデスクトップでQRコードをスキャンする方法

LinuxデスクトップでQRコードをスキャンする方法

CoBangを使えば、Webカメラまたは画像ファイルでLinux上でQRコードをスキャンできます。インストールオプション、セットアップ手順、Flatpakカメラへのアクセスに関する修正方法については、こちらをご覧ください。

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使用してLinux上でウェブカメラの設定を変更しましょう。露出、色、フリッカー低減などのサポートされているコントロールを調整し、互換性のあるビデオモードを確認できます。

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールするには、JetBrains Toolboxを使用するか、スタンドアロンのtar.gzアーカイブを使用するか、SnapおよびArch AURオプションを選択してください。Javaは既にバンドルされています。

LinuxにCisco Packet Tracerをインストールする方法

LinuxにCisco Packet Tracerをインストールする方法

Cisco Packet Tracer 9.0.1 を Ubuntu 64 ビット版にダウンロードし、APT を使用して DEB パッケージをインストールし、ターミナルでライセンスに同意してサインインすると、ラボを開始できます。

LinuxでCD-ROMをISOイメージとしてバックアップする方法

LinuxでCD-ROMをISOイメージとしてバックアップする方法

Linux上でGNOME Disksまたはddコマンドを使用してCD-ROM ISOイメージを作成します。光学ドライブを識別し、コピーを監視し、イメージを検証し、破損したディスクやオーディオディスクに別のツールが必要な場合を把握できます。

XFCE 4でデュアルパネルを設定する方法

XFCE 4でデュアルパネルを設定する方法

各ディスプレイごとに個別のXFCE 4パネルを作成し、2番目のパネルを右側の出力に割り当て、位置とサイズを調整し、必要なランチャーとステータス項目を追加します。

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って写真の背景を削除する方法:被写体をトレースし、選択した背景を削除し、透明度を保持して、再利用可能なPNG形式でエクスポートします。

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearは公式サイトから無料でダウンロードできます。Windows、macOS、Linuxの各パッケージを比較し、データファイルをインストールして、最初のフライトを開始しましょう。

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSamplerはMP3クリップをキーボードのキーにマッピングし、音声をループ再生できます。この旧型フリーウェアの機能、旧機能が失われた箇所、ダウンロード前に確認すべき点について解説します。