HOWTO: Install Windows XP/2000 in VMWare Player
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! :D
Take care,
-Kyle
Re: HOWTO: Install Windows XP/2000 in VMWare Player
Thanks a lot! Works great, except, is it normal for the part of the install where Windows detects and installs all your hardware to take a REALLY long time?
Re: HOWTO: Install Windows XP/2000 in VMWare Player
Any ideas on how to bump the resolution above 640 x 480? The only video driver included for Windows 2000 is a VGA driver...
Re: HOWTO: Install Windows XP/2000 in VMWare Player
If you have downloaded the Win2k video driver for your card, try installing it inside the Win2k that is running under VMWare.
I don't know if it will work as I'm currently in the process of setting this up myself.
Re: HOWTO: Install Windows XP/2000 in VMWare Player
Thanks for the howto!
Quote:
Originally Posted by dryandplain
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.
A bit simpler way to do this: Insert the windows cd and run (no need to be root):
Code:
cat /dev/cdrom > WindowsXPPro.iso
Re: HOWTO: Install Windows XP/2000 in VMWare Player
nice, i assume i can increase the size of the virtual drive by changing this line:
wine qemu-img.exe create -f vmdk WindowsXPPro.vmdk 2G Formating 'WindowsXPPro.vmdk', fmt=vmdk, size=2097152 kB
to make a larger drive?
Re: HOWTO: Install Windows XP/2000 in VMWare Player
Quote:
Originally Posted by yabbadabbadont
If you have downloaded the Win2k video driver for your card, try installing it inside the Win2k that is running under VMWare.
I don't know if it will work as I'm currently in the process of setting this up myself.
OK, I found in the manual that you have to install the VMWare tools for the guest OS in order to use better (faster, higher resolution) graphics. I don't know if the vmware player supports this option, but in the 30-day eval of vmware workstation, you choose VM->Install VMware Tools from the menu while the virtual machine is powered on. Then you can choose a higher screen resolution. The help files also say that the new SVGA device is faster too.
Re: HOWTO: Install Windows XP/2000 in VMWare Player
Quote:
Originally Posted by zachtib
nice, i assume i can increase the size of the virtual drive by changing this line:
wine qemu-img.exe create -f vmdk WindowsXPPro.vmdk 2G Formating 'WindowsXPPro.vmdk', fmt=vmdk, size=2097152 kB
to make a larger drive?
If you run "wine qemu-img.exe /?" you will see that only the first part of that string is the actual command. The last half, everything after "2G" is probably what the command prints out on the screen. You should just be able to change the "2G" to whatever size in gigabytes you want.
Re: HOWTO: Install Windows XP/2000 in VMWare Player
yep, worked great, now for another question.
i installed samba on ubuntu to share a folder with Windows running in VMWare, in case the virtual hard drive fills up, i can move files onto my main hard drive. when my laptop is plugged into the network, this works fine, but when i am disconnected, Ubuntu and XP in VMware cannot see each other. is there a way to create a virtual network incuding the host OS and the guest OS so they will always be connected?
Re: HOWTO: Install Windows XP/2000 in VMWare Player
Most probably the reason you couldn't create the images with linux qemu is that the capability to create VMDK images was only added in 0.71, and ubuntu's version is still at 0.70. 0.72 (binary from http://fabrice.bellard.free.fr/qemu/download.html works fine. You also dont need to do all that with the floppy disks, at least for Windows 2000, at least if you make the cdrom image with the command
Code:
dd if=/dev/cdrom of=Windows2000Pro.iso
(although gnomebaker should work just as well) - just press escape when booting vmplayer and select cdrom to boot from it - you can remove all the floppy related stuff from the config file.
In response to zachtib, I believe what you want is host-only networking - it bridges the hosts connection to the network by default (you may have success just selecting host-only networking from the ethernet submenu under Devices in player, I don't know) - I haven't tried this myself but there's docs for workstation that'll probably give you an idea at http://www.vmware.com/support/ws5/doc/ws_net.html