IBM Cloud Docs
Creazione di un'immagine Windows® personalizzata

Creazione di un'immagine Windows® personalizzata

È possibile creare un'immagine personalizzata basata su Windows® per importare l'immagine personalizzata in IBM Cloud® Virtual Private Cloud. Quindi, si può usare l'immagine personalizzata per distribuire un server virtuale o un server bare metal nella propria infrastruttura IBM Cloud® Virtual Private Cloud.

Prima di iniziare

Puoi iniziare con un template dell'immagine dall'infrastruttura classica IBM Cloud. Per ulteriori informazioni, vedi Migrazione di un server virtuale dall'infrastruttura classica. È anche possibile creare un'immagine personalizzata di un volume di avvio collegato a un server al momento dell'importazione. Per ulteriori informazioni, vedi Informazioni sulla creazione di un'immagine dal volume. Tenete presente che le immagini personalizzate di Windows® non sono supportate per LinuxONE (architettura del processore s390x).

Tutte le immagini personalizzate devono soddisfare i seguenti requisiti

  • Contenere un singolo file o volume.
  • Essere dentro qcow2 o formato VHD.
  • Essere abilitato per cloud-init o avviabile utilizzando ESXi kickstart.
  • Le dimensioni non superano i 250 GB.
  • La dimensione minima è 10 GB. Per qualsiasi immagine inferiore a 10 GB, la dimensione viene arrotondata a 10 GB.

Non puoi creare un'immagine da un volume di avvio crittografato (immagine da un volume) che non sia 100 GB.

Procedere come segue per creare un'immagine personalizzata di Windows® da distribuire nell'ambiente di infrastruttura IBM Cloud VPC. La procedura comprende le seguenti attività di livello superiore.

  • Utilizzare VirtualBox per creare un'immagine di Windows® in formato VHD.
  • Personalizza l'immagine con i driver virtIO e Cloudbase-init.

Prima di creare un'immagine personalizzata di Windows® , tenere presente i seguenti requisiti.

I driver Virtio - win devono essere installati. Microsoft® consiglia di ottenere i driver da un'istanza RHEL versione 8 o 9 con licenza. Red Hat utilizza driver certificati da Microsoft. La versione minima consigliata del pacchetto Red Hat virtio - win è virtio-win-1.9.24. Tuttavia, è preferibile utilizzare il package più recente.

L'ISO Red Hat virtio-win-1.9.24 contiene le seguenti versioni specifiche del driver.

100.84.104.19500 oem10.inf \vioprot.inf_amd64_af0659efdaba9e4b\vioprot.inf
100.90.104.21400 oem11.inf \viofs.inf_amd64_c6f785e21f3f6f80\viofs.inf
100.85.104.20200 oem12.inf \viogpudo.inf_amd64_b19dcf9947e73e5a\viogpudo.inf
100.85.104.19900 oem13.inf \vioinput.inf_amd64_4505a789e17b5f89\vioinput.inf
100.81.104.17500 oem14.inf \viorng.inf_amd64_ef304eab276a3e61\viorng.inf
100.85.104.19900 oem15.inf \vioser.inf_amd64_cb4783c018c10eba\vioser.inf
100.90.104.21500 oem2.inf  \vioscsi.inf_amd64_02a46a7a223648d1\vioscsi.inf
100.90.104.21500 oem3.inf  \viostor.inf_amd64_520417bbc533faba\viostor.inf
100.85.104.20700 oem4.inf  \balloon.inf_amd64_afa8c93081df5458\balloon.inf
100.90.104.21400 oem5.inf  \netkvm.inf_amd64_0efff05c07fcee39\netkvm.inf
100.85.104.19900 oem6.inf  \pvpanic.inf_amd64_b7028360ef636f8b\pvpanic.inf
10.0.0.21000     oem9.inf  \qxldod.inf_amd64_6199f9ecf2339133\qxldod.inf

1. Creazione dell'immagine personalizzata di Windows®

