Ask Your Question
0

Creating Windows 7 Image - Setup Error on first boot

asked 2014-04-10 10:33:36 -0500

Alex Feldman gravatar image

updated 2014-04-10 11:52:35 -0500

I created a windows 7 image. I configured it to use virtio disk and network adapter using the 1-74 drivers. Updated to SP1. I also installed cloud init for windows. Tested it locally ok. I uploaded to my org's OpenStack cloud.

Created the disk like so

  • qemu-img create -f qcow2 -o preallocation=metadata myfile.qcow2 20G

Created images through Virtual Machine Manager and also tried through terminal like this:

  • sudo qemu-system-x86_64 -enable-kvm -m 4096 -cdrom [my.iso] -drive file=myfile.qcow2,if=virtio -drive file=virtio-win-0.1-74.iso,index=3,media=cdrom -net nic,model=virtio -net user -nographic -vnc :9 -usbdevice tablet

Upload to Glance

  • glance image-create --name myname --container-format bare --disk-format qcow2 --is-public True --file myfile.qcow2 --progress

When I tried to create an instance I got the following error visible from the console:

Windows Setup could not configure Windows to run on this computer's hardware.

I acknowledged the error, the vm rebooted and now it's constantly showing the following error while trying to boot the OS:

Windows could not complete the installation. To install Windows on this computer, restart the installation.

I tried creating a brand new image with no windows updates or SP, no cloudbase-init: virtio drivers + basic sysprep only, and I'm still getting the error!

Reading from http://support.microsoft.com/kb/2466753 (this KB) I retrieved the log files, which look like this:

setuperr.log

  • Error [0x0f0082] SYSPRP LaunchDll:Failure occurred while executing 'C:WindowsSystem32scecli.dll,SceSysPrep', returned error code 1208[gle=0x000003e5]
  • Error [0x060435] IBS Callback_Specialize: An error occurred while either deciding if we need to specialize or while specializing; dwRet = 0x4b8
  • Error [0x0603f1] IBS Module_Term_ImageTransfer: Failed to disable the image selection UI; status 0x80070005[gle=0x00000005]
  • Error [0x0601b8] IBS Module_Term_DiskSpace:Failed to set the disk config UI flag.[gle=0x00000005]

setupact.log

Find the full log file here: https://ebay.box.com/s/rcurb79xesbuervlbtat (https://ebay.box.com/s/rcurb79xesbuer...)
I won't list the whole file here, but there was entry like the one described in the KB article. The closest entry was this:

  • 2014-04-10 08:36:13, Info SYSPRP SPPNP: The function driver iaStorV is not in use.

Workaround

As a temporary workaround I can do the following to the broken instance to get it to work. However, I need a permanent solution so that the error doesn't come up in the first place.

  1. On error screen press SHIFT-F10 to bring up command prompt.
  2. Run CD C:\windows\system32\oobe\msoobe

Please help, I've been trying to get this to work for 2 weeks now!

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted
0

answered 2014-04-16 08:51:57 -0500

Alex Feldman gravatar image

I was able to create a good image with no startup errors the following way:

  1. Create the image locally, and load the virtIO drivers. Preferably log into Windows Audit mode while installing any additional drivers, updates, software or customizing settings
  2. DO NOT install cloudbase-init or sysprep the image
  3. Upload the image to OpenStack with glance (let's call it the SEED image)
  4. Create an instance based on the image. If you get any Windows errors during initial launch, try to resolve them (Like by running msoobe in my workaround answer) and boot into Windows. Your goal here is to get Windows to boot up and running on OpenStack emulated hardware. During this phase Windows will adjust itself to perfectly fit the OpenStack emulated hardware - something that would have been difficult to do in a local VM.
  5. Finish updating/customizing your instance in OpenStack if you forgot or simply didn't want to do these updates on your local instance.
  6. Still DO NOT install cloudbase-init or sysprep the image
  7. Shut down the instance and TAKE A SNAPSHOT (let's call it the PREP snapshot)! Remember: a snapshot IS an image! You will later be able to reference this snapshot to make image updates, or even split off new flavors of images if needed.
  8. At this point you don't need the SEED image or the instance you created from it. You can delete both.
  9. Launch a new instance from the PREP snapshot. Notice how Windows doesn't need to do all the hardware adjustments that it did when you launched an instance from the SEED image.
  10. You can now install cloudbase-init and sysprep the instance.
  11. Shut down the system and TAKE A SNAPSHOT (let's call it the IMAGE snapshot).
  12. Test your IMAGE snapshot by launching an instance from it.
  13. Mark the IMAGE snapshot as public and celebrate!

Personally, I feel like this should be the standard process for building new images. Not only do you get an image that was made on the same hardware it will be deployed on, but updating/testing/forking the image will be much faster/easier to do inside OpenStack with the Snapshot functionality as compared to updating the image on your local machine and uploading to glance every time.

edit flag offensive delete link more
1

answered 2014-04-10 11:28:30 -0500

updated 2014-04-10 17:50:41 -0500

What set of instructions did you use ? I have built a Windows 7 Image for OpenStack (QCOW2) and it works fine. I also have a customer of that is 100% Windows for their whole OpenStack cloud that our company runs for them , and run almost every version of Windows above XP. Here is what I used to build Windows 7.

http://blog.gridcentric.com/bid/29762...

Below is a screen shot of the driver version I am using. I did this 6-9 months back

image description

edit flag offensive delete link more

Comments

I've added my image creation steps to the top of original post. I did heavily rely on the link you posted, as well as other sources online.

Alex Feldman gravatar imageAlex Feldman ( 2014-04-10 11:53:51 -0500 )edit

I boot the VM, and look at the device screen to see the driver version, I added the screen shot to my first post. Your steps are the same ones I followed.

Bill@Metacloud gravatar imageBill@Metacloud ( 2014-04-10 17:49:18 -0500 )edit

I installed drivers from virtio-win-0.1-74.iso downloaded from fedora site. SCSI driver version: 61.65.104.7400

Alex Feldman gravatar imageAlex Feldman ( 2014-04-16 08:55:03 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2014-04-10 10:33:36 -0500

Seen: 3,719 times

Last updated: Jun 05 '14