IBM Cloud Docs
Creación de una imagen personalizada de Windows

Creación de una imagen personalizada de Windows

Puede crear su propia imagen personalizada basada en Windows® para importar la imagen personalizada en IBM Cloud® Virtual Private Cloud. A continuación, puede utilizar la imagen personalizada para desplegar un servidor virtual o un servidor bare metal en su infraestructura IBM Cloud® Virtual Private Cloud.

Antes de empezar

Puede empezar con una plantilla de imagen de la infraestructura clásica de IBM Cloud. Para obtener más información, consulte Migración de un servidor virtual desde la infraestructura clásica. También puede crear una imagen personalizada de un volumen de arranque que se adjunta a un servidor en el momento de la importación. Para obtener más información, consulte Acerca de la creación de una imagen desde un volumen. Tenga en cuenta que las imágenes personalizadas de Windows® no son compatibles con LinuxONE (s390x).

Todas las imágenes personalizadas deben cumplir los siguientes requisitos:

  • Contener un solo archivo o volumen.
  • Estar en formato qcow2 o vhd.
  • Estar habilitado para el inicio en la nube o arrancable mediante ESXi kickstart.
  • El tamaño no supera los 250 GB.
  • El tamaño mínimo es de 10 GB. Para cualquier imagen que sea inferior a 10 GB, el tamaño se redondea a 10 GB.

No se puede crear una imagen a partir de un volumen de arranque cifrado (imagen a partir de un volumen) que no tenga 100 GB.

Utilice los siguientes pasos para crear una imagen personalizada de Windows® para desplegar en el entorno de infraestructura IBM Cloud VPC. El procedimiento abarca las siguientes tareas de alto nivel.

  • Utilice VirtualBox para crear una imagen de Windows® en formato VHD.
  • Personalice la imagen con controladores de virtIO y Cloudbase-init.

Tenga en cuenta los siguientes requisitos antes de crear una imagen personalizada de Windows®.

Los controladores Virtio-win deben estar instalados. Microsoft® recomienda obtener los controladores de una instancia RHEL versión 8 o 9 con licencia. Red Hat utiliza controladores certificados por Microsoft. La versión mínima recomendada del paquete Red Hat virtio-win es virtio-win-1.9.24. Sin embargo, es mejor utilizar el paquete más reciente.

El ISO Red Hat virtio-win-1.9.24 contiene las siguientes versiones de controlador específicas.

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. Creación de la imagen personalizada de Windows

