Sep 192011
 

🙂 Please, let me a comment or an email (admin@sqaopen.net), or click on a ‘like’ button, to let me know if this post was helpful.It takes time to write this kind of literature and comments are the reward!  Thanks.  🙂

Having a testing platform including VMware virtualization, and used for testing softwares with different Operating Systems like Windows, Linux (Red Hat, Debian, Solaris …), ubuntu, I want to deploy as soon as possible new OS on Virtual Machines.

For example, I recently added an ESXi vSphere 5 server (available since the end of August 2011) to enhance my architecture, which currently includes ESX 3.5, ESXi 4.1 and ESX 4.0.

And this week, with the release of Windows 8 developer preview, I have some work to do.

But like a lot of people, I’ve started by a failure, before finding a method which allows me to achieve my goal: to run a windows 8 on a 4.1 or 5.0 vSphere server (both of which been tested on ESXi).

I present below the unsuccessful attempts and the one that worked, and which ultimately will seem obvious.

Step 1 : get the installation files (ISO). They are simply here in 32-bit and 64 bit (respectively 2.8 GB and 3.6 GB). Note: a third version with more tools developers, sized 4.8 GB.

My advice: Save the files (ISO) on a NAS, accessible from any PC / VM on your network. Download the ISO at least for the 32 bits version.

Step 2 : Create a VM on your ESX 4.1 or 5, based on the guest OS ‘Windows 7’ (32b or 64b depending on the ISO you downloaded). Then start the VM, attach the ISO to Windows 8 via the “Connect” button and start the installation. I do not write more details because this is the standard procedure that you probably know.

 And then … It’s the drama: a beautiful screen of death that we thought gone forever:

HAL_INITIALIZATION_FAILED

Then you can restart the VM, redo the installation, 32b or 64 b, change the settings vmware … Always the damn HAL_INITIALIZATION_FAILED. Note one hope: on vSphere 5, you must choose “Windows 7” at the initial creation of the VM but you see “Windows 8” in the list of guest OS if you edit the parameters of an existing VM . Unfortunately, nothing change … Still the same crash.

I’ve browsed the web without finding any providential relief  about it. But lucky enough, it allowed me to know about the release of VMware Workstation 8, which supports the installation of «Windows 8».  Let’s go to the next step:

Step 3 : Download VMware Workstation 8. This product is not free, and to download it you must log in to your vmware account. The good news is that you can create a free account for those who do not have one, and you can get a vmware workstation 8’s trial license for one month. So on the download page, you will see first the license and three versions: the installation packages for 32 and 64 bit windows, linux 32 b and finally linux 64 b.

My advice : download the “windows 32-bit and 64” (474 MB) on your network and create a text file in which you will copy / paste the license.

Step 4: Install “Workstation 8” on your PC or on an available physical server . The sequences are:

Start the install, choose the mode “Typical”, installation is working. then enter the license (use the text file above), and confirm the license agreement. 

Step 5: Install “Windows 8”.

Again, the steps are simple. The approach is similar to what you used to do on vSphere 4.1: create an “envelope” of the VM, connect an ISO and start the installation. There is just one “fundamental” step to do. Let’s go:

Start by running vmware Workstation 8, and the temporary license will be displayed first.

After validation, you will get the HOME :

Click on “Create a New Virtual Machine” and you will have :

Click on “Next”…

And on the following screen, select “I will install the Operating System later”. This is the “fundamental” step that I mentioned previously. If you keep the default option and start the installation directly, you will get errors about a license file and you will not go further.

After a click on “Next”, you will see :

²

Then, select “Windows” and «Windows 7» or “Windows 7 (x64)”.

Click “Next”, et define the size disk and the kind of file.

My advice : at least 25 GB seems necessary, and select “Store as a single disk size”, we shall see the usefulness of this option. Click “Next”.

Here we are … Click “Finish”.

You get your VM in the list of available VM (I have two in this example, I make several kind of tests).

If you click on “Edit Virtual Machine Settings”, you will see the screen below which allows you to adjust settings, including those of the allocated memory (it lloks like the familiar environment of vSphere).

But click on the “CD / DVD (IDE)” and select “Use ISO image file:” then click “Browse” to connect the ISO file of “windows 8” you want to install:

Confirm with “OK” which takes you back to the HOME and the list of available VM. Then click on “Power On this virtual machine.” The VM starts and will boot from the ISO …

 