Per creare un'immagine Windows® personalizzata, procedere come segue.

  1. È possibile scaricare la versione di valutazione degli ISO del sistema operativo Windows 2016, Windows 2019o Windows 2022.

  2. Con l'utilità qemu-img, creare un'immagine VHD in cui installare Windows. Scaricare il programma di utilità qemu - img e estrarlo sul client laptop Windows. Nella cartella in cui hai estratto il programma di utilità qemu-img, crea l'immagine VHD.

    qemu-img.exe create -f vpc Windows-2019.vhd 100G
    

    IBM Cloud® supporta l'importazione di immagini personalizzate con VHD o qcow2. Tuttavia, Virtual Box non supporta il formato qcow2.

  3. Ottieni i driver virtio - win richiesti eseguendo il provisioning o accedendo a un server RHEL esistente in IBM Cloud VPC.

    1. Sul server RHEL in IBM Cloud VPC, installa il package virtio - win immettendo il seguente comando.

      yum install virtio-win
      

      In questo esempio, il pacchetto virtio - win viene installato su RHEL versione 8. L'output restituito è simile al seguente esempio.

      Installed:
        virtio-win-1.9.24-2.el8_5.noarch
      
    2. Accedere all'ISO virtio - win nella directory /usr/share/virtio-win.

      cd /usr/share/virtio-win/
      
    3. Utilizzare una copia sicura per copiare il file ISO di virtio-win, ad esempio virtio-win-1.9.24.iso, da utilizzare per l'immagine personalizzata di Windows®.

    • Utilizzare winSCP per copiare il file ISO su un client ®.
    • Utilizzare SCP per copiare il file ISO su un client Linux o macOS.
    1. Montare e aprire il file ISO.

    2. Copiare tutti i driver virtio rilevanti dal file virtio-win.iso per il rispettivo sistema operativo, inserire i driver in una cartella denominata Drivers, quindi copiare la cartella Drivers nella cartella ISO del sistema operativo.

    3. Scarica Windows Assessment and Deployment toolkit(ADK). Per ottenere il programma di utilità oscdimg.exe, installare solo gli strumenti di distribuzione.

    4. Creare una ISO Windows avviabile che incorpori tutti i driver virtio nella cartella Drivers utilizzando il comando oscdimg.exe.

      C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\x86\Oscdimg> oscdimg -m -bC:\..\..\Downloads\<extracted_ISO_folder>\boot\etfsboot.com -u2 C:\..\..\Downloads\extracted_ISO_folder  C:\..\..\Downloads\win2019new.iso
      
  4. Usare VirtualBox per creare un server virtuale con l'immagine VHD creata al punto 2 usando la ISO di Windows® avviabile creata al punto 3. Per ulteriori informazioni, consultare Oracle VM VirtualBox Manuale per l'utente.

    Se si desidera utilizzare un metodo diverso da VirtualBox per creare l'immagine personalizzata, come VMware, è necessario rimuovere tutti i driver specifici di tale hypervisor dall'immagine personalizzata.

  5. In Impostazioni di archiviazione, aggiungere l'ISO avviabile dell'installazione di Windows® creata al punto 3.

  6. Avviare il server e iniziare l'installazione di Windows® .

  7. Selezionare la Edizione (Standard / Data Center) del sistema operativo e Esperienza desktop (con Esperienza desktop o senza Esperienza desktop).

  8. Selezionare Unità 0 e continuare con l'installazione.

  9. Una volta completata l'installazione, arrestare il server virtuale e rimuovere l'ISO di installazione. È possibile ignorare le avvertenze relative alla rimozione dell'ISO di installazione.

  10. Utilizzare il programma di aggiornamento predefinito di Windows® per scaricare e installare gli aggiornamenti di Windows. Ripetere il processo di download e installazione degli aggiornamenti fino a quando non sono disponibili aggiornamenti.

Rendere disponibili i driver virtio-win nell'immagine di ripristino

