IBM Cloud Docs
Erstellen eines benutzerdefinierten Windows®-Abbilds

Erstellen eines benutzerdefinierten Windows®-Abbilds

Sie können Ihr eigenes benutzerdefiniertes Windows®-basiertes Bild erstellen, um das benutzerdefinierte Bild in IBM Cloud® Virtual Private Cloud zu importieren. Anschließend können Sie das benutzerdefinierte Image verwenden, um einen virtuellen Server oder Bare-Metal-Server in Ihrer IBM Cloud® Virtual Private Cloud-Infrastruktur bereitzustellen.

Vorbereitende Schritte

Es bietet sich an, mit einer Imagevorlage aus der klassischen IBM Cloud-Infrastruktur zu beginnen. Weitere Informationen hierzu finden Sie unter Virtuellen Server aus klassischer Infrastruktur migrieren. Sie können auch ein benutzerdefiniertes Image eines Boot-Volumes erstellen, das zum Zeitpunkt des Imports an einen Server angeschlossen ist. Weitere Informationen finden Sie unter Informationen zum Erstellen eines Image von einem Datenträger. Beachten Sie, dass Windows® Custom Images für LinuxONE (s390x Prozessorarchitektur) nicht unterstützt werden.

Alle benutzerdefinierten Bilder müssen die folgenden Anforderungen erfüllen:

  • Sie müssen eine einzelne Datei oder einen Datenträger enthalten.
  • Sie müssen im Format qcow2 oder vhd vorliegen.
  • Muss Cloud-Init-fähig oder durch ESXi-Kickstart bootfähig sein.
  • Die Größe übersteigt nicht 250 GB.
  • Die Mindestgröße beträgt 10 GB. Für jedes Image, das kleiner als 10 GB ist, wird die Größe auf 10 GB aufgerundet.

Sie können kein Image von einem verschlüsselten Boot-Volume (Image von einem Volume) erstellen, das nicht 100 GB groß ist.

Gehen Sie wie folgt vor, um ein benutzerdefiniertes Windows®-Image zu erstellen, das in der IBM Cloud VPC-Infrastrukturumgebung bereitgestellt wird. Die Prozedur umfasst die folgenden allgemeinen Aufgaben:

  • Verwenden Sie VirtualBox, um ein Windows®-Abbild im VHD-Format zu erstellen.
  • Das Image mit virtIO-Treibern und Cloudbase-init anpassen

Beachten Sie die folgenden Anforderungen, bevor Sie ein benutzerdefiniertes Windows®-Image erstellen.

Virtio-win-Treiber müssen installiert sein. Microsoft® empfiehlt, dass Sie die Treiber von einer lizenzierten RHEL-Instanz der Version 8 oder 9 beziehen. Red Hat verwendet Microsoft-zertifizierte Treiber. Die empfohlene Mindestversion des Red Hat virtio-win-Pakets ist virtio-win-1.9.24. Die Verwendung des neuesten Pakets ist jedoch am besten.

Das ISO Red Hat virtio-win-1.9.24 enthält die folgenden spezifischen Treiberversionen.

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. Erstellen des benutzerdefinierten Windows®-Abbilds