Let the initial setup (creating a user account), it is not the subject of this article.

You get your first glimpse of the new user interface of “Windows 8” Metro!

At the end of this long “step 5”, we’ve got a “Windows 8” installed (and which works) in a VM. But we do not reached our goal because if you remember, the VM is running on a physical server with the “Workstation 8” and not an infrastructure based on a vSphere 4.1 or 5.0. Continue our quest.

Step 6 : Move our VM “Windows 8” which runs, from “Workstation 8” to VMware vSphere 5.

I thought (naively) that, given the close dates of releases between “vSphere 5” and “workstation 8”, there was a good chance that the VM created under “Workstation 8” can also function under “vSphere 5”. For this, the most natural is to use “vmware converter” which as its name suggests, allows you to convert a VM between different vmware products.

So here you download converter, install and configure. Installation is in standalone mode on the computer that runs Workstation 8. You select your source VM “Windows 8” and then provide the connection information to your vCenter 5 (vCenter, not the ESX!) and start the conversion / migration. this is a “magic” tool, it converts and copies the VM on your vCenter 5.

 

I pass over the steps and settings. Because, as you guessed, when I started the “Windows 8” VM in my vCenter 5, it  boots but not finally started. So this step 6 is failed “as is” (unless someone knows about specific manipulations to lead to the end).

Step 7: Despair … There, I had come prepared to do anything. So I tried replacing the virtual disk.

Basically, the approach was as follows:

Create on a vCenter 5, a similar VM to that used to mount the “Windows 8” VM on the “workstation 8” :

– Same basic guest OS (Windows 7), same features for memory and disk

– Deleting the virtual disk on the datastore of the vCenter 5.

– Upload the virtual disk of the “Windows 8” VM, from the physical server to the vCenter 5  datastore (hence the need to select “Store as a single disk size” in the original creation of the VM, as it is easier to move a single large file!).

– Use the command “vmkfstools” to import the virtual disk on ESX

Not surprisingly, the start of the VM on the vCenter 5 did not give better results than previously. We see a message “Windows Developer Preview” but the VM stops during boot. Perhaps the study of the logs would allow an admin to find vmware configuration changes? I myself have given up this way.

Step 8 : The upgrade of version. I thought that was the easiest way to upgrade an existing VM to “Windows 8.” So I took one of my “Windows 7” test VM which I think is technically the closest to the “Windows 8” version . And I made a simple upgrade after connecting the ISO installation.

    

I confess that, reaching the fourth screen, I was hopeful. Then the “blue screen of death”.       🙁

Step 9: A good night’s sleep. Sleep on it… I finally combined what worked:

– install  «Windows 8» in a VM under “Workstation 8”.

– install “Workstation 8” in a VM under vSphere 5.

Yes, it’s so “simple” than this. In vSphere 5, first build (or reuse) a “Windows 7 32b or 64b” VM. However, change the settings for:

– Increase the memory to 4096 MB

– Allocate significant resources  for memory and CPU (as much as you can allow your ESXi)

– Assign 2 CPUs

– Have at least 20 GB of free (resize disk  if necessary)

Turn on your VM, and reboot again if needed to apply the new parameters. Now, follow previous steps 3, 4 and 5 on your “windows 7” VM. Install a version of Windows 8 32-bit, you may not be able to deploy 64-bit depending on the characteristics of your physical servers.

You will get a “Windows 8” running (in a “Windows 7” VM) on your ESXi 5.0.

My advice : for all the operations on the “Windows 7” VM, connect previously on it with mstsc -console, and not using the vmware console!

 

Finally, we’ve reached our goal  : to run a “Windows 8” on an vSphere 5 infrastructure. Although it is encapsulated in a “Windows 7”, you do not need to monopolize physical resources other than your vmware infrastructure.

Step 10 : Do the same on a vCenter 4.1?

The simplicity with which this took place over a vCenter 8 pushed me tried the same operation on a vCenter 4.1, which represents the majority of my qualification platform, and is currently the most common (vSphere 5 having just out). So I applied the approach of step 9 (but without the sleep’s night) but I ‘ve got an error when creating the VM in “Workstation 8”