Siga estos pasos para crear una imagen personalizada de Windows®.

  1. Puede descargar la versión de evaluación de los ISO del sistema operativo Windows 2016, Windows 2019o Windows 2022.

  2. Con la utilidad qemu-img, crea una imagen VHD donde quieras instalar Windows. Descargue el programa de utilidad qemu-img y extráigalo en el cliente portátil de Windows. En la carpeta donde ha extraído el programa de utilidad qemu-img, cree la imagen VHD.

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

    IBM Cloud® admite la importación de imágenes personalizadas con VHD o qcow2. Sin embargo, Virtual Box no admite el formato qcow2.

  3. Obtenga los controladores virtio-win necesarios suministrando o accediendo a un servidor RHEL existente en IBM Cloud VPC.

    1. En el servidor RHEL en IBM Cloud VPC, instale el paquete virtio-win ejecutando el mandato siguiente.

      yum install virtio-win
      

      En este ejemplo, el paquete virtio-win se instala en RHEL versión 8. El resultado es similar al del ejemplo siguiente.

      Installed:
        virtio-win-1.9.24-2.el8_5.noarch
      
    2. Acceda a la ISO de virtio-win en el directorio /usr/share/virtio-win.

      cd /usr/share/virtio-win/
      
    3. Utilice una copia segura para copiar el archivo ISO virtio-win, por ejemplo virtio-win-1.9.24.iso, para utilizarlo en su imagen personalizada de Windows®.

    • Utilice winSCP para copiar el archivo ISO en un cliente ®.
    • Utilice SCP para copiar el archivo ISO en un cliente Linux o macOS.
    1. Monte y abra el archivo ISO.

    2. Copie todos los controladores virtio relevantes del archivo virtio-win.iso para el sistema operativo respectivo, coloque los controladores en una carpeta denominada Drivers y, a continuación, copie la carpeta Drivers en la carpeta ISO del sistema operativo.

    3. Descargue el kit de herramientas de despliegue y evaluación de Windows(ADK). Para obtener el programa de utilidad oscdimg.exe, instale sólo las herramientas de despliegue.

    4. Cree un ISO de Windows arrancable que incorpore todos los controladores virtio en la carpeta Drivers utilizando el mandato 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. Utilice VirtualBox para crear un servidor virtual con la imagen VHD que creó en el paso 2 utilizando la ISO de arranque de Windows® que creó en el paso 3. Para obtener más información, consulte Oracle VM VirtualBox.

    Si desea utilizar un método distinto de VirtualBox para crear la imagen personalizada, como VMware, debe eliminar todos los controladores específicos de ese hipervisor de la imagen personalizada.

  5. En Configuración de almacenamiento, añada la ISO de arranque de instalación de Windows® que creó en el paso 3.

  6. Inicie el servidor y comience la instalación de Windows®.

  7. Seleccione la Edición (Estándar / Data Center) del sistema operativo y Experiencia de escritorio (con Experiencia de escritorio o sin Experiencia de escritorio).

  8. Seleccione Unidad 0 y continúe con la instalación.

  9. Cuando finalice la instalación, concluya el servidor virtual y elimine el ISO de instalación. Puede ignorar los avisos sobre la eliminación del ISO de instalación.

  10. Utilice el actualizador predeterminado de Windows® para descargar e instalar las actualizaciones de Windows. Repita el proceso de descarga e instalación de actualizaciones hasta que no haya actualizaciones disponibles.

Hacer que los controladores virtio-win estén disponibles en la imagen de recuperación

Una vez creada la imagen de Windows®, asegúrese de que los controladores virtio-win están disponibles en la imagen de recuperación. Este paso garantiza que pueda utilizar la imagen de recuperación para solucionar cualquier problema o para utilizar la imagen en modo de rescate.

Después de descargar los controladores virtio necesarios vioscsi.inf y viostor.inf, siga los siguientes pasos para que los controladores estén disponibles en la imagen de recuperación.

  1. Busque la imagen de recuperación mediante el comando reagentc /info.

    • Si la imagen de recuperación se encuentra en una partición de recuperación independiente, utilice la utilidad diskpart para asignar una letra de unidad y desocultar la unidad. Estos pasos no son necesarios si no existen particiones de recuperación independientes. El siguiente ejemplo es para la partición 3, con la unidad R, y utiliza la configuración id=07.

      diskpart
      select disk 0
      list part
      select part 3
      assign letter R
      set id=07
      exit
      
  2. Para modificar la imagen de recuperación, utiliza reagentc /disable para desactivar el modo de recuperación.

  3. Cree un directorio para montar la imagen de recuperación.

    md C:\mount\winre
    
  4. Copie la imagen de recuperación en el directorio de montaje.

    xcopy /h R:\Recovery\WindowsRE\Winre.wim C:\mount\
    
  5. Haga visible la imagen de recuperación utilizando attrib -s -h -r C:\mount\Winre.wim.

  6. Monte el contenido de la imagen de recuperación mediante dism /Mount-Image /ImageFile:c:\mount\Winre.wim /index:1 /MountDir:c:\mount\winre.

  7. Añade los controladores vioscsi y viostor a la imagen de recuperación. El siguiente ejemplo supone que los controladores virtio están en la unidad E. Seleccione la versión de Windows® correspondiente para los controladores vioscsi y 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. Después de añadir todos los controladores, estará listo para crear la imagen de recuperación.

    Dism /Image:c:\mount\winre /Cleanup-Image /StartComponentCleanup
    Dism /Unmount-Image /MountDir:c:\mount\winre /Commit
    
  9. Optimizar la imagen de recuperación.

    Dism /Export-Image /SourceImageFile:c:\mount\WinRE.wim /SourceIndex:1 /DestinationImageFile:c:\mount\winre-optimized.wim
    
  10. Copie la imagen de recuperación en su ubicación original, como se indica en el paso 1, con sus atributos originales.

    xcopy C:\mount\winre-optimized.wim  R:\Recovery\WindowsRE\WinEe.wim /h /r
    
    • Si la imagen de recuperación se encuentra en una partición de recuperación independiente, utilice la utilidad diskpart para eliminar la letra de unidad asignada y ocultar la unidad. Estos pasos no son necesarios si no existen particiones de recuperación independientes. El siguiente ejemplo es para la partición 3 con la unidad R.

      diskpart
      select disk 0
      list part
      select part 3
      remove letter R
      set id=27
      exit
      
  11. Habilita la imagen de recuperación mediante reagentc /enable.

  12. Compruebe que el modo de recuperación está activado mediante reagentc /info.