Gehen Sie wie folgt vor, um ein benutzerdefiniertes Windows®-Image zu erstellen.

  1. Sie können die Testversion von Windows 2016, Windows 2019oder Windows 2022-Betriebssystem-ISOs herunterladen.

  2. Erstellen Sie mit dem Dienstprogramm qemu-img ein VHD-Image, auf dem Sie Windows installieren möchten. Laden Sie das Dienstprogramm qemu-img herunter und extrahieren Sie es auf Ihrem Windows-Laptop-Client. Erstellen Sie das VHD-Image in dem Ordner, in dem Sie das Dienstprogramm qemu-img extrahiert haben.

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

    IBM Cloud® unterstützt den Import benutzerdefinierter Images mit VHD oder qcow2. Virtual Box unterstützt jedoch nicht das Format qcow2.

  3. Rufen Sie die erforderlichen virtio-win-Treiber für Bereitstellung ab oder greifen Sie auf einen vorhandenen RHEL-Server in IBM Cloud VPCzu.

    1. Installieren Sie auf Ihrem RHEL-Server in IBM Cloud VPCdas virtio-win-Paket, indem Sie den folgenden Befehl ausführen.

      yum install virtio-win
      

      In diesem Beispiel wird das Paket virtio-win unter RHEL Version 8 installiert. Die zurückgegebene Ausgabe sieht ähnlich aus wie im folgenden Beispiel.

      Installed:
        virtio-win-1.9.24-2.el8_5.noarch
      
    2. Greifen Sie auf das virtio-win-ISO-Image im Verzeichnis /usr/share/virtio-win zu.

      cd /usr/share/virtio-win/
      
    3. Verwenden Sie eine Sicherheitskopie, um die virtio-win-ISO-Datei zu kopieren, zum Beispiel virtio-win-1.9.24.iso, die Sie für Ihr benutzerdefiniertes Windows®-Image verwenden möchten.

    • Verwenden Sie winSCP, um die ISO-Datei auf einen ®-Client zu kopieren.
    • Verwenden Sie SCP, um die ISO-Datei auf einem Linux-oder macOS-Client zu kopieren.
    1. Hängen Sie die ISO-Datei an und öffnen Sie sie.

    2. Kopieren Sie alle relevanten virtio-Treiber aus der Datei virtio-win.iso für das jeweilige Betriebssystem, stellen Sie die Treiber in einen Ordner namens Drivers und kopieren Sie dann den Ordner Drivers in den ISO-Ordner des Betriebssystems.

    3. Laden Sie Windows Assessment and Deployment Toolkit(ADK)herunter. Installieren Sie nur die Implementierungstools, um das Dienstprogramm oscdimg.exe abzurufen.

    4. Erstellen Sie mit dem Befehl oscdimg.exe eine bootfähige Windows-ISO-Datei, die alle virtio-Treiber im Ordner Drivers enthält.

      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. Verwenden Sie VirtualBox, um einen virtuellen Server mit dem VHD-Image zu erstellen, das Sie in Schritt 2 unter Verwendung des in Schritt 3 erstellten bootfähigen Windows®-ISOs erstellt haben. Weitere Informationen finden Sie im Oracle VM VirtualBox Benutzerhandbuch.

    Wenn Sie eine andere Methode als VirtualBox zur Erstellung des benutzerdefinierten Abbilds verwenden möchten, z. B. VMware, müssen Sie alle Treiber, die für diesen Hypervisor spezifisch sind, aus dem benutzerdefinierten Abbild entfernen.

  5. Fügen Sie in den Speichereinstellungen das bootfähige Windows®-Installations-ISO hinzu, das Sie in Schritt 3 erstellt haben.

  6. Starten Sie den Server und beginnen Sie die Windows®-Installation.

  7. Wählen Sie die Edition (Standard / Data Center) des Betriebssystems und Desktop Experience (mit Desktop Experience oder ohne Desktop Experience).

  8. Wählen Sie Laufwerk 0 aus und fahren Sie mit der Installation fort.

  9. Fahren Sie nach Abschluss der Installation den virtuellen Server herunter und entfernen Sie das ISO-Installationsimage. Sie können Warnungen zum Entfernen der Installations-ISO ignorieren.

  10. Verwenden Sie den standardmäßigen Windows®-Updater, um Windows-Updates herunterzuladen und zu installieren. Wiederholen Sie den Prozess zum Herunterladen und Installieren von Updates, bis keine Updates mehr verfügbar sind.

Bereitstellung der Virtio-Win-Treiber im Recovery-Image

Nachdem Sie Ihr Windows®-Image erstellt haben, stellen Sie sicher, dass die virtio-win-Treiber im Recovery-Image verfügbar sind. Dieser Schritt stellt sicher, dass Sie das Wiederherstellungsabbild verwenden können, um Probleme zu beheben oder um das Abbild im Rettungsmodus zu verwenden.

Nachdem Sie die erforderlichen Virtio-Treiber vioscsi.inf und viostor.inf heruntergeladen haben, führen Sie die folgenden Schritte aus, um die Treiber im Recovery-Image verfügbar zu machen.

  1. Suchen Sie das Wiederherstellungsimage mit dem Befehl reagentc /info.

    • Wenn sich das Wiederherstellungsimage in einer separaten Wiederherstellungspartition befindet, verwenden Sie das Dienstprogramm diskpart, um einen Laufwerksbuchstaben zuzuweisen und das Laufwerk freizugeben. Diese Schritte sind nicht erforderlich, wenn keine separaten Wiederherstellungspartitionen vorhanden sind. Das folgende Beispiel bezieht sich auf die Partition 3 mit dem Laufwerk R und verwendet die Einstellung id=07.

      diskpart
      select disk 0
      list part
      select part 3
      assign letter R
      set id=07
      exit
      
  2. Um das Recovery-Image zu ändern, verwenden Sie reagentc /disable, um den Recovery-Modus zu deaktivieren.

  3. Erstellen Sie ein Verzeichnis, um das Wiederherstellungsimage zu mounten.

    md C:\mount\winre
    
  4. Kopieren Sie das Wiederherstellungsimage in das Mount-Verzeichnis.

    xcopy /h R:\Recovery\WindowsRE\Winre.wim C:\mount\
    
  5. Machen Sie das Wiederherstellungsbild sichtbar, indem Sie attrib -s -h -r C:\mount\Winre.wim verwenden.

  6. Mounten Sie den Inhalt des Wiederherstellungsimages mit dism /Mount-Image /ImageFile:c:\mount\Winre.wim /index:1 /MountDir:c:\mount\winre.

  7. Fügen Sie die Treiber vioscsi und viostor in das Wiederherstellungsimage ein. Das folgende Beispiel geht davon aus, dass sich die Virtio-Treiber auf Laufwerk E befinden. Wählen Sie die entsprechende Windows®-Version für die Treiber vioscsi und 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. Nachdem Sie alle Treiber hinzugefügt haben, können Sie das Wiederherstellungsimage erstellen.

    Dism /Image:c:\mount\winre /Cleanup-Image /StartComponentCleanup
    Dism /Unmount-Image /MountDir:c:\mount\winre /Commit
    
  9. Optimieren Sie das Wiederherstellungsimage.

    Dism /Export-Image /SourceImageFile:c:\mount\WinRE.wim /SourceIndex:1 /DestinationImageFile:c:\mount\winre-optimized.wim
    
  10. Kopieren Sie das Wiederherstellungsabbild mit seinen ursprünglichen Attributen an den in Schritt 1 angegebenen Speicherort.

    xcopy C:\mount\winre-optimized.wim  R:\Recovery\WindowsRE\WinEe.wim /h /r
    
    • Wenn sich das Wiederherstellungsimage in einer separaten Wiederherstellungspartition befindet, verwenden Sie das Dienstprogramm diskpart, um den zugewiesenen Laufwerksbuchstaben zu entfernen und das Laufwerk zu verbergen. Diese Schritte sind nicht erforderlich, wenn keine separaten Wiederherstellungspartitionen vorhanden sind. Das folgende Beispiel bezieht sich auf Partition 3 mit Laufwerk R.

      diskpart
      select disk 0
      list part
      select part 3
      remove letter R
      set id=27
      exit
      
  11. Aktivieren Sie das Wiederherstellungsimage mit reagentc /enable.

  12. Überprüfen Sie, ob der Wiederherstellungsmodus aktiviert ist, indem Sie reagentc /info verwenden.

