Bereitstellen von Windows 7 auf OpenStack - Windows Setup-Fehler beim Starten der Instanz

1

Ich habe Windows 7 Pro 64-Abbilder erstellt und alle erhalten diesen Fehler. Ich habe sie für die Verwendung von virtio disk und Netzwerkadapter mit den Treibern 1-74 konfiguriert. Sie funktionieren lokal einwandfrei (kvm auf Ubuntu 13, qcow2-Laufwerk, virtio nic und Festplatte), aber wenn ich sie in die OpenStack-Cloud meiner Organisation hochlade, gibt Windows einen Fehler aus.

Als ich versuchte, eine Instanz zu erstellen, wurde der folgende Fehler in der Konsole angezeigt:

  • Windows Setup konnte Windows nicht für die Ausführung auf der Hardware dieses Computers konfigurieren. Bildbeschreibung hier eingeben

Ich habe den Fehler quittiert, der VM wurde neu gestartet und jetzt wird beim Versuch, das Betriebssystem zu starten, ständig der folgende Fehler angezeigt:

  • Windows konnte die Installation nicht abschließen. Starten Sie die Installation neu, um Windows auf diesem Computer zu installieren.

Bildbeschreibung hier eingeben

Beim Lesen dieser KB habe ich die Protokolldateien abgerufen, die folgendermaßen aussehen:

setuperr.log

  • Fehler [0x0f0082] SYSPRP LaunchDll: Fehler beim Ausführen von 'C: WindowsSystem32scecli.dll, SceSysPrep', Fehlercode 1208 zurückgegeben [gle = 0x000003e5]
  • Fehler [0x060435] IBS Callback_Specialize: Bei der Entscheidung, ob eine Spezialisierung erforderlich ist, oder bei der Spezialisierung ist ein Fehler aufgetreten. DwRet = 0x4b8
  • Fehler [0x0603f1] IBS Module_Term_ImageTransfer: Die Benutzeroberfläche für die Bildauswahl konnte nicht deaktiviert werden. status 0x80070005 [gle = 0x00000005]
  • Fehler [0x0601b8] IBS-Modul_Term_DiskSpace: Das Flag für die Benutzerschnittstelle der Plattenkonfiguration konnte nicht gesetzt werden. [Gle = 0x00000005]

setupact.log

Ich werde hier nicht die gesamte Datei auflisten (download my setupact.log ), aber es gab einen Eintrag wie den im KB-Artikel beschriebenen. Der nächste Eintrag war dieser:

  • 2014-04-10 08:36:13, Info SYSPRP SPPNP: Der Funktionstreiber iaStorV wird nicht verwendet.

Umgehung

Als vorübergehende Problemumgehung kann ich die defekte Instanz folgendermaßen bearbeiten, damit sie funktioniert. Ich brauche jedoch eine dauerhafte Lösung, damit der Fehler gar nicht erst auftritt.

  1. Drücken Sie auf dem Fehlerbildschirm UMSCHALT-F10, um die Eingabeaufforderung aufzurufen.
  2. Führen Sie CD C: \ windows \ system32 \ oobe \ msoobe aus

Bitte helfen Sie, ich habe versucht, dies für 2 Wochen zum Laufen zu bringen!

Alex
quelle

Antworten:

0

Ich konnte auf folgende Weise ein gutes Image ohne Startfehler erstellen:

  1. Erstellen Sie das Image lokal und laden Sie die virtIO-Treiber. Melden Sie sich vorzugsweise im Windows-Überwachungsmodus an, während Sie zusätzliche Treiber, Updates, Software oder Anpassungseinstellungen installieren
  2. Installieren Sie NICHT cloudbase-init oder sysprep das Image
  3. Laden Sie das Bild mit einem Blick auf OpenStack hoch (nennen wir es das SEED-Bild)
  4. Erstellen Sie eine Instanz basierend auf dem Image. Wenn beim ersten Start Windows-Fehler auftreten, versuchen Sie, diese zu beheben (z. B. durch Ausführen von msoobe in meiner Umgehungslösung) und starten Sie Windows. Ihr Ziel ist es, Windows zum Starten und Ausführen auf OpenStack-emulierter Hardware zu bewegen. In dieser Phase passt sich Windows an die emulierte OpenStack-Hardware an, was in einer lokalen VM schwierig gewesen wäre.
  5. Beenden Sie die Aktualisierung / Anpassung Ihrer Instanz in OpenStack, wenn Sie diese Aktualisierungen auf Ihrer lokalen Instanz vergessen haben oder einfach nicht möchten.
  6. Installieren Sie weiterhin NICHT cloudbase-init oder sysprep das Image
  7. Beenden Sie die Instanz und machen Sie einen Schnappschuss (nennen wir es den PREP-Schnappschuss)! Denken Sie daran: Ein Schnappschuss IST ein Bild! Sie können später auf diesen Schnappschuss verweisen, um Bildaktualisierungen vorzunehmen oder bei Bedarf sogar neue Bildvarianten abzuspalten.
  8. Zu diesem Zeitpunkt benötigen Sie weder das SEED-Image noch die Instanz, die Sie daraus erstellt haben. Sie können beide löschen.
  9. Starten Sie eine neue Instanz aus dem PREP-Snapshot. Beachten Sie, dass Windows nicht alle Hardware-Anpassungen vornehmen muss, die beim Starten einer Instanz über das SEED-Image vorgenommen wurden.
  10. Sie können jetzt cloudbase-init installieren und die Instanz sysprepen.
  11. Fahren Sie das System herunter und machen Sie einen Schnappschuss (nennen wir es den IMAGE-Schnappschuss).
  12. Testen Sie Ihren IMAGE-Snapshot, indem Sie eine Instanz davon starten.
  13. Markieren Sie den IMAGE-Schnappschuss als öffentlich und feiern Sie!

Ich persönlich bin der Meinung, dass dies der Standardprozess zum Erstellen neuer Bilder sein sollte. Sie erhalten nicht nur ein Image, das auf der gleichen Hardware erstellt wurde, auf der es bereitgestellt wird, sondern das Aktualisieren / Testen / Forken des Images ist in OpenStack mit der Snapshot-Funktion viel schneller / einfacher als das Aktualisieren des Images auf Ihrer lokaler Rechner und Hochladen jedes Mal auf einen Blick.

Alex
quelle