Imansible creare la macchina virtuale

Oggi ero così felice che ho finalmente potuto installare Windows Phone 8 SDK e provarlo un po ‘. Ho installato una nuova installazione di Windows 8 Pro nella mia macchina virtuale (sto funzionando da Parallels) e poi ho installato l’SDK di Windows Phone 8.

Tutto è andato liscio, Visual Studio Express è installato e in esecuzione, ma quando ho creato un nuovo progetto e ho provato a distribuirlo, VS non riesce con un messaggio davvero strano.

Prima di tutto, finestra di messaggio che informa che “L’emulatore di Windows Phone non è stato in grado di creare la macchina virtuale: viene visualizzato l’errore generico”. Davvero informando, davvero professionale – errore generico, che è davvero buono. Poi l’informazione che la distribuzione non è riuscita appare (grazie mille per avermi tenuto informato, non ho notato che si è schiantato completamente). E poi nella Lista degli errori, c’è una informazione su “Puntatore non valido” – ancora meglio. Nessun indizio su cosa è fallito o cosa non va.

Qualcuno può aiutarmi con quello? Non c’è niente su internet su questo argomento finora e non so dove sia il problema. Ho scansionato gli eventi e i log di Windows, ma non c’è nulla (probabilmente non ho cercato correttamente, quindi per favore guidami attraverso se ansible).

Qualcuno può aiutare?

L’emulatore di Windows Phone 8 richiede il supporto hardware Hyper-V. In particolare, richiede la conversione dell’indirizzo di secondo livello, la virtualizzazione assistita dall’hardware e il supporto DEP hardware abilitato e non può essere eseguito in un hypervisor (nessun nidificazione). Se hai acquistato la tua macchina negli ultimi 4 anni non dovresti avere problemi con questi requisiti. Puoi dare un’occhiata a questo articolo per vedere maggiori informazioni a riguardo e come trovare se il tuo PC lo supporta.

A causa di questi requisiti hardware, questo significa che non è ansible eseguire l’emulatore del telefono all’interno della maggior parte delle tecnologie di virtualizzazione … Con una sola eccezione: ho utilizzato VMWare 9 che sembra includere una funzionalità “non supportata” per consentire a Hyper-V di lavoro però .. Quindi la tua unica scelta per l’esecuzione dell’emulatore è acquistare VMWare 9 (o 8 con più configurazione) o aggiornare una macchina fisica a Windows 8

Il modo non supportato VMWare consente di eseguire Hyper-V all’interno di una VM è che esiste un’opzione manuale ( hypervisor.cpuid.v0 = “FALSE” ) che in pratica indica a VMWare di non segnalare alla macchina virtuale che è in esecuzione in una VM . Hyper-V controlla se è in esecuzione su una VM e non funzionerà se lo è, quindi questo farà in modo che Hyper-V superi il controllo. Personalmente ho testato l’intera cosa nested-VM con l’emulatore Phone (incluso prima del rilascio pubblico), e oltre ad essere piuttosto lento, funziona piuttosto bene senza arresti anomali immediati o altro.

C’è una soluzione alternativa anche per VMWare Workstation 8 in una risposta di seguito . Tuttavia, 9 è molto più facile da configurare, quindi se lo usi usa questo metodo.

Mi sono imbattuto nello stesso problema e l’ho risolto triggersndo le applicazioni Hypervisor in questa macchina virtuale e aggiungendo la seguente riga al file .vmx:

hypervisor.cpuid.v0 = “FALSE”

Questo ha fatto funzionare bene l’emulatore. Ho trovato questa risposta qui .

Spero che questo ti aiuti.

In realtà, funziona molto bene con VMware Fusion 5.0.1

Tutto quello che dovevo fare è aggiungere al file .vmx della macchina virtuale le seguenti linee:

hypervisor.cpuid.v0 = “FALSE” vhv.enable = “true”

Salva e riavvia VMWARE (ovviamente la VM deve essere arrestata prima che vengano apportate le modifiche)

In questo momento sto eseguendo il debug di un’applicazione di test da VS2012 utilizzando l’emaulator all’interno di una VM nel mio Macbook

Sono un campeggiatore felice

🙂

Ho postato la stessa domanda sul forum di Parallels.

Rispondere:

