Condividi tramite


Usare WSK per creare un'immagine di macchina virtuale di base

In questa procedura dettagliata verrà illustrato come usare i diversi componenti di Windows System Kit per creare un'immagine del sistema operativo Factory di base in una macchina virtuale. Verrà illustrato come usare i manifesti delle funzionalità e i file di configurazione delle immagini per configurare l'immagine.

Per eseguire questo lab, è necessario:

  • PC tecnico con:
    • Windows System Kit installato
    • Gestione Hyper-V installata
  • Un driver di esempio (facoltativo)
  • Un'app UWP di esempio (facoltativa)
  1. Montare l'ISO di Windows System Kit.

  2. Aprire l'ambiente dell'edificio immagine eseguendo SetImagGenEnv.cmd come amministratore. SetImagGenEnv.cmd è nella radice del WSK montato.

  3. Creare un'area di lavoro

    Si inizierà creando un'area di lavoro. Le aree di lavoro sono una raccolta di file che è necessario creare un'immagine. Quando si crea un'area di lavoro, è necessario scegliere l'architettura, il prodotto, il layout, il tipo di avvio e il tipo di immagine. In base alle selezioni, Windows System Kit creerà un'area di lavoro con un file OEMInput che funge da punto di partenza per la configurazione dell'immagine. In questo lab verrà creata un'immagine del sistema operativo Factory che è possibile distribuire in una macchina virtuale:

    PrepWSKWorkspace "C:\Workspace" -Product FactoryOS -VM
    

    Nota

    La variabile %WSKWorkspaceRoot% visualizzata in questo lab viene impostata automaticamente quando si esegue prepwskworkspace. Se si chiude e riapri l'ambiente Windows System Kit, è possibile impostare la radice dell'area di lavoro passando alla cartella dell'area di lavoro ed eseguendo SetWSKWorkspaceRoot.cmd.

  4. Aggiungere un driver all'immagine (facoltativo)

    Dopo aver creato l'area di lavoro, Windows System Kit ha creato un file denominato OEMDriversFM.xml. Questo file consente di definire i driver da includere nell'immagine. Il OEMDrivers.xml file generato da Windows System Kit non contiene informazioni sui driver aggiuntivi. Se si dispone di un driver di esempio che si vuole aggiungere:

    1. Copiare i file con estensione inf del driver e tutti i relativi file di supporto associati (.cab, .sys e così via) in C:\Workspace\DCHUDrivers.

    2. Eseguire uno script per aggiornare automaticamente il OEMDriversFM.xml:

      UpdateWSKDriversFM
      

    Vedere Manifesto delle funzionalità driver per altre informazioni sull'aggiunta di driver, tra cui come contrassegnare i driver come facoltativi e come generare una nuova app FM.

  5. Aggiungere un'app all'immagine

    Dopo aver creato l'area di lavoro, Windows System Kit ha creato un file denominato OEMAppsFM.xml. Questo file definisce ciò che è necessario per aggiungere un'app specifica all'immagine . Il file di esempio è configurato per aggiungere l'app Calcolatrice come funzionalità facoltativa all'immagine. Il file di configurazione dell'immagine include già l'app Calcolatrice, nonché le relative dipendenze. Ecco come aggiungere un'app aggiuntiva:

    1. Copiare un bundle con estensione appx, il relativo file di licenza e le dipendenze nella %WSKWorkspaceRoot%\Apps cartella.

    2. Dall'ambiente di compilazione eseguire:

      UpdateWSKAppsFM
      
    3. Si avrà un file di OEMAppsFM.xml aggiornato che include le app presenti nella Apps cartella. Quando è stato eseguito UpdateWSKAppsFM, le applicazioni aggiunte non vengono contrassegnate come facoltative. Se si desidera che siano facoltativi, modificare il file XML e impostare Optional = True per le app desiderate.

    4. Le app che non sono impostate come facoltative verranno incluse nell'immagine (purché il file FM sia incluso nel file di configurazione dell'immagine). Se si imposta un'app come facoltativo e si vuole aggiungerla al file di configurazione dell'immagine, è necessario aggiungerla alla AppXOptionalPackages sezione. Ecco come aggiungere l'app Calcolatrice (poiché è stata impostata come facoltativa quando si è creata l'area di lavoro).

      Esaminare la voce in OEMAppsFM.xml:

      <PackageFile Optional="true" ID="Microsoft.WindowsCalculator_8wekyb3d8bbwe" LicenseFile="Microsoft.WindowsCalculator_8wekyb3d8bbwe.xml" Name="Microsoft.WindowsCalculator_8wekyb3d8bbwe.appxbundle" Path="$(mspackageroot)\Appx\Calculator"/>
      

      Si noti che ID (Microsoft.WindowsCalculator_8wekyb3d8bbwe), verrà usato per aggiungere l'app.

      Copiare e ID incollarlo nel file di configurazione dell'immagine. simile al seguente:

      <AppXOptionalPackages>
      <!-- Add optional APPX packages here. -->
          <AppXID>Microsoft.WindowsCalculator_8wekyb3d8bbwe</AppXID>
      </AppXOptionalPackages>
      
    5. Salvare il file di configurazione dell'immagine.

    Per rendere disponibili altre app nell'immagine, vedere Manifesto delle funzionalità dell'app.

  6. Includere i manifesti delle funzionalità nel file di configurazione dell'immagine

    Dopo aver creato l'area di lavoro, Windows System Kit ha creato un file di configurazione dell'immagine che include OEMAppsFM.xml automaticamente e OEMDriversFM.xml. Se si creano manifesti di funzionalità aggiuntivi, è necessario aggiungerli nell'elemento nel file di configurazione dell'immagine AdditionalFMs . In questo modo le funzionalità definite nei manifesti delle funzionalità sono disponibili per aggiungere all'immagine. Tutte le funzionalità presenti nel file di configurazione dell'immagine sono definite nei manifesti delle funzionalità. L'aggiunta di un manifesto di funzionalità al file di configurazione dell'immagine rende disponibili tutte le funzionalità definite nel manifesto della funzionalità per aggiungere all'immagine.

    Aprire il file di configurazione delle immagini in un editor XML e verificare che OEMAppsFM.xml e OEMDriversFM.xml siano elencati. Le app e i driver inclusi in queste macchine virtuali verranno inclusi automaticamente nell'immagine, a meno che non sia specificato come optional. Per altre informazioni, vedere Contrassegnare una funzionalità come facoltativa nei manifesti delle funzionalità.

    Aprire il file di configurazione dell'immagine. Verranno visualizzate le macchine virtuali seguenti elencate nel file. Se i manifesti delle funzionalità per le app e i driver non sono elencati, aggiungerli in modo che sia simile al seguente:

    <AdditionalFMs>
    <!-- You MUST include GenericDeviceFM.xml and FOSNonProductionFM.xml! -->
    <AdditionalFM>%WSKContentRoot%\FMFiles\%WSKImageArchitecture%\FactoryOS\GenericDeviceFM.xml</AdditionalFM>
    <AdditionalFM>%WSKContentRoot%\FMFiles\%WSKImageArchitecture%\FactoryOS\FOSNonProductionFM.xml</AdditionalFM>
    <AdditionalFM>%WSKContentRoot%\FMFiles\%WSKImageArchitecture%\FactoryOS\HardwareValidationFM.xml</AdditionalFM>
    <!-- Add OEM FMs here. -->
    <AdditionalFM>%WSKWorkspaceRoot%\FMFiles\OEMAppsFM.xml</AdditionalFM>
    <AdditionalFM>%WSKWorkspaceRoot%\FMFiles\OEMDriversFM.xml</AdditionalFM>
    </AdditionalFMs>
    
  7. Creare un'immagine

    Eseguire il comando seguente per compilare l'immagine. Quando si configura l'area di lavoro, l'immagine deve essere una macchina virtuale. Verrà creata una macchina virtuale in una cartella denominata Workspace.Output.

    BuildWSKImage %WSKWorkspaceRoot%\FactoryOS_Development_AMD64_UEFI_SpacesGPT_VM.xml
    

    Nota

    Il file xml a cui si fa riferimento può essere diverso a seconda delle opzioni scelte quando si è creata l'area di lavoro. Se viene visualizzato un errore quando si esegue questo comando, assicurarsi che il nome del file sia corretto.

    Importante

    Se si tenta di generare un'immagine nella cartella di destinazione che include già un oggetto . Le immagini FFU o i dischi rigidi virtuali con lo stesso nome, la creazione di immagini avrà esito negativo con l'errore seguente:

    imageapp : ERROR : ThreadId18164 OutputFile C:\FactoryOS.Output\FactoryOS_Development_AMD64_UEFI_SpacesGPT_Hardware.ffu already exists.
    

    Prima di generare un'immagine, assicurarsi che la cartella di output non contenga già un'immagine generata dello stesso nome.

  8. Creare una macchina virtuale che usa il disco rigido virtuale creato. Dopo l'avvio, è possibile connettersi al dispositivo usando Il portale del dispositivo, SSH o TShell.