kazubits のすべての投稿

Intel CPUで16bitと32bitのモードが廃止

***本記事にはプロモーションが含まれています。***

Intel CPUで16bitと32bitのモードが廃止されるという記事が出ていました。

Intel、新「X86-S」アーキテクチャで8086互換を切り捨て

新しい仕様は、X86-Sアーキテクチャと言うそうです。

パソコンがブートすると、いきなり64bitのモードに入って、32bitはアプリケーションのためにCompatibility modeのみ残るそうです。

長く親しんだモードがなくなるのは寂しいですね。

実際の製品になるのはいつになるのでしょうか。

QEMUを使ってMacでARM版Windows 10を動かすことに成功したそうです

***本記事にはプロモーションが含まれています。***

QEMUとAppleのHypervisorフレームワークを使って、MacでARM版Windows 10を動かすことに成功したそうです。

Twitterの投稿

パッチも公開されていて、誰でも試すことができるようになっています。

Patchwork

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用のプログラムが実行できそうですね。パフォーマンスが気になります。

WSL2やHyper-Vと共存できるVirtualBox 6.1.16が公開されました

***本記事にはプロモーションが含まれています。***

1. WSL2やHyper-Vと共存できるVirtualBox 6.1.16が公開されました

VirtualBox 6.1.16が公開されました。このバージョンでは、長らく待たれていたWSL2やHyper-Vとの共存がサポートされています。

こちらでも、VirtualBox 6.1.16をインストールしてUbuntu 18.04とCentOS 7でsudo apt upgaradeとsudo yum updateが完了しすることを確認しました。

2. パフォーマンス

VirtualBoxは、安定して動いていますが、パフォーマンスに影響があります。

フォーラムでの報告では、Knoppix ISOでmd5sumでのchecksumを計算する時間の計測です。

最初の計測/2回めの計測 83/56秒 Hyper-Vなし
最初の計測/2回めの計測 42/25秒 Hyper-Vあり

引用元:VirtualBoxフォーラム

これをみると、パフォーマンスが50%ぐらいになっています。実際にsudo apt upgradeしてみると、少し遅くなっていることが感じられます。

3. これまでの経緯

前回も書きましたが、かんたんにこれまでの経過を説明します。

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

しかし、Windows 10 1903のときにMicrosoftがAPIを変更してしまい動かなくなりました。

原因は、仮想化のすべての処理をユーザーモードで行わなくてはいけないようにしたからです。

その後、何回かの修正を経て今回は動くようになりました。

4. 不具合の報告

不具合の報告が出ていて、Debianがフリーズするという話があります。お使いのゲストOSによっては、動かないことがあるかもしれません。

5. まとめ

WSL2やHyper-Vに対応したVirtualBox 6.1.16が公開されました。パフォーマンスは悪くなっていますが、安定して動いています。

不具合の報告もありますので、注意が必要です。

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でも対応してもらえるとありがたいですね。

すごく期待しています。