Install Windows XP on VMware ESX Server: Some tweaks and workarounds

It’s so easy to install the Windows XP Professional on VMware Workstation on VMware Server just because of XP installation CD comes with the IDE driver by default. But think the case you are going to install Windows XP Professional on SCSI disks and your XP Installation disk doesn’t contain the SCSI storage drivers! So, you will see the error message “Setup didn’t find any Hard Disk drivers installed on your computer’ and you have no choice ignoring the setup. So how to install the Windows XP on VMware ESX server? Answer is simple: you have to inject the SCSI driver before the installation continue! So how to do it?

Download the SCSI Driver and Create Floppy Image

Download the Buslogic SCSI driver from here:, (this floppy image is ready to use)

Download the LSILogic SCSI driver can be found from, unzip it and put the driver for LSI20320-R controller into a new floppy image named ‘LSILogic.flp’, I used MagicISO to build the image.

Tweak your XP Installation CD Image

First let me explain why you need this. During installation after you have ejected the SCSI drivers from the floppy image it can recognize the SCSI storage type so the installation continues. But the issue you will must face while it will start copying files on C:\ drive it can’t find the vmscsi.sys, vmscsi.inf and just because of these drivers are not included on your installation CD i386 directory, right? So there might be two solutions: #1. you can recreate the CD image by injecting these drivers, #2. you can instruct the installation not to ask the drivers again from the CD image. I preferred #2 just because of simple and quick procedure. So how to do it?

– Go to the installation disk i386 directory, find out the WINNT.SIF file, open it with notepad.exe

– Change the instruction from OemPreinstall=”Yes” to OemPreinstall=”No”, it will prevent asking the SCSI drivers again while starting copying the files.

Start Installation

– Configure the ESX VM instance with BusLogic/LSILogic SCSI disk as per your server supports


– Configure the floppy drive with the image you just build


– Configure the CD/DVD Drive with the customize image you just build.


– At the very starting of the installation press F6 to inject the SCSI driver, it will give you the below options after while, follow the procedures.




Whoa!!! Now close your eyes and wait for the installation finishes. 🙂

ESX 3.5i on HP DL320 G4: doesn’t work on RAID 0