L’emulatore è in realtà una macchina virtuale, quindi stiamo parlando di un vm all’interno di un VM, questo richiede il supporto per Hyper-V nidificato, che afaik è pianificato ma non ancora implementato, anche VMWare Fusion lo supporta già, se sei così disperato.

—–

Vedi il post sul forum di Parallels: http://forum.parallels.com/showthread.php?p=646448#post646448

Questo funziona per me

Imposta RAM su 4g Imposta almeno 2 core

aggiungi al file vmx.

vhv.enable = “TRUE”

hypervisor.cpuid.v0 = “false”

Leggi l’articolo http://social.msdn.microsoft.com/Forums/en-US/wptools/thread/ed72010c-321c-4667-97b2-3ff1540e7f87/

Per eseguire Hyper-V è necessario l’hardware compatibile con SLAT , requisito necessario per l’utilizzo dell’emulatore.

Puoi chiarire che tipo di hardware stai tentando di eseguire su questo, e se hai abilitato la virtualizzazione nelle impostazioni del BIOS?

L’errore “Puntatore non valido” significa semplicemente che non può connettersi all’emulatore (e / o al dispositivo).

Proprio come un’aggiunta a https://stackoverflow.com/a/13163762/1964969 (la migliore risposta al momento): l’aggiunta manuale del tasto “hypervisor.cpuid.v0” funziona anche per VmWare Player 5 (il motivo principale: questo software è gratuito per uso non commerciale, quindi è un prodotto perfetto se testate le acque, basta scaricare dal sito Web di VmWare e installarlo, è completamente funzionante).

Un po ‘inaspettato, qualsiasi delle seguenti modifiche risolve il problema con l’emulatore WP8:

 hypervisor.cpuid.v0="FALSE" hypervisor.cpuid.v0="TRUE" hypervisor.cpuid.v0="" 

Sì, puoi applicare un valore vuoto per quella chiave, ma perché? Non ne ho idea, ma funziona. Ho fatto alcuni appunti anche nel mio blog: http://windowsasusual.blogspot.ru/2013/01/how-to-launch-windows-phone-8-emulator.html

Sotto Parallels Desktop 8 segui questa guida: http://kb.parallels.com/en/115211

Modifica : Oh, non ho notato che stai cercando di eseguire l’emulatore su VM. La mia risposta è per l’ambiente non VM.


Prima di tutto, è necessario verificare i requisiti hardware qui

Fai attenzione, l’installazione corretta di SDK non garantisce “l’hardware è compatibile” Se il tuo hardware è compatibile e Hyper-V è in esecuzione (descritto nel link sopra), controlla il BIOS e assicurati di abilitare la virtualizzazione dell’hardware nella Configurazione della CPU

(per me, ho potuto trovarlo su Avvio> BIOS> Avanzate> Avanzate> Configurazione CPU)

Breve riassunto:

  • CPU a 64 bit e sistema operativo
  • 4 GB di RAM
  • CPU supportata dalla virtualizzazione assistita da hardware
  • Hardware supportato secondo livello di traduzione degli indirizzi (SLAT)
  • Hardware supportato dall’hardware Data Execution Prevention (DEP) basato su hardware
  • Impostazioni del BIOS corrette

Per me la soluzione aggiungendo linea:

 hypervisor.cpuid.v0 = "FALSE" 

Uso VMware Player e ho aggiunto la riga ( hypervisor.cpuid.v0 = "FALSE" ) nel file .vmx. La mia macchina virtuale con Windows 8 Pro esegue perfettamente l’emulatore per Windows Phone 8.

Risolto il problema disinstallando un vecchio client VPN dalla macchina. Alcuni client VPN potrebbero avere problemi di compatibilità con Windows 8. Dopo aver disinstallato il client VPN, sono riuscito a eseguire l’emulatore senza problemi (ovviamente dopo aver verificato che Hyper-V fosse installato e abilitato sulla macchina)

Rappresentante non sufficiente per commentare la risposta accettata, ma Microsoft fornisce istruzioni specifiche per Fusion qui . Ha funzionato per me, dopo un paio di riavvii sia su Mac che su VM. Ho installato W8.1 senza il supporto Hyper-V inizialmente e ho dovuto installarlo dopo il fatto (“Attiva o distriggers funzionalità Windows” nel Pannello di controllo), ma a parte questo nessun problema. Abbastanza veloce su un MBP da 16 Gb 2013.