Intel CPUで16bitと32bitのモードが廃止されるという記事が出ていました。
Intel、新「X86-S」アーキテクチャで8086互換を切り捨て
新しい仕様は、X86-Sアーキテクチャと言うそうです。
パソコンがブートすると、いきなり64bitのモードに入って、32bitはアプリケーションのためにCompatibility modeのみ残るそうです。
長く親しんだモードがなくなるのは寂しいですね。
実際の製品になるのはいつになるのでしょうか。
Intel CPUで16bitと32bitのモードが廃止されるという記事が出ていました。
Intel、新「X86-S」アーキテクチャで8086互換を切り捨て
新しい仕様は、X86-Sアーキテクチャと言うそうです。
パソコンがブートすると、いきなり64bitのモードに入って、32bitはアプリケーションのためにCompatibility modeのみ残るそうです。
長く親しんだモードがなくなるのは寂しいですね。
実際の製品になるのはいつになるのでしょうか。
ARM版のWindowsが正式に承認されたそうですね。
Microsoft、Arm版Windows 11が動作する「Parallels」を正式承認
x64アプリのエミュレーションの速度とか、体験してみたいですね。
Parallels Desktop 18が発売されました。
【レビュー】正規のARM版Windows 11がM2搭載Macで使える「Parallels Desktop 18」
この中で、ARM版Windows 11がMicrosoft Storeから入手可能なことがレビューされています。
x64アプリがそこそこの速度で動作するといいですね。
QEMUとAppleのHypervisorフレームワークを使って、MacでARM版Windows 10を動かすことに成功したそうです。
パッチも公開されていて、誰でも試すことができるようになっています。
Apple M1というCPUを使ったMacBook ProやMac miniが発売されましたね。Apple M1は、Appleが開発したARMアーキテクチャのCPUです。
Intelのx86_64というアーキテクチャとは違うため、これまでのソフトウェアが使えないという問題があります。
そのため、x86_64のソフトウェアを使うためには、エミュレーションを使う必要があります。
Appleは、Rosetta 2というエミュレーターを用意して対処しようとしているわけですが、それではVMwareやVirtualBoxといった仮想化ソフトが動かないという問題がありました。
仮想化ソフトの問題に対しては、AppleはHypervisorフレームワークというものを用意して、必要があれば使ってくださいという方針でいます。
これを使うと、ARM版Macでは、ARM版のゲストOSが使えるようになります。
今回は、Hypervisorフレームワークを使って、QEMUという仮想化ソフトを動かしたというものです。その上で、ARM版のWindows 10を実行しています。
ARM版Windows 10は、Windows Insider Programのものを使っているようです。
Appleの人は、MacのパソコンでWindowsが使えるかどうかは、Microsoft次第だと言っています。ただ、MicrosoftはARM版のWindows 10を自社のSurface Pro Xで使えるのみで、Macで使えるかどうかについては言及していません。
今後、一般の人が、ARM版のMacでWindowsが使えるかどうかはわかりません。
ARM版Windows 10は、11月にx86_64のプログラムのエミュレーションに対応すると聞いています。普通のWindows用のプログラムが実行できそうですね。パフォーマンスが気になります。
VirtualBox 6.1.16が公開されました。このバージョンでは、長らく待たれていたWSL2やHyper-Vとの共存がサポートされています。
こちらでも、VirtualBox 6.1.16をインストールしてUbuntu 18.04とCentOS 7でsudo apt upgaradeとsudo yum updateが完了しすることを確認しました。
VirtualBoxは、安定して動いていますが、パフォーマンスに影響があります。
フォーラムでの報告では、Knoppix ISOでmd5sumでのchecksumを計算する時間の計測です。
最初の計測/2回めの計測 83/56秒 Hyper-Vなし
最初の計測/2回めの計測 42/25秒 Hyper-Vあり
引用元:VirtualBoxフォーラム
これをみると、パフォーマンスが50%ぐらいになっています。実際にsudo apt upgradeしてみると、少し遅くなっていることが感じられます。
前回も書きましたが、かんたんにこれまでの経過を説明します。
VirtualBoxは、Windows 10 1809のときにバージョン6.0.0でHyper-Vに対応しました。
しかし、Windows 10 1903のときにMicrosoftがAPIを変更してしまい動かなくなりました。
原因は、仮想化のすべての処理をユーザーモードで行わなくてはいけないようにしたからです。
その後、何回かの修正を経て今回は動くようになりました。
不具合の報告が出ていて、Debianがフリーズするという話があります。お使いのゲストOSによっては、動かないことがあるかもしれません。
WSL2やHyper-Vに対応したVirtualBox 6.1.16が公開されました。パフォーマンスは悪くなっていますが、安定して動いています。
不具合の報告もありますので、注意が必要です。
WSL2を有効にしたときにVirtualBoxはどうなのか確認してみました。
結果から言うと、不安定で使えなかったです。
デスクトップが表示されるところまでは行きます。でも、画面の大きさを変えたり、sudo apt upgradeしてもsegmentation faultで止まったりします。
フォーラムでの開発者の発言を聞いていると、とりあえず動くようにはしたけどといった発言が見られます。開発の優先順位は低くて、あまり活発に開発しているようには見えません。
また、安定してきたら試してみようと思います。
VirtualBoxは、Windows 10 1809のときにHyper-Vに対応しました。VirtualBoxのバージョンは、6.0.0です。
Windows 10 1903のときに、MicrosoftがAPIを変更してしまって、VirtualBoxは動かなくなりました。この変更は、すべての処理をユーザーモードで行うことを強制するものです。VirtualBoxの開発者の方の話では、全てをユーザーモードで処理するのは耐えられないそうです。I/Oのパフォーマンスが出ないそうです。
VirtualBox 6.1.0になって、VirtualBoxとしての最適化は無しでまた動くようにはしたそうです。けれど、自分の方で試した限りでは安定して動いていません。フォーラムを見ていると不具合報告も出ていますが、開発者サイドでは不具合が出ていなくて、特に対応もしていないようです。
WSL2とVirtualBoxの現状を確認しました。残念ですが、安定して動作していません。
また、安定したら試してみようと思います。
WSL2(Windows Subsystem for Linux 2)とVMware Workstation Player 15.5.5の共存を確認しました。
前回WSL2のインストールまでやりましたが、VMware Workstation Playerをインストールしたら動作を確認できました。
注意するべき点が2点あります。
WSL2を有効にする前に電源を切っておきましょう。一度、VMware Workstation Player 15.5.5で起動すれば、WSL2の有効と無効に関係なくサスペンドと復帰を繰り返すことができます。しかし、最初だけ念のため切っておいたほうがいいです。
サスペンドの状態にしたままの場合、次の方法で電源を切りましょう。
管理者としてPowerShellを開きます。
bcdedit /set hypervisorlaunchtype off
パソコンを再起動します。すると、WSL2が一時的に無効になっていますので、ゲストOSを起動し電源を切ります。
このあと、もう一度管理者としてPowerShellを開きます。
bcdedit /set hypervisorlaunchtype auto
これで、WSL2が有効になりますので、パソコンを再起動します。
2番めのチェックは、ゲストOSの設定->ハードウェアー>プロセッサー>仮想化エンジンのところにあります。
Intel VT-x/EPTまたはAMD-V/RVIを仮想化のチェックを忘れてゲストOSを起動すると、次のようなエラーが出ます。
パワーオン中にエラーが発生しました:VMware Playerはこのホスト上でネストされた仮想化をサポートしていません。
また、VMware Workstation Player 15.5.5以前のものを使っていると、次のようなエラーが出ます
VMware PlayerとDevice/Credential Guardには互換性がありません。
WSL2を有効にしてもVMware Workstation Playerが動くことで、どちらも使うことができていいですね。
VMwareは、Hyper-VのHypervisorの上で動作しているというこで、ネストされた仮想化を使うことができませんが、凝ったことをしたいときはWSL2を無効にすることで対処できそうです。
WSL2の有効無効に関係なく、ゲストOSのサスペンドと復帰が使えるのが便利です。
もう少し使って、安定性など使い勝手を検証してみたいと思います。
Windows 10 を May 2020 Updateへの更新が開始されました。WSL2(Windows Subsystem for Linux 2)が正式にサポートされます。そこで、まずWSL2を使えるようにすることにしました。
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を使っているのですが、ゲームをやらないのでアップデートを実行しました。
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 を参照してください
ゲスト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秒で起動するのも当たり前だなと思いました。
Windows 10 May 2020 Updateで、WSL2のインストールと起動を確認しました。今後、いろいろ使ってみようと思っています。
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が動作していることになります。動作の安定性に一抹の不安がありますが、今後の様子を見守っていきましょう。
さっそく試してみたいですね。試したら報告します。
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でも対応してもらえるとありがたいですね。
すごく期待しています。