Dopo aver creato l'immagine di Windows® , assicurarsi che i driver virtio-win siano disponibili nell'immagine di ripristino. Questo passaggio consente di utilizzare l'immagine di ripristino per risolvere eventuali problemi o per utilizzare l'immagine in modalità di ripristino.

Dopo aver scaricato i driver virtio necessari vioscsi.inf e viostor.inf, utilizzare i seguenti passaggi per rendere i driver disponibili nell'immagine di ripristino.

  1. Trovate l'immagine di ripristino usando il comando reagentc /info.

    • Se l'immagine di ripristino si trova in una partizione di ripristino separata, utilizzare l'utilità diskpart per assegnare una lettera di unità e per nascondere l'unità. Questi passaggi non sono necessari se non esistono partizioni di ripristino separate. L'esempio seguente riguarda la partizione 3, con l'unità R, e utilizza l'impostazione id=07.

      diskpart
      select disk 0
      list part
      select part 3
      assign letter R
      set id=07
      exit
      
  2. Per modificare l'immagine di ripristino, utilizzare reagentc /disable per disabilitare la modalità di ripristino.

  3. Creare una directory per montare l'immagine di ripristino.

    md C:\mount\winre
    
  4. Copiare l'immagine di ripristino nella directory di montaggio.

    xcopy /h R:\Recovery\WindowsRE\Winre.wim C:\mount\
    
  5. Rendere visibile l'immagine di recupero utilizzando attrib -s -h -r C:\mount\Winre.wim.

  6. Montare il contenuto dell'immagine di ripristino utilizzando dism /Mount-Image /ImageFile:c:\mount\Winre.wim /index:1 /MountDir:c:\mount\winre.

  7. Aggiungere i driver vioscsi e viostor all'immagine di ripristino. L'esempio seguente presuppone che i driver virtio si trovino sull'unità E. Selezionare la versione di Windows® corrispondente per i driver vioscsi e viostor.

    Dism /image:c:\mount\winre /Add-Driver /Driver:"E:\vioscsi\2k19\amd64\vioscsi.inf"
    Dism /image:c:\mount\winre /Add-Driver /Driver:"E:\viostor\2k19\amd64\viostor.inf"
    
  8. Dopo aver aggiunto tutti i driver, si è pronti a creare l'immagine di ripristino.

    Dism /Image:c:\mount\winre /Cleanup-Image /StartComponentCleanup
    Dism /Unmount-Image /MountDir:c:\mount\winre /Commit
    
  9. Ottimizzare l'immagine di ripristino.

    Dism /Export-Image /SourceImageFile:c:\mount\WinRE.wim /SourceIndex:1 /DestinationImageFile:c:\mount\winre-optimized.wim
    
  10. Copiare l'immagine di ripristino nella sua posizione originale, come indicato al punto 1, con i suoi attributi originali.

    xcopy C:\mount\winre-optimized.wim  R:\Recovery\WindowsRE\WinEe.wim /h /r
    
    • Se l'immagine di ripristino si trova in una partizione di ripristino separata, utilizzare l'utilità diskpart per rimuovere la lettera di unità assegnata e nascondere l'unità. Questi passaggi non sono necessari se non esistono partizioni di ripristino separate. L'esempio seguente riguarda la partizione 3 con l'unità R.

      diskpart
      select disk 0
      list part
      select part 3
      remove letter R
      set id=27
      exit
      
  11. Attivare l'immagine di ripristino utilizzando reagentc /enable.

  12. Verificare che la modalità di recupero sia abilitata utilizzando reagentc /info.

L'immagine viene configurata con un'immagine di ripristino che include i driver virtio necessari.

2. Personalizzazione di un server virtuale

