「WSL2」カテゴリーアーカイブ

WSL2とVirtualBoxの現状

1.WSL2とVirtualBoxの現状

WSL2を有効にしたときにVirtualBoxはどうなのか確認してみました。

結果から言うと、不安定で使えなかったです。

デスクトップが表示されるところまでは行きます。でも、画面の大きさを変えたり、sudo apt upgradeしてもsegmentation faultで止まったりします。

フォーラムでの開発者の発言を聞いていると、とりあえず動くようにはしたけどといった発言が見られます。開発の優先順位は低くて、あまり活発に開発しているようには見えません。

また、安定してきたら試してみようと思います。

2.Hyper-VとVirtualBoxのこれまでの関係

VirtualBoxは、Windows 10 1809のときにHyper-Vに対応しました。VirtualBoxのバージョンは、6.0.0です。

Windows 10 1903のときに、MicrosoftがAPIを変更してしまって、VirtualBoxは動かなくなりました。この変更は、すべての処理をユーザーモードで行うことを強制するものです。VirtualBoxの開発者の方の話では、全てをユーザーモードで処理するのは耐えられないそうです。I/Oのパフォーマンスが出ないそうです。

VirtualBox 6.1.0になって、VirtualBoxとしての最適化は無しでまた動くようにはしたそうです。けれど、自分の方で試した限りでは安定して動いていません。フォーラムを見ていると不具合報告も出ていますが、開発者サイドでは不具合が出ていなくて、特に対応もしていないようです。

3.まとめ

WSL2とVirtualBoxの現状を確認しました。残念ですが、安定して動作していません。

また、安定したら試してみようと思います。

WSL2とVMware Workstation Player 15.5.5の共存を確認

1.WSL2とVMware Workstation Player 15.5.5の共存を確認

WSL2(Windows Subsystem for Linux 2)とVMware Workstation Player 15.5.5の共存を確認しました。

前回WSL2のインストールまでやりましたが、VMware Workstation Playerをインストールしたら動作を確認できました。

2.WSL2とVMware Workstation Playerを共存させるとき注意すること

注意するべき点が2点あります。

  1. WSL2を有効にする前にVMware Workstation PlayerのゲストOSの電源を切っておくこと
  2. Intel VT-x/EPTまたはAMD-V/RVIを仮想化のチェックを外しておくこと

WSL2を有効にする前に電源を切っておきましょう。一度、VMware Workstation Player 15.5.5で起動すれば、WSL2の有効と無効に関係なくサスペンドと復帰を繰り返すことができます。しかし、最初だけ念のため切っておいたほうがいいです。

サスペンドの状態にしたままの場合、次の方法で電源を切りましょう。

管理者としてPowerShellを開きます。

bcdedit /set hypervisorlaunchtype off

パソコンを再起動します。すると、WSL2が一時的に無効になっていますので、ゲストOSを起動し電源を切ります。

このあと、もう一度管理者としてPowerShellを開きます。

bcdedit /set hypervisorlaunchtype auto

これで、WSL2が有効になりますので、パソコンを再起動します。

2番めのチェックは、ゲストOSの設定->ハードウェアー>プロセッサー>仮想化エンジンのところにあります。

3.エラーの詳細

Intel VT-x/EPTまたはAMD-V/RVIを仮想化のチェックを忘れてゲストOSを起動すると、次のようなエラーが出ます。

パワーオン中にエラーが発生しました:VMware Playerはこのホスト上でネストされた仮想化をサポートしていません。

また、VMware Workstation Player 15.5.5以前のものを使っていると、次のようなエラーが出ます

VMware PlayerとDevice/Credential Guardには互換性がありません。

4.まとめ

WSL2を有効にしてもVMware Workstation Playerが動くことで、どちらも使うことができていいですね。

VMwareは、Hyper-VのHypervisorの上で動作しているというこで、ネストされた仮想化を使うことができませんが、凝ったことをしたいときはWSL2を無効にすることで対処できそうです。

WSL2の有効無効に関係なく、ゲストOSのサスペンドと復帰が使えるのが便利です。

もう少し使って、安定性など使い勝手を検証してみたいと思います。

Windows 10 May 2020 UpdateでWSL2(Windows Subsystem for Linux 2)の始め方

1.はじめに

Windows 10 を May 2020 Updateへの更新が開始されました。WSL2(Windows Subsystem for Linux 2)が正式にサポートされます。そこで、まずWSL2を使えるようにすることにしました。

2.Windows 10 May 2020 Updateへのアップデート

May 2020 Updateへの更新は、Windows Updateを通じて行われます。首を長くして待っていたのですが、Windows Updateのページに表示されません。そこで、手動でアップデートすることにしました。

ただ、すでに不具合も報告されています。

Windows 10, version 2004 and Windows Server, version 2004

Intelの内蔵GPUを使っていると、DirectX 9を使ったゲームで可変リフレッシュレートが有効になりません。

また、Nvidiaの古いディスプレイドライバ358.00以前を使っているとブルースクリーンになる。