Su imagen se configura con una imagen de recuperación que incluye los controladores virtio necesarios.

2. Personalización de un servidor virtual

Complete los siguientes pasos para personalizar el servidor virtual que creó mediante VirtualBox.

  1. Instale y configure cloudbase-init desde el paquete de instalación Cloudbase-Init

  2. Modifique el archivo cloudbase-init.conf (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf) para que coincida con los valores siguientes. No elimine ningún otro contenido del archivo.

    [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
    

    Si planea traer su propia licencia para su imagen personalizada, elimine las siguientes líneas del archivo cloudbase-init.conf.

    activate_windows=true
    kms_host=kms.adn.networklayer.com:1688
    
  3. Modifique el archivo cloudbase-init-unattend.conf (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init-unattend.conf) para que coincida con los valores siguientes. No elimine ningún otro contenido del archivo.

    [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. Modifique el archivo Unattend.xml (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml) y establezca el valor PersistAllDeviceInstalls en false.

  5. Ejecute Sysprep utilizando el mandato siguiente desde el indicador de mandatos.

    C:\Windows\System32\Sysprep\Sysprep.exe /oobe /generalize /shutdown "/unattend:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml"
    
  6. Después de ejecutar sysprep, el servidor virtual se apaga. Luego, puedes continuar con Paso 4: crear una plantilla de imagen de su servidor virtual personalizado

3. Cargar una imagen personalizada

Utilice la información siguiente para cargar una imagen personalizada en IBM Cloud Object Storage.

En la página Objects de su IBM Cloud® Object Storage bucket, haga clic en Upload. Puede utilizar el complemento de transferencia de alta velocidad Aspera para cargar imágenes de más de 200 MB. Para obtener más información sobre cómo cargar en IBM Cloud Object Storage, consulte Carga de datos.

Próximos pasos

Cuando su imagen personalizada de Windows® esté creada y disponible en IBM Cloud Object Storage, podrá importar la imagen personalizada a VPC y onboardizar una imagen de servidor virtual para VPC. Asegúrese de otorgar acceso a IBM Cloud Object Storage para importar imágenes.

Si tiene previsto utilizar un catálogo privado para gestionar las imágenes personalizadas, primero debe importar dicha imagen en IBM Cloud VPCy, a continuación, incorporar la imagen en un catálogo privado.

Después de importar la imagen personalizada, puede utilizarla para desplegar un servidor en la infraestructura de IBM Cloud® Virtual Private Cloud.

Después de crear un nuevo servidor virtual a partir de la imagen importada, detenga y, a continuación, inicie el servidor virtual antes de acceder a él:

  1. En IBM Cloud la consola, haz clic en Menú de navegación icono del menú > Infraestructura icono VPC > Compute > Virtual server instances.
  2. En la página Instancias de servidor virtual, pulse el icono Acciones Icono Más acciones.