Monday, September 23, 2013

Windows 8?

My first brush win WinPE turned out to be rather successful http://blog.chrysocome.net/2013/02/pxe-boot-winpe.html but recently our Windows team upgraded the SCCM server. Now when I attempt to install Windows 7 in KVM on CentOS-6, I get a windows 8 logo and then the dreaded error 0x0000005D.

The cause for this is, as always, long and complex. The new SCCM release now uses WinPE version 4 which is bases on Windows 8. Windows 8 requires a minimum level of CPU features to run. If you don't meet the minimum you get a well worded error message (well, at least it is easier to search for than a BSOD report).

I can't do much about SCCM, WinPE or Windows 8 so the next part of the problem is why does my KVM virtual machine not meet the Windows 8 requirements?

You guessed it. Bugs! It seems (more or less) that the 'sep' cpu feature was forgotten by libvirt and there is no fix coming soon.

What is needed then is a well implemented work around. KVM does support the required flag (-cpu +sep) but libvirt has no method to pass the flag to kvm. I already have a wrapper around kvm http://blog.chrysocome.net/2013/05/can-kvm-guest-found-out-who-its-host-is.html so it seemed logical to extend that script to add the missing flag.

Below is my solution which adds the +sep flag to the existing CPU configuration as well as set the serial number, as per the original script. Installation is the same as shown in my other blog post, edit the guest and set the <emulator> path to /usr/local/libexec/qemu-kvm (either using virsh edit or your favourite XML editor).

/usr/local/libexec/qemu-kvm
#!/bin/bash
# This is a wrapper around qemu which will supply
# DMI information
# and correct a bug with the CPU type required for winpe4 (Windows 8)
max=${#@}
index=0

for i in $(seq 1 $max) ; do
   p=${@:$i:1}
   if [ "$p" = "-cpu" ] ; then
      (( index = $i + 1 ))
      break
   fi
done

if [ $index -gt 0 ] ; then
cpu=${@:$index:1}
cpu="$cpu,+sep"

(( ibefore = $index - 1 ))
(( iafter = $index + 1 ))
set -- "${@:1:$ibefore}" $cpu "${@:$iafter}"
fi

if [ "$1" = "-name" ] ; then
    SERIAL=$(/usr/bin/hal-get-property --udi /org/freedesktop/Hal/devices/computer --key system.hardware.serial)
    exec /usr/libexec/qemu-kvm "$@" -smbios type=1,serial="KVM-$SERIAL"
else
    exec /usr/libexec/qemu-kvm "$@"
fi

29 comments:

  1. Oh! This article has suggested to me many new ideas. I will embark on doing it. Hope you can continue to contribute your talents in this area. Thank you.
    run 3

    ReplyDelete
  2. Soak your detergent in hot water.
    Have you ever seen household cleaners wipe your counterpart with a damp cloth? Start. This is because cleaning clothes can also house bacteria if you do not clean them properly or continue to use them after their effectiveness.شركة نقل اثاث بجدة
    شركة كشف تسربات المياه بجدة
    نصائح لرائحة بيت منعشة

    ReplyDelete
  3. Looking forward to reading more.. Great post. Really Cool
    gmail sign up
    hotmail login

    ReplyDelete
  4. Join clash royale decks, a strategy fun game that available for PC and MAC

    ReplyDelete
  5. If you need to install or reinstall Windows 8.1, you can use the tools on this page to create your own installation media using either a USB flash drive or a DVD.

    https://sites.google.com/site/1playergames66/

    ReplyDelete
  6. I Loved The Way You Discuss The Topic Great Work Thanks For The Share aptoide

    ReplyDelete
  7. I have read your article deeply, the points you mentioned in this article are helpful
    lucky patcher apkxyz

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. Our best independent escort’s girls make it simple to get Escorts Service in Agra. Call Girls in Agra are a popular girl’s directory in general due to regular updates of new Call Girls in Agra and real escort girls.

    Escorts Service in Agra
    Call Girls in Agra
    Escorts Service in Agra
    Call Girls in Agra
    Escorts Service in Agra
    Call Girls in Agra
    Call Girls in Agra

    ReplyDelete
  10. This is amazing article, I would love to hear more about this topic.

    walmart

    ReplyDelete
  11. Rebooting a device helps fix many temporary issues with it, and this applies to hp printer in error state as well. When your PC says that your printer is in an error state, it’s worth turning off your printer and then turning it back on.

    ReplyDelete
  12. Your blog is very informative and great. Its very great read for me because your writing skills is so good and you will write this post in very good manner. Kindly Visit our Website:- Recover Comcast Email Password

    ReplyDelete
  13. I am always trying providing best attempt to my customers because customer's
    fulfillment is more important for me and the E*scort Female working with Delhi E*scort Agency.

    E*scorts in Delhi
    Professional Dating Girls in Delhi
    High Profile E*scorts in Delhi
    Air Hostess E*scorts in Delhi
    book online e*scorts in Delhi

    ReplyDelete
  14. I will set up the whole thing for you with the purpose that you will have the nice pleasure of desirous adoration in an undistributed organic system. My incredible delight is to make my folks fulfilled and upbeat. This has helped me get a huge collection of nice in elegance gentlemen and industrialists as my rehash clients.
    what's app Dehradun girls number
    phone call Nainital girls
    hot call Haldwani girls number.
    call Ramnagar girls phone number
    call Rudrapur models phone number
    call Rishikesh models phone number

    ReplyDelete
  15. There are lots of options are out and can be having an great way which can be benefitted with this options.
    Night Service in Delhi

    ReplyDelete
  16. This is an amazing blog for Linux beginners. facebook login

    ReplyDelete
  17. You do a great job, keep doing thank you for good work
    ดาวน์โหลด 123plus

    ReplyDelete
  18. I have read your Post it is very informative and helpful for me.
    igoal88 แนะนำเพื่อน

    ReplyDelete
  19. thousands of years. Moving to Cairo, the capital and most famous city in Egypt where you will find yourself among a large selection of historical sites just like the https://arbdar.com/  Egyptian Museum; the center of the ancient Egyptian

    ReplyDelete