
私はCore Duo(Core 2ではない)を搭載した古いラップトップを持っています。
CPU は VT-x をサポートしていますが、BIOS はサポートしていません。(そして、BIOS のアップデートはもう必要ありません)
VT-x には本当に BIOS サポートが必要ですか? Linux カーネル パッチで実現できますか?
答え1
の上このインテルソフトウェア開発者マニュアルの2916ページ、BIOS が仮想化を無効または有効にできるハードウェア「フック」が提供されていることがわかります。
VMXON は、IA32_FEATURE_CONTROL MSR (MSR アドレス 3AH) によっても制御されます。この MSR は、論理プロセッサがリセットされるとゼロにクリアされます。... ビット 0 はロック ビットです。このビットがクリアされている場合、VMXON は一般保護例外を引き起こします。ロック ビットが設定されている場合、この MSR への WRMSR は一般保護例外を引き起こします。MSR は、電源投入リセット状態になるまで変更できません。システム BIOS はこのビットを使用して、VMX のサポートを無効にするための BIOS のセットアップ オプションを提供できます。プラットフォームで VMX サポートを有効にするには、BIOS は、ロック ビットだけでなく、ビット 1、ビット 2、またはその両方 (以下を参照) を設定する必要があります。
BIOS がハードウェア モデル固有レジスタ (MSR) 0x3A のビット 0 をクリアした場合、仮想化は無効になり、CPU をリセットして BIOS に制御を委ねない限り、再度有効にすることはできません。
これはハードウェア内にあるため、Linux カーネル パッチでは元に戻すことができません。このビットの設定をスキップするには、BIOS をフラッシュする必要があります。