🛠wslとVirtualBoxのコンフリクトを解消せよ 環境まぜるな危険、黒魔術 VT-x is not available (VERR_VMX_NO_VMX).
WSL2をWindowsにいれたら、気づいたらVirtualBox動かなくなっていた。もう少し細かく言うと WSL2でGutils -> Node? -> npx -> でWSL動かしてたら、nodeだかなんだか動かなかったりしたので何もかもいやになってもうVirtualBoxにUbuntuいれてまたやり直そうとしたら、それも動かなくなっていた。原因は見覚えがあって、BIOSの設定書き換えて使えるようにした記憶がある。WSL2はUTF8下のpythonも文字処理で大活用しておりかつ適切にCドライブにマウントしていて非常に使い勝手が良いため、npxとのトレードオフ考えるとVirtualBoxに時間を費やしたり、なおせたりなおせなくして、WSL2が動かなくなるのが今はイヤなので、理屈だけを押さえてイメトレしておきたい。
で、とりあえずエラーのおさらい。
仮想マシン"~"のセッションを開けませんでした。
VT-x is not available (VERR_VMX_NO_VMX).
終了コード : E_FAIL (0x80004005)
コンポーネント: ConsoleWrap
インターフェース: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
これ前も見たことがあって、BIOSの書き換えをして直した。WSL2を入れるときに、powerscriptだったかでいくつか設定を変えた(ほとんどもう忘れている)記憶があり、それでまた設定が戻ったんだと思う。とりあえず実際の設定は変えるつもりがないので、背景情報だけそろえておいて、自分のPCはこのままとして、いつか他人のPC借りれたら共存できるかをもう一度考えてみる。
VT-x とは何か?
VT-x は、Intelによるx86仮想化の実装例である。単に Intel VT と呼称する場合もある
特権リングとかレベルとか、めちゃくちゃおもしろそう。OSのコールの権限についてはこの本とかで読んだことがあったが、リング状になってたかは記憶があまりない。
だいたい根っこはx86の仮想化の事情が出てくるみたいだった
VMware や類似する仮想化ソフトウェアがハードウェア仮想化支援機能を持たないx86向けの仮想化する場合、特定の命令の実行を捉えて動的に置き換える動的命令変換技法を必ず使用している。 この技法は、本質的に仮想化可能なアーキテクチャ(例えば IBM System/370 や MC68020)での仮想機械に比較すると性能に対する何らかのオーバーヘッドを抱えている。
さらに製品群もよくまとまっている
さすがwikipediaの人
そしてHyper-V である
2の話じゃないなこれ、さらにSKUってなんすか