This guide will allow you to install Windows XP or 2000 solely with the VMWare Player. For the uninitiated, VMWare released a free application that allows users to run, but not create virtual machines. Using QEMU, we will create an environment suitable for use with the player.
As a side-note, I'd like to point out that VMWare makes quality software. If you require additional functionality, consider upgrading to Workstation. For those curious, these actions are condoned by the developers as per this quote:
"We’re well aware of what people could potentially do, and we’ll live with the consequences. As you observe, Workstation has a lot of features that no amount of vi and dd hacking will replicate and these are what make Workstation worth buying (eg: Teams as you mention, or snapshots). I suspect that most people who go to the trouble are one’s who haven’t bought or wouldn’t buy Workstation anyway."
Installing the player itself involves some patience. Get the Linux tar from this page. Most of my instructions will be shamelessly ripped from this lovely tutorial. Fire up a root terminal and do:
Code:
apt-get install build-essential
uname -r
apt-get install linux-headers-'kernel version'
apt-get install gcc-3.4
apt-get install g++-3.4
Now that the initial dependencies have been met, let's continue.
Code:
tar xvzf VMware-player-1.0.0-16981.tar.gz
cd vmware-player-distrib
export CC=/usr/bin/gcc-3.4
./vmware-install.pl
The installer has an unusually high number of prompts, all of which can be answered the default "yes" to by hitting enter. After hitting enter a few dozen times and agreeing to the license, everything should install successfully. If you're having problems installing the actual player, that other guy might be more qualified to diagnose it than I am. Moving along...
There are two components to a virtual machine, the hard drive image and a text file that VMWare interprets. First, we'll create an image with QEMU.
I know this sounds a little odd, but I couldn't get the QEMU command used to generate the disk working from the Linux port. Fortunately, the utility works fine with the Windows port under Wine. I can't really bothered to delve into the specifics of installing Wine other than suggesting:
Code:
apt-get install wine
Then download and install the Windows version of QEMU. Execute it from a command line as follows:
Code:
wine qemu-img.exe create -f vmdk WindowsXPPro.vmdk 2G Formating 'WindowsXPPro.vmdk', fmt=vmdk, size=2097152 kB
This will generate a 320k file which is a usable blank drive. Create a new folder to contain our files and name this guy either WindowsXPPro.vmdx or Windows2000Pro.vmdx accordingly.
You now have the choice to install XP or 2000. On my 1.2ghz/512mb system Windows 2000 runs considerably more responsively; your choice. As per the other tutorial, we should be able to insert our CD and go after the following. But in my case, neither my bootable XP or 2000 CD had any interest in well, booting. I'd suspect I'm not the only one with this concern, so we'll play with ISO images instead.
Code:
apt-get install gnomebaker
After inserting your original Windows disc, load Gnomebaker, choose "Copy Data CD," and tick the "Create ISO only" box. Save the resulting ISO as either WindowsXPPro.iso or Windows2000Pro.iso to the folder we just created. If the processes ever freezes 99%, feel free to "killall gnomebaker" without concern.
Unfortunately, our ISO image will not have the bootable sector intact. We'll instead boot from a series of floppy images. My Windows 2000 disc included them in a "bootdisk" folder, whereas XP did not. For 2000, copy the four img files from it to our created folder.
With XP, you'll need some additional nonsense. Hunt down an appropriate set from Microsoft for your version of XP, and do the following:
Code:
apt-get install cabextract
cabextract 'nameofarchive.exe' -d 'our working directory'
Deleted the non-img extracted files.
Now that we have a matching ISO and floppy set, we're ready to proceed with installation. Paste one of the following to a text editor (gedit/leafpad) and save it as either WindowsXPPro.vmx or Windows2000Pro.vmx to our directory:
Windows XP:
Code:
#!/usr/bin/vmware
config.version = "8"
virtualHW.version = "3"
ide0:0.present = "TRUE"
ide0:0.filename = "WindowsXPPro.vmdk"
memsize = "192"
MemAllowAutoScaleDown = "FALSE"
ide1:0.present = "TRUE"
ide1:0.fileName = "WindowsXPPro.iso"
ide1:0.deviceType = "cdrom-image"
ide1:0.autodetect = "TRUE"
floppy0.fileType = "file"
floppy0.fileName = "cdboot1.img"
floppy0.startConnected = "True"
ethernet0.present = "TRUE"
usb.present = "TRUE"
sound.present = "TRUE"
sound.virtualDev = "es1371"
displayName = "Windows XP Pro"
guestOS = "winxppro"
nvram = "WindowsXPPro.nvram"
MemTrimRate = "-1"
ide0:0.redo = ""
ethernet0.addressType = "generated"
uuid.location = "56 4d cd 3f 59 5b 61 43-fd 73 ef 46 56 4c 23 7b"
uuid.bios = "56 4d cd 3f 59 5b 61 43-fd 73 ef 46 56 4c 23 7b"
ethernet0.generatedAddress = "00:0c:29:4c:23:7b"
ethernet0.generatedAddressOffset = "0"
tools.syncTime = "TRUE"
ide1:0.startConnected = "TRUE"
uuid.action = "create"
checkpoint.vmState = "WindowsXPPro.vmss"
tools.remindInstall = "TRUE"
Windows 2000:
Code:
#!/usr/bin/vmware
config.version = "8"
virtualHW.version = "3"
ide0:0.present = "TRUE"
ide0:0.filename = "Windows2000Pro.vmdk"
memsize = "192"
MemAllowAutoScaleDown = "FALSE"
ide1:0.present = "TRUE"
ide1:0.fileName = "Windows2000Pro.iso"
ide1:0.deviceType = "cdrom-image"
ide1:0.autodetect = "TRUE"
floppy0.fileType = "file"
floppy0.fileName = "CDBOOT1.IMG"
floppy0.startConnected = "True"
ethernet0.present = "TRUE"
usb.present = "TRUE"
sound.present = "TRUE"
sound.virtualDev = "es1371"
displayName = "Windows 2000 Pro"
guestOS = "win2000pro"
nvram = "Windows2000Pro.nvram"
MemTrimRate = "-1"
ide0:0.redo = ""
ethernet0.addressType = "generated"
uuid.location = "56 4d cd 3f 59 5b 61 43-fd 73 ef 46 56 4c 23 7b"
uuid.bios = "56 4d cd 3f 59 5b 61 43-fd 73 ef 46 56 4c 23 7b"
ethernet0.generatedAddress = "00:0c:29:4c:23:7b"
ethernet0.generatedAddressOffset = "0"
tools.syncTime = "TRUE"
ide1:0.startConnected = "TRUE"
uuid.action = "create"
checkpoint.vmState = "Windows2000Pro.vmss"
tools.remindInstall = "TRUE"
Double click on the resulting file, and Windows should start to install. The only screwiness left at this point is that we'll need to swap floppy images. When prompted, click on the floppy icon to "eject" the drive. In Nautilus, rename cdboot1.img to cdboot01.img and cdboot2.img to cdboot1.img, then click the floppy icon again to continue. It may sound a little strange, but you're essentially renaming the images to match that of the first file when it wants it. You'll get the hang of it, promise.
Once the floppies have done their thing, the ISO will take over and Windows will install normally.
Sorry about the length of this. If I had web hosting, I could've posted many of these files and shaved off a few steps. I'll try my best to answer any questions that may come up, but concede that my level of Linux know-how is only intermediate.
Here's a screeny for encouragement!
Take care,
-Kyle
Bookmarks