Completare i seguenti passaggi per personalizzare il server virtuale creato con VirtualBox.

  1. Installare e configurare cloudbase - init dal pacchetto di installazione Cloudbase - Init

  2. Modificare il file cloudbase-init.conf (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf) in modo che corrisponda ai seguenti valori. Non rimuovere nessun altro contenuto dal file.

    [DEFAULT]
    #  "cloudbase-init.conf" is used for every boot
    config_drive_types=vfat,iso
    config_drive_locations=hdd,partition
    activate_windows=true
    kms_host=kms.adn.networklayer.com:1688
    mtu_use_dhcp_config=false
    real_time_clock_utc=false
    bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe
    mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\
    debug=true
    log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\
    log_file=cloudbase-init.log
    default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN
    local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\
    metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService,
    # enabled plugins - executed in order
    plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin,
              cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin,
              cloudbaseinit.plugins.windows.licensing.WindowsLicensingPlugin,
              cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin,
              cloudbaseinit.plugins.common.userdata.UserDataPlugin,
              cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin
    

    Se intendi portare la tua licenza per la tua immagine personalizzata, rimuovi le seguenti righe dal file cloudbase-init.conf.

    activate_windows=true
    kms_host=kms.adn.networklayer.com:1688
    
  3. Modificare il file cloudbase-init-unattend.conf (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init-unattend.conf) in modo che corrisponda ai seguenti valori. Non rimuovere nessun altro contenuto dal file.

    [DEFAULT]
    #  "cloudbase-init-unattend.conf" is used during the Sysprep phase
    username=Administrator
    inject_user_password=true
    first_logon_behaviour=no
    config_drive_types=vfat
    config_drive_locations=hdd
    allow_reboot=false
    stop_service_on_exit=false
    mtu_use_dhcp_config=false
    bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe
    mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\
    debug=true
    log_dir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\
    log_file=cloudbase-init-unattend.log
    default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN
    local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\
    metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService,
    # enabled plugins - executed in order
     plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin,
              cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,
              cloudbaseinit.plugins.windows.createuser.CreateUserPlugin,
              cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin,
              cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin,
              cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin
    
  4. Modificare il file Unattend.xml (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml) e impostare il valore PersistAllDeviceInstalls su false.

  5. Eseguire Sysprep utilizzando il seguente comando dal prompt dei comandi.

    C:\Windows\System32\Sysprep\Sysprep.exe /oobe /generalize /shutdown "/unattend:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml"
    
  6. Dopo aver eseguito sysprep, il server virtuale viene arrestato. Quindi puoi continuare con Passaggio 4: creazione di un modello di immagine del tuo server virtuale personalizzato

3. Caricamento di un'immagine personalizzata

Utilizza le seguenti informazioni per caricare una immagine personalizzata in IBM Cloud Object Storage.

Nella pagina Objects del vostro IBM Cloud® Object Storage, fate clic su Upload. È possibile utilizzare il plug-in di trasferimento ad alta velocità Aspera per caricare immagini di dimensioni superiori a 200 MB. Per ulteriori informazioni sul caricamento su IBM Cloud Object Storage, vedi Carica i dati.

Passi successivi

Quando l'immagine personalizzata di Windows® è creata e disponibile in IBM Cloud Object Storage, è possibile importare l'immagine personalizzata in VPC e inserire un'immagine di server virtuale per VPC. Assicurati di concedere l'accesso a IBM Cloud Object Storage per importare le immagini.

Se intendi utilizzare un catalogo privato per gestire le tue immagini personalizzate, devi prima importare tale immagine in IBM Cloud VPC, quindi eseguire l'onboarding dell'immagine in un catalogo privato.

Dopo aver importato l'immagine personalizzata, puoi utilizzarla per distribuire un server nella tua infrastruttura IBM Cloud® Virtual Private Cloud.

Dopo aver creato un nuovo server virtuale dall'immagine importata, arrestare e avviare il server virtuale prima di accedervi:

  1. In IBM Cloud console, fare clic su Menu di navigazione icona del menu > Infrastrutture Icona VPC > Calcolo > Istanze server virtuali.
  2. Nella pagina Istanze server virtuale, fare clic sull'icona Azioni Icona Altre azioni.