共存出来ていると言わない(で) – VirtualBox 6.0+ と Hyper-V (/WSL2)

「共存出来る/出来ている」という言い方そのものに間違いがあるわけではないのが悩ましい。

WSL2Docker Desktop の存在が「VirtualBox (や vmware)」の必要性をかなり少なくしたことは確かなのだけれど、それでもなお VirtualBox を必要とする機会はある。ワタシのケースだと、「Using FFMPEG on Docker」でどうしてもデバイス関係の説明が必要で、この場合その検証目的には WSL2 は(まだ)助けにはならず、本物の liunx もしくは「本物の linux on VirtualBox」が必要、だった。

VirtualBox 6.0 未満の場合の関係は、こんな具合:

Hyper-V有効無効 WSL バージョン Docker Desktop VirtualBox
無効 WSL1 起動不可 OK
有効 WSL2 OK 起動不可

この事実を指して「Hyper-V が使える Windows と VirtualBox は共存出来る!」として説明してしまっているサイトを、少なくともワタシは三つ見つけた。一つは日本語。一つは単に「Hyper-V で VirtualBox が動かないんです!」に対する間違った答えとして書かれてたやつ。もう一つはまぁ StackOverflow の回答の一つとしてね。

「Hyper-V 有効無効を切り替えたら Windows 再起動」。つまり、この「共存出来る」の意味は「同時にインストールしてあっても良い」という全く意図不明の情報なのであった。いや…「言葉を間違ってるわけではない」よ、けどさ、これを「共存出来てる」と思うヒトって、純朴過ぎんか?

Hyper-V の活殺方法はいろんなサイトが紹介してるが、まぁこれでいいんじゃないかな:

この話の鬱陶しいのは「Windows 再起動が必要」ということだけでなくて、Docker Desktop のバグにも毎回付き合わなければならないことだったりする。この話の冒頭で書いた通り「WSL2 が動いてない」ことが理由で Docker Desktop は「永遠に起動失敗し続ける」状態に陥るの。これを切り替えのたびに措置せねばならん。無論 Hyper-V の生き死にと WSL バージョンは一体なので、それも困る。

で、これが「かつてはそうだった」の話だったら良かったんだけどね、ワタシは以下にそのまんま共感する:

この jonilearncode さんがワタシとおんなじ状態なのかは知らないけれど、VirtualBox 6.1 と Hyper-V は、ワタシがやってみた限り「たまに動くことがある」でしかない。そう、稀に動くことがある。だから「共存出来る」は間違いではないのだが、非常に不安定。体感では9割がカーネルクラッシュ、残り1割はそもそも起動するまでの時間が尋常でなく、また、運よく起動出来た場合でも、フリーズしてしまうことが多い。つまり、たぶん全然使い物にならない。これは Test Builds 版でも同じ。つまり最低でも今のところ 6.1 系列ではまったく埒が明かない感じ。

そういうわけで、ワタシは「共存出来る」という言い方は「信じるな、今は」と言っておきつつ、ワタシ自身は「VirtualBox を使いたい場合は諦めて Hyper-V 無効にして再起動」とすることにする。普段は WSL2 と Docker Desktop の方が快適な日常なのよね、そしてそのことこそが VirtualBox を使わなくていい理由そのものなのだから、そのレアな機会に面倒なのは、まぁ諦めて受け容れようかと。これが頻繁に両方必要だということだったらかなり致命傷だったところだけどね、幸いワタシはそうではない。



Related Posts