Назад | Перейти на главную страницу

Развертывание Windows 7 в OpenStack - ошибка установки Windows при загрузке экземпляра

Я создал образы Windows 7 Pro 64, и все они получают эту ошибку. Я настроил их на использование диска virtio и сетевого адаптера, используя драйверы 1-74. Они отлично работают локально (kvm на ubuntu 13, qcow2 drive, virtio nic и disk), но когда я загружаю их в облако OpenStack моей организации, Windows выдает ошибку.

Когда я попытался создать экземпляр, в консоли появилась следующая ошибка:

Я признал ошибку, виртуальная машина перезагрузилась, и теперь она постоянно показывает следующую ошибку при попытке загрузить ОС:

Чтение из это КБ Я получил файлы журнала, которые выглядят так:

setuperr.log

setupact.log

Я не буду перечислять здесь весь файл (скачайте мой setupact.log), но там была запись, подобная описанной в статье базы знаний. Ближайшая запись была такой:

Обходной путь

В качестве временного обходного пути я могу сделать следующее со сломанным экземпляром, чтобы заставить его работать. Однако мне нужно постоянное решение, чтобы ошибка вообще не возникала.

  1. На экране ошибки нажмите SHIFT-F10, чтобы открыть командную строку.
  2. Запустите компакт-диск C: \ windows \ system32 \ oobe \ msoobe

Пожалуйста, помогите, я уже 2 недели пытаюсь заставить это работать!

Мне удалось создать хороший образ без ошибок при запуске следующим образом:

  1. Создайте образ локально и загрузите драйверы virtIO. Желательно войти в режим аудита Windows при установке любых дополнительных драйверов, обновлений, программного обеспечения или настройки параметров.
  2. НЕ устанавливайте cloudbase-init или sysprep образа
  3. Загрузите изображение в OpenStack с первого взгляда (назовем его изображением SEED)
  4. Создайте экземпляр на основе изображения. Если вы получаете какие-либо ошибки Windows во время первоначального запуска, попробуйте устранить их (например, запустив msoobe в моем обходном ответе) и загрузитесь в Windows. Ваша цель - заставить Windows загрузиться и работать на оборудовании, имитирующем OpenStack. На этом этапе Windows адаптируется к аппаратному обеспечению, эмулируемому OpenStack, - что было бы сложно сделать на локальной виртуальной машине.
  5. Завершите обновление / настройку вашего экземпляра в OpenStack, если вы забыли или просто не хотели делать эти обновления на вашем локальном экземпляре.
  6. По-прежнему НЕ устанавливайте cloudbase-init или sysprep образ
  7. Выключите экземпляр и сделайте снимок (назовем его снимком PREP)! Помните: снимок - это изображение! Позже вы сможете ссылаться на этот снимок, чтобы обновлять изображения или даже при необходимости выделять новые разновидности изображений.
  8. На этом этапе вам не нужно изображение SEED или созданный из него экземпляр. Вы можете удалить оба.
  9. Запустите новый экземпляр из снимка PREP. Обратите внимание на то, что Windows не требуется выполнять все аппаратные настройки, которые она выполнила при запуске экземпляра из образа SEED.
  10. Теперь вы можете установить cloudbase-init и выполнить sysprep для экземпляра.
  11. Выключите систему и сделайте снимок (назовем его снимком изображения).
  12. Проверьте свой снимок IMAGE, запустив из него экземпляр.
  13. Отметьте снимок IMAGE как общедоступный и празднуйте!

Лично я считаю, что это должен быть стандартный процесс создания новых изображений. Вы не только получаете образ, созданный на том же оборудовании, на котором оно будет развернуто, но и обновление / тестирование / разветвление образа будет намного быстрее / проще в OpenStack с помощью функции моментального снимка по сравнению с обновлением образа на вашем компьютере. локальная машина и загрузка для просмотра каждый раз.