仮想マシン
 Computer >> コンピューター >  >> ソフトウェア >> 仮想マシン

VirtualBox カーネル ドライバー エラー (rc=-1908) を解決 – Debian/Ubuntu で gcc-12 が見つからない

VirtualBox カーネル駆動がインストールされていません (gcc-12 がありません)

更新日:2024 年 2 月 5 日

あなたが直面している問題は次のとおりです。 Debian ベースのシステム (おそらく Ubuntu またはそのフレーバーの 1 つ) を使用しています。最近、システム全体のアップデートを実行しました。これには、VirtualBox の新しいバージョンも含まれています。アップストリームの VirtualBox リポジトリを使用します。アップデートを適用すると、仮想マシンを実行できなくなります。

次のエラーが表示されます:カーネル ドライバーがインストールされていません (rc=-1908) 。 VirtualBox Linux カーネル ドライバーが読み込まれていないか、正しくセットアップされていません。 root として「/sbin/vboxconfig」を実行して、セットアップを再試行してください。そして、それができました。それでは、詳細に進み、この問題を解決しましょう。

問題の詳細

完全なエラー メッセージは次のとおりです。

カーネルドライバーがインストールされていません (rc=-1908)。

VirtualBox Linux カーネル ドライバーが読み込まれていないか、正しくセットアップされていません。

を実行して、再度セットアップしてください。

'/sbin/vboxconfig'

ルートとして。

システムで EFI セキュア ブートが有効になっている場合は、カーネル モジュール (vboxdrv、vboxnetflt、vboxnetadp、vboxpci) をロードする前に署名する必要がある場合もあります。詳細については、Linux システムのマニュアルを参照してください。

ここで:suplibOsInit 内容:3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - サポート ドライバーがインストールされていません。 Linux では、open は ENOENT を返しました。

VirtualBox カーネル ドライバー エラー (rc=-1908) を解決 – Debian/Ubuntu で gcc-12 が見つからない

公平を期すために言うと、このエラー メッセージには少し誤解を招きます。セキュア ブートに関する内容が含まれているためですが、これはおそらくまったく関係がありません。また、エラー メッセージの最後の部分では、最初の部分とは異なる構文と文法が使用されています。したがって、体系的に考えて、段階的に進めていきましょう。

コマンドラインで sudo /sbin/vboxconfig を実行すると、次の内容が表示されます。

[sudo] igor のパスワード:
vboxdrv.sh:VirtualBox サービスを停止しています。
vboxdrv.sh:VirtualBox サービスを開始しています。
vboxdrv.sh:VirtualBox カーネル モジュールを構築します。
vboxdrv.sh:失敗しました:/var/log/vbox-setup.log を見て、何が問題だったのかを確認してください。

VirtualBox のセットアップ中に問題が発生しました。セットアッププロセスを再開するには、次のコマンドを実行します。
/sbin/vboxconfig
ルートとして。システムが EFI セキュア ブートを使用している場合は、
カーネル モジュール (vboxdrv、vboxnetflt、vboxnetadp、vboxpci) をロードする前に
彼ら。詳細については、Linux システムのドキュメントを参照してください。

/var/log/vbox-setup.log には次の内容があります:

メインの VirtualBox モジュールを構築します。
モジュールのビルド中にエラーが発生しました:
make V=1 CONFIG_MODULE_SIG=CONFIG_MODULE_SIG_ALL=-C /lib/modules/6.5.0-14-generic/build M=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j20 モジュール
make[1]:警告:submake で -j20 が強制されました:ジョブサーバー モードをリセットします。
警告:コンパイラはカーネルの構築に使用されたものとは異なります
カーネルは次によって構築されました:x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
あなたが使用しているもの:
make -f ./scripts/Makefile.build obj=/tmp/vbox.0 need-builtin=1 need-modorder=1
# cmd_mod /tmp/vbox.0/vboxdrv.mod
printf '%s
' linux/SUPDrv-linux.o SUPDrv.o SUPDrvGip.o SUPDrvSem.o SUPDrvTracer.o SUPLibAll.o
...
/tmp/vbox.0/linux/SUPDrv-linux.c; ./tools/objtool/objtool --hacks=jump_label --hacks=noinstr --hacks=skylake --retpoline --rethunk --sls --stackval --static-call --uaccess --prefix=16 --module /tmp/vbox.0/linux/SUPDrv-linux.o
/bin/sh:1:gcc-12:見つかりません
make[2]:*** [scripts/Makefile.build:251:/tmp/vbox.0/linux/SUPDrv-linux.o] エラー 127
make[1]:*** [Makefile:2037:/tmp/vbox.0] エラー 2
make:*** [/tmp/vbox.0/Makefile-footer.gmk:133:vboxdrv] エラー 2

