Problemi con i driver delle periferiche su Windows 11 ARM: guida pratica e soluzione

Ultimo aggiornamento: 10/09/2025
Autore: Isaac
  • I autisti Devono essere Arm64: non c'è emulazione nel kernel e senza di loro il hardware non funziona.
  • L'emulazione x86/x64 è configurabile: regola la cache, la modalità ibrida e il multithreading per la compatibilità.
  • Limitazioni note: Anti-cheat, Fax e Scanner, alcuni antivirus e applicazioni di conchiglia.
  • Sviluppatori: compilare Arm64 nativo, risolvere le dipendenze ed effettuare test su hardware/VM ARM.

Driver e periferiche in Windows 11 ARM

Se hai fatto il salto in una squadra con Windows 11 su ARM e stai lottando con una periferica che non funziona, non sei il solo: I driver sono l'elemento chiave e devono essere adattati ad Arm64Mentre molte applicazioni x86 e x64 funzionano correttamente tramite emulazione, i driver di sistema non passano attraverso questo livello, quindi è una buona idea capire le regole del gioco.

Oltre ai driver, il supporto Arm combina diversi ingredienti: Emulazione configurabile, migliori pratiche di sviluppo, limitazioni note e strumenti diagnosticiIn questa guida abbiamo raccolto tutto ciò che devi sapere per identificare il motivo per cui un'app dipendente da un dispositivo o da un driver non funziona, come ottimizzare l'emulazione e cosa devono fare gli sviluppatori per compilare in modo nativo per Arm64.

Cosa succede ai driver in Windows 11 ARM?

En Windows su ARM, Tutti i driver in modalità kernel, i driver User-Mode Driver Framework (UMDF) e i driver di stampa devono essere compilati per l'architettura del sistema operativo.Ciò significa che se il sistema è Arm64, anche il driver deve essere Arm64; non esiste alcun livello di emulazione per il kernel, quindi il requisito è rigoroso.

Ciò significa che un'applicazione x86 può essere eseguita tramite emulazione senza problemi, ma Se hai bisogno di un driver tuo o di uno di terze parti, quel pezzo specifico deve esistere come Arm64Finché il driver non verrà ricompilato per Arm64, le funzioni che dipendono da esso non verranno visualizzate o non funzioneranno.

In pratica, i dispositivi e le periferiche funzioneranno solo se i tuoi autisti sono integrato in Windows 11 oppure il produttore offre driver Arm64 specificiCiò vale per categorie sensibili come antivirus e antimalware, software di stampa o PDF, tecnologie assistive, utilità per dischi ottici e software di virtualizzazione.

Pertanto, quando si installa software o hardware di terze parti, Assicurati di scaricare e installare il driver del produttore specificamente per i computer ArmSe un driver elenca solo la compatibilità x86/x64 o non menziona Arm64, molto probabilmente non funzionerà sul tuo computer basato su ARM.

I dispositivi basati su ARM sono diventati popolari grazie alla loro efficienza energetica, alla durata della batteria e alle NPU per IA, Ma Questa efficienza non sostituisce la necessità di driver Arm64 nativi.Se dipendi da una periferica critica, controllare prima che il produttore rilasci il supporto per Arm64.

Compatibilità dei driver sui computer ARM

Emulazione x86 e x64 su ARM e come regolare la compatibilità

Windows su ARM esegue le app Arm in modo nativo, mentre Le app x86 e x64 vengono eseguite tramite emulazioneCon Windows 11, l'emulazione x64 è arrivata per ampliare la compatibilità e, con il motore Prism sui dispositivi Copilot+ con Snapdragon X, le prestazioni delle app emulate sono state notevolmente migliorate rispetto alle generazioni precedenti.

Se un'app si comporta in modo strano, puoi utilizzare risoluzione dei problemi di compatibilità dei programmiFare clic con il pulsante destro del mouse sul file .exe e scegliere Risoluzione dei problemi di compatibilità per provare le impostazioni consigliate o selezionare sintomi specifici, ad esempio se si apre ma non ha un bell'aspetto, se richiede autorizzazioni o se il problema non è elencato.

