次の質問と回答を使用して、Windows で実行される Arm ベースのデバイスのサポートについて理解を深めます。
Arm 版 Windows に関してよくあるご質問
Arm バージョンの Windows アプリを作成する必要がありますか?
Arm ベースのデバイスはますます普及が進んでいます。 Windows では x64 または x86 ベースのアーキテクチャを使用したアプリのエミュレーションがサポートされていますが、Windows アプリの Arm ネイティブ ビルドを提供することで、パフォーマンスが向上し、Arm ベース デバイスの使用時に最適なエクスペリエンスが顧客に提供されます。
Windows 11 では x64 と x86 の両方がエミュレーションでサポートされているのに、アプリを Arm に更新する理由は何でしょうか?
顧客は Arm デバイスで x64 または x86 ベースのアプリを使用できますが、エミュレーションに伴うパフォーマンスのオーバーヘッドがあります。 Arm デバイスで最適なパフォーマンス、応答性、最適化されたバッテリ寿命を実現するために、顧客に Arm ネイティブ バージョンの Windows アプリを提供します。
Arm64 ネイティブ構成を Windows アプリに追加するには、どうすればよいですか?
「Arm サポートを Windows アプリに追加する」を参照してください。
ドライバーはエミュレーションでサポートされていますか? または、アプリで使用しているドライバーに Arm64 ネイティブ サポートを追加する必要がありますか?
すべての場合において、カーネル モード ドライバーとユーザー モード印刷ドライバーは、Arm64 デバイスで動作するネイティブ Arm64 バイナリとしてビルドする必要があります。 さらに、x86 または x64 セットアップ プログラムを実行して Arm64 デバイスに Arm64 ドライバーをインストールすることはできません。 「WDK を使った Arm64 ドライバーのビルド」を参照してください。
Visual Studio は Arm で動作しますか?
Visual Studio と Visual Studio Code の両方に、インストール可能な Arm ネイティブ バージョンが用意されています。
Arm64 でテストとデバッグを行うには、どうすればよいですか?
「Arm サポートを Windows アプリに追加する - テストとデバッグ」を参照してください。 テストには、Windows Dev Kit 2023 などの Arm デバイス上の Windows が必要です。または、Windows 11 Arm64 仮想マシンを実行できます。
サードパーティの依存関係によってアプリの Arm ネイティブ バージョンのビルドがブロックされた場合は、どうすればよいでしょうか?
Arm 用に (まだ) 更新されていないサード パーティの依存関係に Windows アプリが依存しているシナリオに対応するには、いくつかの方法があります。 まず、依存関係の所有者に連絡して、Arm をサポートするように依存関係を更新する予定があるかどうかを確認することをお勧めします。 また、NuGet や vcpkg などのリソースをチェックしたり、依存関係 (Linaro など) の更新の助力になるように Arm オープン ソース コミュニティに連絡することもできます。 依存関係を自分で書き直すことができます。Microsoft の "App Assure プログラム" が役立つ場合があります。 または、Arm64EC を使用してアプリを作成することもできます。これにより、アプリの最も重要な側面を Arm 用に最適化することに重点を置いた部分的な Arm ネイティブ実装のために、x64 コードと Arm64 コードを組み合わせることができます。
Arm デバイスをサポートするように C++ Windows アプリを更新するには、どうすればよいですか?
「ARM プロセッサ用の C++ プロジェクトを構成する」を参照してください。
ARM64 アプリケーションをインストールするには、どの Program Files フォルダーを使用すべきですか?
Windows デバイス上で、さまざまなアプリケーション ファイルのタイプのインストールと格納に使用される、次のディレクトリに気付くと思います。
C:\Program Files
: このディレクトリは、x64 アプリケーション、Arm64 アプリケーション、Arm64X アプリケーションに使用されます。 詳細については、アプリを Arm64 に移植する方法、または Arm64X バイナリをビルド する方法を参照してください。C:\Program Files (x86)
: このディレクトリは x86 アプリケーションに使用されます。 詳細については「Arm での x86 エミュレーションのしくみ」を参照してください。C:\Program Files (Arm)
: このディレクトリは、将来のバージョンの Windows でサポートされなくなった 32 ビット Arm アプリケーションに使用されていました。
Arm 版 Windows 仮想マシンに関してよくあるご質問
Windows 11 Arm64 仮想マシン (VM) を作成するには、どうすればよいですか?
Azure で Ampere Altra Arm ベースのプロセッサを使用して Windows 11 Arm64 VM を作成して展開する方法については、「クイック スタート: Azure portalで Arm 版 Windows 仮想マシンを作成する」を参照してください。 Hyper-V を使用して、Arm デバイス上の Windows を使用して、Arm VM 上の Windows をローカルに作成することもできます。
Windows 11 Arm64 デバイスで Hyper-V を使用して Windows 11 仮想マシンをホストできますか?
はい、できます。 これを行う最も簡単な方法は、 Windows Insider Preview ダウンロードから Arm Insider Preview VHDX に Windows 11 をダウンロードし それを使用して VM を作成することです。
Arm サポートを Windows アプリに追加し、テストとデバッグ用に VM を実行するためのトレーニングはありますか?
Windows Performance Recorder ツールを使用した CPU サンプリングは ARM ベースの Hyper-V 仮想マシンでサポートされていますか?
はい。ただし、この機能は現在、Windows Insider Preview Canary チャネルでのみ使用できます。 Canary チャネルで仮想マシンをホストしている物理 ARM デバイスを登録する場合は、仮想マシンで CPU サンプリングがサポートされます。この機能は、物理 ARM デバイスでは既にサポートされています。 使用例: wpr -start cpu