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