ログにはまったく関係のないコンパイルに関するものが大量に含まれているため、意図的にログを切り詰めました。さらに、make コンパイル ログを読むのは少し難しい場合があります。ただし、ログの最後を見て、「エラー」または「見つかりません」と書かれた行を検索したいとします。

実際、ログには次のように記録されています。

/bin/sh:1:gcc-12:見つかりません

何らかの理由で、システムには VirtualBox カーネル モジュールの構築に必要な gcc-12 コンパイラーがありません。ちなみに、私の Kubuntu 22.04 ボックスの 1 つはこれを備えていましたが、もう 1 つは備えていませんでした。そこには。このパッケージを入手できない理由は何百万もあるということには触れたくありません。主なアイデアは、何が問題だったのかを突き止めて修正することです。

解決策

実際の修正は非常に圧倒的です。 gcc-12 パッケージをインストールする必要があります。

sudo apt install gcc-12

次に、このコマンドが完了したら、次を再実行します。

sudo /sbin/vboxconfig

コマンドは正常に完了するはずで、VirtualBox の使用に戻ることができます。

結論

この問題は、さまざまな要因が組み合わさって発生します。新しい Ubuntu カーネル、新しい VirtualBox バージョン、互換性のないコンパイラーとドライバーなど。残念なことに、オタク的なものがたくさんあります。 -1908 エラー メッセージが表示された場合、最善の方法は、系統的に作業することです。ターミナル ウィンドウで設定コマンドを手動で再実行し、原因が見つかるまで詳細なエラー ログをたどって追跡します。

結局のところ、この種のエラーの最近の原因は、gcc-12 コンパイラ パッケージが欠落していることのようであることに気付きました。インストールすると、VirtualBox ドライバーは正常にコンパイルされます。その後、仮想化ソフトウェアを使用して仮想マシンを問題なく起動できるようになります。この小さなチュートリアルが生産性の回復に役立つことを願っています。気をつけてください、皆さん。

乾杯。


  1. Prayaya V3 - ポータブル仮想オペレーティング システム

    免責事項:このレビューは GZ Shenhua Inf And Tech Co の委託により作成されました。株式会社。 Prayaya V3 は、外部デバイス上で仮想オペレーティング システムを作成して実行できる、Windows 用のポータブル仮想化ソフトウェアです。このソフトウェアの目標は、セキュリティとプライバシーを損なうことなく、柔軟性と移植性を提供することです。 このコンセプトは、私が過去にレビューした製品である Mojopac と非常によく似ています。 Mojopac は非常に便利で便利な製品であり、基盤となるオペレーティング システムに触れることなく、外部デバイスからソフトウ

  2. VMWareESXi上の仮想マシンの無効な状態

    多くの場合、VMWare管理者は、仮想マシンのリストに無効のVMが含まれているという事実に直面しています。 (不明 ) スターテス。原則として、この問題は仮想マシンを削除した後に発生します。仮想マシンのデータは、何らかの理由でVMWare vSphere/ESXi構成に残っていました。これは、vMotionの実行後にVMFSストレージからVMファイルを手動で削除した後、およびその他の場合にも発生する可能性があります。組み込みツール(登録解除)を使用して、このようなVMをvSphereWebClientから削除することはできません。 [アクション]メニューのオプションは無効です。 このようなV