This server is well known to as Cisco MCS 7825-H2 to us rather than the origin DL320 G4. I was working with this blade server today, was trying to install ESX3.5i on RAID 0, but unfortunately it’s not supported. I checked the HP site ( and got the proof, but surprisingly it works with RAID 1 (mirrored), but on the ESX Datastore it shows TWO (!!!) datastores! each with 74GB, 74GB+74GB=128GB in total! I couldn’t figure out how it could happen, it should show only 74GB in total if it is configured with RAID 1, right? I have no idea what is going on…

Tweak Your VMware ESX Server to Install on Non-supported Platforms (part:01; IDE HDD)

At the very first I want to say clearly this is NOT my invention, I just followed the notes from and summarized what I have done for my own and get it worked.

Before doing the task you have to have knowledge on linux/unix shell commands at intermediate level. My problem was, when I was trying to install VMware ESXi 3.5 on IBM ThinkCenter (Lenovo version: 8328-D57), it was giving me an error like ‘Unable to find a supported device to write the VMware ESX server 3i 3.5.0 image to….’ like below:

So, I checked my device PCI-ID from the ESX shell and found everything was on the list though it was not taking installation on my platform. Afterwhile I discovered it was not detecting my IDE HDD as it’s shell script was built to support only SCSI. So just modified the script to allow IDE device and it allowed me to install ESXi Server. Now let me explain the steps I have followed:

1. Accessing the ESX Shell Prompt:

It’s pretty simple, but need to know first ‘how to do’ because the options are not there to enter the shell in formal way. First, insert the ESX installation disk and load the image you would see the following screen:

Now press ‘Alt+F1’ and it will ask you the credential to access the shell. User username: root and nothing as password and press enter to get access.

2. To know if your devices are on the supported hardware/device list:

After you have logged in issue the command lspci -v to know your device PCI IDs:

Remember or note down the marked values, they are the PCI IDs of your devices, they are unique on model from different vendors. You need to get confirm your devices are on the list locate at /etc/vmware/ If your devices are not on the list, you have to modify the list and update the list with your device PCI ID, I shall discuss the procedure on later. You can open the file with VI editor to check and exit from there with the command :q without saving any modification. My devices were on the list, but it was showing the error, so I guessed my ESX is identifying my SATA controller but not detecting my IDE storage, so the next step will fix it.

3.  Modify your storage parameter to detect the IDE HDD:

First make sure your system is concerned about your IDE drive with the command ‘fdisk -l’, you will find your HDD there. Now VI the script /usr/lib/vmware/installer/Core/ and modify the last line from:

return interface.GetInterfaceType() == ScsiInterface.SCSI_IFACE_TYPE_IDE
return interface.GetInterfaceType() == ScsiInterface.SCSI_IFACE_TYPE_ISCSI

Save the script with :wq and exit from the shell with the command ‘exit’, afterwhile you will get the screen of error again but you have to press ‘Alt+F1’ again and issuing the command ‘install’. You will get the screen of installation again:

Press ‘Enter’ and right after then you should see your IDE HDD there 🙂

Congratulation! You will see your IDE HDD there and you will be able to install ESXi Server now.

Now I am waiting to follow the same tweaking on Dell Optiplex 960 model desktop I will get success I believe.

Bind Dynamips interface with Vmware OS NIC

That’s very important if you are practicing any topology where you need to communicate with VMware and dynamips. Specially I was needed this while I was trying to get IP from DHCP server running on dynamips router to a Windows running at VMware. That’s pretty cool, huh! I have pointed out the steps to get it done:

at WIndows Host Machine
1. Create a Microsoft Loopback Adapter
2. Set the Loopback Adapter in DHCP mode

at Dynamips Router
3. Bind the Loopback Adapter (NIO_gen_eth:) with one Dynamips NIC (for example FE0/0) at *.net file
4. Start the router
5. Configure a DHCP Pool (for example at Dynamips router
6. Put a static IP (for example of the Dynamips NIC (for example FE0/0) binded with that Loopback adapter
7. The Loopback adapter should get a DHCP IP from IOS DHCP Server

at VMware Workstation Global Configuation
8. go to Edit>’Virtual Network Settings’>’Host Virtual Network Mapping’
9. Click beside dropdown menu of VMnet2: (or whatever you like), here you will find the Loopback Adapter you created at step 1
10. Select the adapter, click at right ‘>’ key and add the proper subnet you created for DHCP
11. Click ‘Apply’ and ‘Ok’

at VMware Guest OS
12. Select the Ethernet mode at ‘Custom:Specific virtual network’ and select the ‘VMnet2(Bridged)’ of the VM NIC you created at step 9
13. Set the guest NIC at DHCP mode and repair it, it should get the DHCP IP from Dynamips IOS DHCP.

I tested this on Windows XP, Windows 2003 Server Standard and Enterprise edition.

Who’s gonna love Virtualization?

Hi folks, the reason I’m posting such stupid long story I want to move your attention towards Virtualization for some minutes specially who are directly involved with designing and budgeting of IT infrastructures. It’s great if you have already idea and knowledge on it, if you don’t I shall request to kill some of your minutes please.

What is Virtualization?

The core concept of Virtualization is adapting multiple guest operating systems on a single hardware platform. These operating systems (either can be Windows or Unix or Mac, everything is supported now) will share the same hardware resources like CPU and Memory as you have allocated for each and they will use upto their limits. It’s the core concept of virtualization, but it’s technologies are growing day by day, now a days you can have redundancy of guests, moving one guest from one platform to another within seconds over Gigabit networks, virtual database clustering etc. etc. just what all we need at productions. Even the Bigs like Oracle, Sun, Microsoft, Cisco, Juniper all have already adapted their products for Virtualizations streamlines and also released their compatible products. Even processor manufacturers like Intel and AMD already released processors supporting Virtualizations.

So, why Virtualization?

Want to give you a simple example, it might be exactly like your production servers already running. Just point to your network monitoring system (NMS) and look for arbitrary four servers (like HP Proliant DL320) each with 1U rack space. What’s their CPU and Memory utilization? I guess the CPU is 10% during cold hours and fluctuating upto 50% at peak hours and the Memory is 30% at cold hours and 90% at peak hour. What about their storage utilization? Ok, let me guess they are using network storage systems. Now, if you tell me to design Virtualization systems at your data center I shall consider the parameters

1. Your rack U space (1U X4 = 4U in total)
2. Cooling power and operations (aKW X4 = 4aKW, a is considered as utilization per server)
3. Server power (bKW X4 = 4bKW, b is considered as utilization per server)
4. CPU utilization (10% to 50% fluctuating)
5. Memory utilization (30% to 90% fluctuating)

Now if I replace these 4 servers (HP DL320, 4GB RAM, dual core single Xeon processor) with 1 server (HP DL380,32GB RAM, quad core dual-Xeon processor), I can minimize the overall costing and improve overall performance as below:

1. Your rack U space (4U X1 = 4U in total)
2. Cooling power and operations (aKW X2 = 2aKW, a is considered as utilization per server)
3. Server power (bKW X2 = 2bKW, b is considered as utilization per server)
4. CPU utilization (50% to 90% fluctuating)
5. Memory utilization (30% to 90% fluctuating)

Thus it will save 50% of your power, will boost up you processes multiple times as you have plenty of RAM to utilize and dual processors, and the most important thing is saving your hardware cost upto 66%! And it’s not like dream, one of the Warid data center and contact center has moved to Virtualization and they have saved 80% overall! like a dream but it’s a true case story.

I don’t know if I have killed your time, but you might be the correct person if you have decision taking ability over IT infrastructure costing, even for such a place like Bangladesh where our primary concern is the expenditure for the IT services. You can hold down the costing or hardware, power systems, cooling systems and rack space also simultaneously improve the performance better than anytime you have. You can read the case studies how Virtualization is being implementing worldwide and laying off costs, lots are available on google, more specifically at vmware, cisco, microsoft and oracle sites.