Inoltre, nella scheda Compatibilità delle proprietà dell'eseguibile vedrai una sezione per Windows 10 su ARM o Windows 11 su ARM. Da lì puoi modificare le impostazioni di emulazione completa o abilitare le impostazioni avanzate per sperimentare opzioni individuali progettate per dare priorità alla stabilità rispetto alle prestazioni quando si verificano problemi.

  Come correggere l'errore Driver IRQL_NOT_LESS_OR_EQUAL in Windows
Impostazioni di emulazione Quello fa
Disabilita la cache dell'applicazione Forza il sistema a ricompilare i blocchi di codice emulati a ogni esecuzione, eliminando la cache per ridurre gli effetti collaterali a scapito delle prestazioni.
Disabilita la modalità di esecuzione ibrida Evitare binari CHPE con un mix di x86 e Arm64 e costringe a usare solo binari x86, aumentando la compatibilità con alcune app sensibili.
Protezioni aggiuntive dalla luce Abilita misure di sicurezza globali che influenzano i metadati volatili e può influenzare le prestazioni a favore della stabilità.
Compatibilità rigorosa con il codice automodificante Assicura che il codice automodificante per funzionare correttamente nell'emulazione, con un impatto notevole sulle prestazioni quando tale schema è frequente.
Disabilita l'ottimizzazione sulle pagine RWX Rimuove un'ottimizzazione delle prestazioni per codice in pagine leggibili, scrivibili ed eseguibili che potrebbero entrare in conflitto con alcune app.
Disabilita l'ottimizzazione JIT (solo x64) Opzione deprecata che non sarà più disponibile nelle versioni future.
Disabilita l'ottimizzazione in virgola mobile (solo x64) Forza l'emulazione di x87 con Precisione completa a 80 bit, aumentando la precisione in FP a costo di prestazioni inferiori.

Puoi anche regolare il modo in cui l'app utilizza più core: veloce, rigoroso, molto rigoroso o forza un singolo coreQueste opzioni modificano il numero di barriere di memoria utilizzate per sincronizzare l'accesso tra thread; aumentando il numero di barriere si riducono gli errori impercettibili a scapito della velocità, mentre la modalità single-core rimuove le barriere e serializza i thread su un singolo core.

Se la modifica di un'opzione specifica causa la scomparsa dell'errore, Microsoft richiede che i dettagli vengano inviati a woafeedback@microsoft.com per integrare tale feedback nei futuri miglioramenti dell'emulatore.

Impostazioni di emulazione su Windows ARM

Driver: kernel, UMDF e stampa

Tutti i driver di sistema devono corrispondere all'architettura: Non esiste alcuna emulazione nel kernel di WindowsCiò ha un impatto particolare sulla virtualizzazione e su qualsiasi scenario che richieda un accesso di basso livello.

Se un'applicazione x86 installa o necessita del proprio driver, L'app stessa può essere avviata tramite emulazione, ma le funzionalità legate a quel driver non saranno disponibili finché non sarà disponibile una versione Arm64 del driver.

Per compilare i driver Arm64 con garanzie, Gli sviluppatori dovrebbero seguire la guida WDK specifica per Arm64, che descrive in dettaglio la preparazione dell'ambiente, i progetti e la firma.

Estensioni della shell, IME e altre DLL di sistema

Applicazioni che tentano di collegarsi ai componenti di Windows o iniettare DLL nei processi di sistema deve compilare tali DLL per Arm64È qui che entrano in gioco le cose editor di metodo di input, tecnologie assistive ed estensioni della shell che inseriscono icone o menu contestuali.

Ogni volta che carichi codice all'interno dei processi di Windows, abbinare l'architettura binaria con quella del sistemaLa ricompilazione di queste DLL garantisce che il componente venga eseguito in modo nativo, senza dover ricorrere all'emulazione.

Migliori pratiche con WOW e rilevamento dell'architettura

Un errore comune si verifica quando l'app rileva che è in modalità WOW e presume erroneamente che il sistema sia x64Da lì prova a installare la sua variante x64, cerca nella vista del registro nativo o presume che ci sia un .NET a 64 bit.

Per evitare tali fallimenti, Non fare supposizioni sull'host quando rilevi WOW e riduce al minimo le interazioni con i componenti nativi del sistema operativo, a meno che non si controlli l'architettura.

