Arm 上 Windows 的常見問題

使用下列問題和解答,進一步瞭解在 Windows 上執行的 Arm 型裝置支援。

Arm 上的 Windows 常見問題

我需要建立 Windows 應用程式的 Arm 版本嗎?

以 Arm 為基礎的裝置越來越受歡迎。 雖然 Windows 支援使用 x64 或 x86 架構的應用程式模擬,但提供 Windows 應用程式的 Arm 原生組建可改善效能,並讓客戶在使用 Arm 型裝置時獲得最佳體驗。

為什麼在 Windows 11 上透過模擬支援 x64 和 x86 時,將我的應用程式更新為 Arm?

雖然您的客戶可以在其 Arm 裝置上使用 x64 或 x86 型應用程式,但模擬會產生效能額外負荷。 將您的客戶視為 Windows 應用程式的 Arm 原生版本,以獲得最佳效能、回應性和優化 Arm 裝置的電池使用時間。

如何? 將 Arm64 原生設定新增至我的 Windows 應用程式?

模擬是否支持驅動程式? 或者,我是否必須將 Arm64 原生支援新增至應用程式中使用的任何驅動程式?

在所有情況下,核心模式驅動程式和使用者模式列印驅動程式必須建置為原生 Arm64 二進位檔,才能在 Arm64 裝置上運作。 此外,您無法執行 x86 或 x64 安裝程式,在 Arm64 裝置上安裝 Arm64 驅動程式。 請參閱 使用 WDK 建置 Arm64 驅動程式。

Visual Studio 是否在 Arm 上運作?

Visual Studio 和 Visual Studio Code 都提供 Arm 原生版本,讓您安裝。

如何? Arm64 上的測試和偵錯?

請參閱 將 Arm 支援新增至 Windows 應用程式 - 測試和偵錯。 若要進行測試,您需要 Arm 裝置上的 Windows,例如 Windows Dev Kit 2023,或者您可以執行 Windows 11 Arm64 虛擬機

如果我被第三方相依性封鎖無法建置應用程式的 Arm 原生版本,該怎麼辦?

當您的 Windows 應用程式依賴尚未更新 Arm 的第三方相依性時,有幾個方法可以解決此案例。 我們先建議連絡相依性擁有者,詢問是否有計劃更新相依性以支援Arm。 您也可以檢查 NuGetvcpkg 等資源,或連絡 Arm 開放原始碼社群,以協助更新相依性(例如 Linaro)。 您可以自行重寫相依性 - Microsoft 的「應用程式保證計劃」可能會有所説明。 或者,您可能想要使用 Arm64EC 撰寫應用程式,這可讓您混合 x64 和 Arm64 程式代碼,以進行部分 Arm 原生實作,著重於優化適用於 Arm 的應用程式最重要的層面。

如何? 更新我的 C++ Windows 應用程式以支援 Arm 裝置?

請參閱 設定 Arm 處理器的 C++ 專案。

我應該使用哪些 Program Files 資料夾來安裝 ARM64 應用程式?

您可能會注意到 Windows 裝置上的下列目錄,用於安裝和儲存不同的應用程式檔案類型。

Arm 虛擬機上的 Windows 常見問題

如何? 建立 Windows 11 Arm64 虛擬機 (VM)?

如需如何在 Azure 上使用 Ampere Altra Arm 處理器建立及部署 Windows 11 Arm64 VM 的說明,請參閱快速入門:在 Azure 入口網站 中建立 Arm 虛擬機上的 Windows。

我可以在 Windows 11 Arm64 裝置上使用 Hyper-V 來裝載 Windows 11 虛擬機嗎?

雖然 Hyper-V 是 Windows 11 Arm64 裝置上支援的元件,但 Hyper-V 不是支援的 Windows 11 虛擬機主機,因為沒有 TPM 支援。 如果您嘗試從 ISO 安裝 Windows 11,安裝程式將會封鎖。 如果您嘗試在虛擬機上啟用 TPM,Windows Hyper-V 管理員將會顯示「作業失敗」錯誤訊息。 未來在 Arm VM 上的 Windows 中新增虛擬 TPM 支援正在進行中。

是否有任何訓練可用於將 Arm 支援新增至 Windows 應用程式,以及執行 VM 進行測試和偵錯?

使用 ARM 型 Hyper-V 虛擬機支援的 Windows Performance Recorder 工具是否支援 CPU 取樣?

是,但此功能目前僅適用於 Windows Insider Preview Canary 通道。 如果您願意在 Canary 通道中註冊裝載虛擬機的實體 ARM 裝置,則虛擬機支援 CPU 取樣;實體 ARM 裝置上已經支援此功能。 範例使用方式: wpr -start cpu