I use VMWare… a lot. As I commented to on of my readers, I use a lot of different operating systems in my business, including: Windows 2000, Windows XP, Windows 2003, SUSE Linux, Red Hat Linux, Solaris, HPUX and AIX. This list doesn’t include the various service pack levels, or kernel versions that each of these OS’s might have, nor does it include additional dedicated ‘machines’ that I use for hosting heavy duty applications like Exchange Server, SQL Server 2k and 2k5, Oracle, mySQL, etc.
My work depends on me testing the code I write against different operating systems. For example, the find command works slightly differently from AIX 5.1 to AIX 5.3. Doesn’t seem like a big deal until you’re working with a large financial company and they demand that the script you wrote works on both versions perfectly. Oh, and it has to be the same script… and they don’t know which machines they’re running it on, so the script needs to figure it out and do the right thing because they won’t install different scripts to different machines.
So, recently as I’ve used my office in Worcester more and more, I’ve been making a concentrated effort to move my primary resources into the office. That includes my servers. Right now, I have a much older Windows 2000 Server running many of my applications, and up until recently, it ran my website. But yesterday I had the revelation that moving that server completely into a virtual machine would probably make a lot of sense. The fact is, the hardware isn’t really all that great. The server doesn’t do a lot anymore other than run SQL Server and act as a test machine for various web based projects that I work on. So yesterday around noon, I started doing just that.
Six hours later, it still wasn’t done. The VMWare image wouldn’t boot. I didn’t understand. I’d created Windows 2000 Server images before, on both my desktop and on my laptop. What gives? Maybe the disk was bad. Nope. My desktop and rackmount server could read it just fine. In fact, it got most of the way through the install several times before it would just hang. After fussing with it for a couple more hours this morning, and poring over VMWare’s website, I finally found the problem.
VMWare + Windows 2000 Server + AMD X2 processors don’t mix.
At least not without a mild modification. Back when I decided to go with rackmount servers for my business, I looked at a lot of different rackmount machines from various vendors before I came to the conclusion that it would be far less expensive for me to build, rather than buy. I was going to save myself around $750 per machine, and since I was buying three of them, I knew it would be worth it. Now, I don’t have much against Dell, but for the sake of having a company to pick on, the fact that they’re the number one PC distributor makes them a big target. I own a lot of Dell equipment. Mostly monitors, cases, and printers. Oh, and monitors.
But I’m not going to pay far above market value just so that I can get the Dell logo on my machine. Thanks anyway, but the time investment on my part was worth $2,250. So, I built three servers, and decided that I really wanted AMD Athlon X2 4400’s with 4GB of RAM, RAID 1 drives, etc.
These are great machines, but it would appear that it really bit me in the butt this time. In an effort to save at least one other person the hassle:
If you’re installing Windows 2000 Server on VMWare Virtual Server hosted on a box with Athlon X2’s in it and you’re having trouble during the install because the setup is hanging during one of the many blue background setup screens, stop the installation and power off the machine. Find the .vmx file, open it in notepad or some other text editor and add this line:
processor1.use = “FALSE”
Save, and restart the machine. Everything should start installing properly. It seems that this disables the second processor, as Windows 2000 isn’t real happy about booting up with a second virtual CPU. It’s been a very long time since I installed Windows 2000 Server directly on a machine with two physical processors, so I don’t recall if there’s anything special that needed to be done during setup. In any case, I hope at least one person finds this little tip useful. If so, you’re welcome.