Se hai bisogno di verificare la compatibilità, utilizza l'API isWow64Process2 invece dell'originale isWow64ProcessIl primo distingue correttamente tra combinazioni di processo e host e aiuta a determinare i percorsi del codice e le visualizzazioni dei log senza confusione.

Generazione di codice dinamico e mitigazioni

L'emulazione di applicazioni desktop x86 genera istruzioni Arm64 in fase di esecuzione, quindi Il blocco della generazione o della modifica del codice nel processo interrompe la compatibilitàSe la tua app abilita la mitigazione tramite SetProcessMitigationPolicy con ProcessDynamicCodePolicy, disattivala per consentire l'emulazione.

  Tutte le versioni di Windows 11 e le loro differenze spiegate in dettaglio

Se sospetti che la tua applicazione utilizzi tecniche automodificanti, consente una stretta compatibilità con il codice automodificante nelle impostazioni avanzate di emulazione, sapendo che ciò avrà un impatto significativo sulle prestazioni.

Macchine virtuali e supporto Hyper-V

La piattaforma Windows Hypervisor non è supportata. Qualcomm 835 sulla piattaforma PC mobile, quindi Hyper-V non funzionerà su quell'hardware specifico. Microsoft afferma di continuare a investire in queste tecnologie per i futuri chipset Qualcomm.

Limitazioni note: giochi, antivirus, fax e scanner e altro ancora

Alcuni giochi non funzioneranno se Il tuo driver anti-cheat non ha una versione per Windows 11 su ARM.Verifica con l'editore del gioco o verifica la compatibilità su worksonwoa.com, una risorsa collaborativa che tiene traccia dello stato di app e giochi.

Su Windows 10 su ARM, Le app x64 non funzionano: Sono necessarie le versioni Arm64, Arm32 o x86. Esistono anche restrizioni come OpenGL superiore alla versione 1.1 e pacchetti anti-cheat senza supporto ARM. Su Windows 11 su ARM, l'emulazione x64 amplia la gamma di applicazioni supportate.

Applicazioni che personalizzano la shell di Windows, come alcuni IME, tecnologie assistive o integrazioni cloud, potrebbero presentare problemi se non offrono binari Arm64La decisione finale spetta allo sviluppatore di ciascuna app.

Esistono anche suite antivirus di terze parti che non potrai installare a meno che non siano creato o aggiornato per ARMNel frattempo, Windows Security offre una protezione integrata per tutta la vita del tuo dispositivo.

Una particolarità meno nota: la funzione Fax e scanner Windows non è disponibile su computer con Windows 11 su ARM, quindi è consigliabile cercare delle alternative.

App native disponibili e il nuovo motore Prism

L'ecosistema ora offre più build Arm64 native che mai, con Microsoft 365 nella sua esecuzione più veloce in Teams, Outlook, Word, Excel, PowerPoint, OneDrive e OneNote, oltre a Chrome, Slack, Spotify, Zoom, WhatsApp, Blender, Affinity Suite e DaVinci Resolve, tra molti altri.

Per le app senza binario nativo, il nuovo motore di emulazione Prism migliora le prestazioni delle app emulate sui dispositivi Copilot+ con Snapdragon X e in arrivo su altri dispositivi Windows 11.

Se vuoi controllare quali app e giochi funzionano, Controlla la lista live su worksonwoa.comSi tratta di un progetto open source di terze parti a cui anche Microsoft contribuisce con dati di compatibilità.

Come trasferire app e driver su Arm64

Per creare una versione nativa della tua applicazione, in Visual Studio aggiungi un Piattaforma di soluzioni ARM64 di Configuration Manager, copiando la configurazione da x64 e creando nuove piattaforme di progetto. Quindi, compilare e correggere gli errori.

Una volta compilato il Release, è probabile che gli arresti anomali derivino da Dipendenze che non offrono binari Arm64Dovranno essere aggiornati, ricompilati o sostituiti, a seconda delle necessità.

Se vuoi controllare il binario risultante, usa PowerShell e corri dumpbin /headers sul file .exe per verificare che l'intestazione indichi la macchina AA64 (ARM64). Questo è un rapido controllo per assicurarsi di non utilizzare la variante sbagliata.

Il test e il debug sono più facili se si lavora su una macchina Arm. Se si sviluppa da x86/x64, Utilizzare il debug remoto su un dispositivo Windows o una VM su ARMMicrosoft documenta le strategie nella sua guida al debug di Arm.