Ihr Image wird mit einem Wiederherstellungsimage eingerichtet, das die erforderlichen Virtio-Treiber enthält.

2. Anpassen eines virtuellen Servers

Führen Sie die folgenden Schritte aus, um den virtuellen Server anzupassen, den Sie mit VirtualBox erstellt haben.

  1. Installieren und konfigurieren Sie cloudbase-init über das Cloudbase-Init-Installationspaket.

  2. Ändern Sie die Datei cloudbase-init.conf (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf) so, dass sie den folgenden Werten entspricht. Entfernen Sie keinen weiteren Inhalt aus der Datei.

    [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
    

    Wenn Sie Ihre eigene Lizenz für Ihr benutzerdefiniertes Bild mitbringen möchten, entfernen Sie die folgenden Zeilen aus der Datei cloudbase-init.conf.

    activate_windows=true
    kms_host=kms.adn.networklayer.com:1688
    
  3. Ändern Sie die Datei cloudbase-init-unattend.conf (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init-unattend.conf) so, dass sie den folgenden Werten entspricht. Entfernen Sie keinen weiteren Inhalt aus der Datei.

    [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. Ändern Sie die Datei Unattend.xml (C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml) und setzen Sie den Wert PersistAllDeviceInstalls auf false.

  5. Führen Sie Sysprep aus, indem Sie den folgenden Befehl über die Eingabeaufforderung ausführen:

    C:\Windows\System32\Sysprep\Sysprep.exe /oobe /generalize /shutdown "/unattend:C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\Unattend.xml"
    
  6. Nach der Ausführung von sysprep wird der virtuelle Server heruntergefahren. Dann können Sie fortfahren mit Schritt 4 - Erstellen einer Image-Vorlage Ihres benutzerdefinierten virtuellen Servers

3. Hochladen eines benutzerdefinierten Bildes

Verwenden Sie die folgenden Informationen, um ein angepasstes Image in IBM Cloud Object Storagehochzuladen.

Klicken Sie auf der Seite Objekte Ihres IBM Cloud® Object Storage Buckets auf Hochladen. Sie können das Aspera-Plugin für die Hochgeschwindigkeitsübertragung verwenden, um Bilder hochzuladen, die größer als 200 MB sind. Weitere Informationen zum Hochladen in IBM Cloud Object Storage finden Sie unter Daten hochladen.

Nächste Schritte

Wenn Ihr benutzerdefiniertes Windows®-Image erstellt und in IBM Cloud Object Storage verfügbar ist, können Sie das benutzerdefinierte Image in VPC importieren und ein virtuelles Server-Image für VPC einbinden. Stellen Sie sicher, dass Sie Zugriff auf IBM Cloud Object Storage erteilen, um Images zu importieren.

Wenn Sie einen privaten Katalog für die Verwaltung Ihrer angepassten Images verwenden möchten, müssen Sie dieses Image zuerst in IBM Cloud VPCimportieren und anschließend in einen privaten Katalog integrieren.

Nachdem das angepasste Image importiert wurde, können Sie es verwenden, um einen Server in Ihrer IBM Cloud® Virtual Private Cloud-Infrastruktur bereitzustellen.

Nachdem Sie einen neuen virtuellen Server aus dem importierten Image erstellt haben, stoppen und starten Sie den virtuellen Server, bevor Sie auf ihn zugreifen:

  1. Klicken Sie in der IBM Cloud Konsole auf Navigationsmenü Menüsymbol > Infrastruktur VPC-Symbol > Compute > Virtuelle Serverinstanzen.
  2. Klicken Sie auf der Seite Virtuelle Serverinstanzen auf das Symbol 'Aktionen' Symbol 'Weitere Aktionen'.