Thanks to this post, I could solve the problem. We must change the settings of the VM that runs “Workstation 8” to activate a specific mode. To do this, turn off the “Windows 7” VM and on the vCenter 4.1, click “Change settings” for that VM. Go to the tab “Options”, line “Advanced” / “General” and then click on the “Configuration Settings …” which will appear in the lower right.

 

 On the new window, click on “Add Line” and insert the following three lines (or modify the value if the line exists):

deploymentPlatform = “vmkernel”

monitor_control.vt32 = “TRUE”

monitor_control.restrict_backdoor = “TRUE”

Close everything, restart the “Windows 7” VM, restart “Workstation 8” and there you should see new messages when creating a VM:

 

That it works! You can start the installation of “Windows 8 Developer Preview” on your ESX 4.1.

We have reached our goal of deploying a “Windows 8 Developer Preview”  on both vSphere 4.1 and 5.0. This installation is standard enough that everyone can use this VM for testing even if it is encapsulated in a VM Windows 7.

And now ?

I guess that VMWARE will “soon” communicate a workaround on how to run a “Windows 8” VM directly on a vCenter, bypassing the mechanism described above. While “Windows 8” is not officially released (the GA should not take place until a good year), interest in virtualization seems to me particularly in the ability to be able to quickly and easily create new test platforms taking into account the latest technical developments, without waiting for everything to be fixed.

If you enjoyed this post, please come back often because this site should soon be enriched by new items.

  7 Responses to “How to run Windows 8 (Developer Preview) on vSphere 4.1 or 5”

  1. I have tried the same, but no luck so far..

    Cheers!

    • Hi Santosh !
      Where do you fail ?
      What kind of errors ?
      Regards
      Olivier

      • Hi Oliver,

        I installed Windows 8 32bit & 64bit on VMware workstation 8 & it works no issues at all.. then converted working windows 8 VM via VMware vCenter Converter to ESXi 5 but no luck (while booting it gives HAL error as described by you)… I did not understand what I miss.. Could you please explain what you did in short.. 🙂

        Thanks in advance..

        I did not understand below steps…

        Step 9: A good night’s sleep. Sleep on it… I finally combined what worked:

        – install «Windows 8» in a VM under “Workstation 8″.

        – install “Workstation 8″ in a VM under vSphere 5.

        Yes, it’s so “simple” than this. In vSphere 5, first build (or reuse) a “Windows 7 32b or 64b” VM. However, change the settings for:

        – Increase the memory to 4096 MB

        – Allocate significant resources for memory and CPU (as much as you can allow your ESXi)

        – Assign 2 CPUs

        – Have at least 20 GB of free (resize disk if necessary)

        Turn on your VM, and reboot again if needed to apply the new parameters. Now, follow previous steps 3, 4 and 5 on your “windows 7″ VM. Install a version of Windows 8 32-bit, you may not be able to deploy 64-bit depending on the characteristics of your physical servers.

  2. Hi Santosh,

    Sorry if the post is not clear enough, I’m better to write french than english.

    What I describe is,, in fact, it’s not possible to put directly a VM with “windows 8” on vsphere 4.1 or 5.0, at this time.

    The only way I’ve found, is to create a VM on your vcenter (vsphere 4.1 or 5, no matters), install “windows 7” on this VM.
    Then install vmware “workstation 8” on this “VM windows 7”. With this “Workstation 8”, you can create a VM where you will then be able to install “Windows 8”.

    You will then have :

    PHYSICAL SERVER (ESX(i) 4.1/5.0)
    |
    —-> vcenter (4.1/5.0)
    |
    —–> Virtual Machine (Windows 7)
    |
    —–> Workstation 8
    |
    —-> Virtual Machine (Windows 8)

    I know it’s “tricky”.
    But with the proper network configuration, this “Windows 8” VM will be seen as others on the network, and it will run on your ESX/ESXi physical server (with what I call the “windows 7” encapsulation).

    Hope this helps.

    Olivier

  3. Got it Oliver!!

    Thanks

  4. Hi Oliver,

    Thanks for a great article.

    However, your title suggests you have a solution to run win8 on esxi 5 or 4.1 and even though you DID find a solution – I read through the whole article to find out at the end this is not what I was looking for! ;/

  5. I was able to run Windows 8 under VMware ESXi 5.0 after patching it to the ESXi 5.0 update 1.

    http://mytricks.in/2012/04/guide-how-to-install-windows-8-on-vmware-esxi-5-0.html

    Cheers!!!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)