Come prerequisiti consigliati, utilizzare Visual Studio 2022 v17.4 o versione successiva con supporto nativo Arm64 (L'anteprima di VS 17.10 aggiunge miglioramenti) e, se preferisci, LLVM Clang 12+ per la compilazione e il collegamento. La toolchain nativa offre prestazioni superiori rispetto alle versioni emulate.

Per quanto riguarda i framework, sono supportati .NET 7, .NET 6 LTS, .NET 5.0.8+ e .NET Framework 4.8.1È anche possibile compilare C++ con clang-cl, che mantiene la compatibilità ABI con MSVC.

  Come installare l'aggiornamento di Windows 11 Moment 4

Dipendenze, Arm64EC e aiuto esterno

Quando una libreria ti impedisce di compilare, ricompilarlo internamente per Arm64 Se è di tua proprietà, chiedi alla terza parte una nuova versione se è commerciale, oppure cerca alternative compatibili se è open source.

Prima di cambiare stack, controllare se vcpkg ora ha una versione aggiornata con Arm64 e, in caso contrario, valuta la possibilità di contribuire al supporto. Molte comunità apprezzerebbero questo aiuto.

Come strategia intermedia, Arm64EC ti consente di combinare la tua app ricompilata con dipendenze x64 che vengono eseguiti in emulazione nello stesso processo. Non è valido combinarli al contrario (non è possibile utilizzare dipendenze Arm64 pure in un processo x64).

Se hai bisogno di supporto, Linaro collabora con aziende e comunità per abilitare il software su ARMÈ possibile aprire una richiesta sul Service Desk per esplorare il supporto per i pacchetti Windows-on-ARM mancanti.

Test su hardware o VM, CI/CD e multithreading in emulazione

Per garantire la qualità, è fondamentale che il il test pass viene eseguito sull'architettura Arm64: hardware reale che esegue Windows su ARM o una VM compatibile, in modo che i risultati riflettano la realtà dell'utente finale.

Costruire e testare sulla stessa macchina semplifica la vita, anche se puoi anche Estendi la tua infrastruttura di build per generare binari multipiattaforma e poi distribuirli su un banco di prova Arm64 dedicato.

Se riscontri rari problemi di sincronizzazione con app multi-thread, prova con modalità multi-core rigorose o molto rigoroseoppure forzare la modalità single-core per vedere se il problema scompare. Questa è una tecnica utile per restringere il campo delle condizioni di gara.

Per impostare rapidamente un ambiente di test, Azure offre un avvio rapido per creare una VM Windows su ARMÈ una soluzione comoda per i test CI o manuali quando non si ha a disposizione hardware fisico.

Installazione di driver Windows e di archiviazione: x86/x64 vs. ARM

Se installi Windows 11 o 10 su un computer Intel non appaiono unità, potrebbe essere necessario Caricare il driver Intel Rapid Storage Technology (IRST) durante la procedura guidata oppure disabilitare Intel VMD. Questo vale solo per le piattaforme x86/x64, non per i dispositivi ARM.

La procedura tipica con IRST consiste in scarica il pacchetto dalla pagina di supporto del produttore, estrarlo in una memoria USB e utilizzare l'opzione di caricamento del driver nella schermata che chiede dove si desidera installare Windows, in modo che il programma di installazione rilevi i dischi.

In alternativa è possibile disattivare Intel Volume Management Device (VMD) su BIOSAccedi con F2, passa alla modalità avanzata con F7, vai alla sezione VMD e disabilita il driver; salva con F10. La nomenclatura può variare leggermente tra modelli e UEFI.

Sui modelli con Intel Lunar Lake, L'installazione manuale dei driver IRST non è supportataSi consiglia di utilizzare Windows 11 24H2 o versioni successive e di procedere con un'installazione standard senza caricare i driver.

Tuttavia, se il tuo computer è ARM (ad esempio, con una CPU Qualcomm), ASUS indica di utilizzare il Recupero dal cloud da MyASUS su WinRE per reinstallare il sistema invece del flusso tradizionale con IRST, che non si applica a questa architettura.

vedere i driver installati con driverquery
Articolo correlato:
Come visualizzare tutti i driver installati in Windows con DriverQuery e altri strumenti