というものです。自分のPCは、Intelの内蔵GPUを使っているのですが、ゲームをやらないのでアップデートを実行しました。

3.WSL2のインストール

WSL2のインストールは、コマンドラインでやる方法と、設定をマウスでクリックする方法があります。今回は、コマンドラインの方法を使いました。

管理者としてPowerShellを開き、Microsoft-Windows-Subsystem-LinuxとVirtualMachinePlatformを有効にします。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

PCを再起動します。

もう一度管理者としてPowerShellを開きます。WSL2を既定のバージョンとして設定します。

wsl --set-default-version 2

このときに次のようなエラーが出ます。

WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください

表示されたサイトに行って、Linuxカーネルをインストールします。もう一度規定のバージョンを実行します。次のようなメッセージが出れば成功です。今後、Linuxカーネルのインストールは、Windows Updateで更新される予定のようです。

WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください

4.ゲストOSのインストール

ゲストOSは、Microsoft Storeからインストールします。

Microsoft Storeを立ち上げ、Ubuntuを検索します。Ubuntu 20.04 LTSをインストールしました。Ubuntuのみの表示のものは、最新のUbuntuを示しています。Ubuntu 20.04 LTSと同じですが、バージョン番号があったほうが便利なので、番号の表示付きのものを選びました。

インストールが完了するとスタートメニューにUbuntu 20.04 LTSが登録されます。最初の起動時にユーザー名とパスワードを聞かれますので、登録してください。

実際に使ってみると、Linuxのカーネルが起動したあとinitプロセスが動いているくらいで、本当に最小のLinuxシステムが起動しています。サーバーやアプリケーションもほとんど入っていなくて、自分でインストールしなければいけません。これだったら、1,2秒で起動するのも当たり前だなと思いました。

5.まとめ

Windows 10 May 2020 Updateで、WSL2のインストールと起動を確認しました。今後、いろいろ使ってみようと思っています。

WSL2やHyper-Vと共存できるVMware Workstation Player 15.5.5が公開されました

Windows 10 の大型アップデート20H1(May 2020 Update)の配信が開始されました。このアップデートでは、WSL2(Windows Subsystem for Linux 2)が正式にサポートされます。それに伴って、WSL2やHyper-Vと共存できるVMware Workstation Pro/Player 15.5.5が公開されました。

VMwareのブログ記事
VMware Workstation 15.5 Now Supports Host Hyper-V Mode

ダウンロード
ダウンロード VMware Workstation Player

サポートされるCPUやOSは以下のとおりです。開発段階では、Intel Haswell以降ということだったので、サポートされるCPUの範囲が増えています。

サポートされるCPU
Intel Sandy Bridgeより新しいCPU
AMD Bulldozerより新しいCPU

サポートされるOS
Windows 10 20H1 build 19041.264より新しいOS

サポートされるVMware Workstation Player
バージョン15.5.5以上

ブログの記事を簡単に訳すと次のようになります。

これまで、Credential Guard, Device Guardを含むHyper-Vを有効にすると、VMware Workstationは動かなくなっていた。そこで、Microsoftと協力してMicrosoft Windows Hypervisor Platform(WHP)を使った方法を開発した。

VMware Workstationは、これまでVMM(Virtual Machine Monitor)をCPUの特権モードで使うことで、Intel VT-x, AMD AMD-Vを使ってきた。ところが、Windowsがhost VBS(Virtualization Based Security)を開発して、Windowsとハードウェアの間にHyper-VをベースにしたHypervisorの層を挟んできた。そのため、VMware Workstationは動かなくなっていた。

これを修正するために、VMwareはVMMをユーザーレベルで実行し、WHP APIを使うように変更した。

Hyper-Vに関連する技術が有効のときは、ユーザーレベルのモードでVMware Workstationは実行され、無効のときはこれまでのVMMが実行される。このため、ユーザーはどちらで実行するのかを選択する必要がない。

簡単に言うと、Windows APIを実行し、Hyper-Vのhypervisorの上でVMwareが動作していることになります。動作の安定性に一抹の不安がありますが、今後の様子を見守っていきましょう。

さっそく試してみたいですね。試したら報告します。

Hyper-VやWSL2との共存に対応したVMware Workstationのプレビューが発表

2020年春公開予定のWindows 10で、WSL2(Windows Subsystem for Linux 2)が装備されます。

VMware Workstationは対応していないため、WSL2と同時実行できないことが問題。

VMwareが対応するVMware Workstaionのプレビューを公開しています。

VMware Workstation Tech Preview 20H1 - Hyper-V/Host VBS Support

必要な条件は、ソフトウェアは、

Windows 10 20H1 from Windows insider program.
Minimum build number: 19041

ハードウェアは、

Intel Haswell or newer CPU
AMD Bulldozer or newer CPU

です。

Windows insider programが必要ということで、簡単に試すことができませんが、開発が進んでいることがわかります。

できれば、VMware Workstation Playerでも対応してもらえるとありがたいですね。

すごく期待しています。