Guide to Microsoft's Virtual PC

Last update: 09/02/2013

Virtual PC is Microsoft's Virtualisation software for the PC which allows you to run different or multiple operating systems on one host system at a time. There is Virtual PC 2004, Virtual PC 2007 and the new Windows Virtual PC for Windows 7. For servers there is Virtual Server 2005 and Hyper-V for Windows 2008 R2. In Windows 8, VirtualPC has been replaced by Hyper-V. Both are now free. Hardware info can be found in this article: KB833144. If you have any questions please .

1. How to create a new Virtual Machine

You can create many virtual machines on your Host system using different operating systems or variations on the same operating system. Step by step instructions are available on the New VM page.

2. Using DOS on Virtual PC

You can use any of the versions of DOS with Virtual PC including MS DOS, DR DOS, PC DOS and FreeDOS. You can download a DOS disk image from Bootdisk.com. To install, either insert the first disk and follow the instructions on screen to copy the files to the hard disk. If no hard disk is present, you need to create a partition on the virtual hard disk using FDISK. Just create a Primary DOS Partition and make it active to be able to boot from it.

A complete list of commands for DOS is on Computer Hope.

a) HIMEM.SYS and EMM386.EXE

Himem.sys is required to access memory above the 640K limit, and it is required for Windows 3.x
DEVICE=C:\DOS\HIMEM.SYS /Testmem=off

This program provides access to Expanded or Extended Memory and Upper Memory Blocks. You need the latest version to avoid any possible conflicts especially with Network drivers. If using DR DOS, then DOS may crash on bootup so you need to modify CONFIG.SYS to exclude E000-EFFF memory range. (press F5 during boot to get to C:\ prompt):

DEVICE=C:\DRDOS\EMM386.EXE DPMI=OFF FRAME=NONE EXCLUDE=E000-EFFF

To make maximum use of memory, try using the DEVICEHIGH command in Config.sys after loading HIMEM.SYS and EMM386.EXE to store drivers in upper memory to free up conventional RAM. You can also use the LOADHIGH (LH) command for TSRs in Autoexec.bat. Use the MEMMAKER tool to re-organise memory and then MEM command to see how much free memory you have.

b) CDROM Drivers

You can use CDROM with DOS if you have the driver for it. Virtual PC comes with a CDROM.SYS driver if you install the VM Additions from the floppy image or you can provide your own. To enable the driver specify the driver in CONFIG.SYS and then load the CDROM Extensions in AUTOEXEC.BAT.

e.g.
Config.sys: DEVICE=C:\VMADD\CDROM.SYS /D:IDECD001

Autoexec.bat: MSCDEX /D:IDECD001 /L:D
or NWCDEX /D:IDECD001 /L:D

The name for /D switch can be anything you like but must match the name in the Autoexec.bat file. You can specify the drive letter using the /L switch.

Try using SHSUCDX driver instead of MSCDEX which allows you to read ISO disks that use lower case characters for filenames where MSCDEX cannot read them. E.g. SHSUCDX /D:IDECD001,D to mount it on D: drive.

c) Localisation and Keyboard Drivers

You can change the default US English to UK layout using the following commands in the startup files.
Config.sys:
DEVICE=C:\DOS\DISPLAY.SYS CON:=(EGA,437,6)

Autoexec.bat:
MODE CON CP PREP=((437) C:\DOS\EGA.CPI)
KEYB UK

For more fine tuning, use the COUNTRY settings and NLSFUNC command.
To set the date and time and other regional settings, set your Country code (see Help on codes). For example, UK,
COUNTRY=044,,C:\DOS\COUNTRY.SYS

Load the DOSKEY program if you want access to full shell functionality such as command history, editing and use macros.

MS DOS does not support the Euro symbol, although DR DOS does, for access to the Euro Symbol, check out these WPDOS pages.

d) Mouse Drivers

The Mouse.com driver can be used from c:\VMADD folder if the VM Additions are installed from the floppy image.
If you do not have VM Additions you can use MSMouse 11 from Software Patch.

e) Network Software

It is possible to network DOS for Netware, NetBeui or TCP/IP networks using Novell's Netware Client (free with DRDOS or downloaded from Novell) or Microsoft Client for DOS which can be created from disk images from a Windows NT CD or downloaded from Microsoft.

The LAN Card is the DEC 21140 10/100 Mbps (or DC21X4) which you can still get drivers for from Intel or Driver Guide's web site:
Novell DOS Drivers (Novc_300.zip)
Microsoft NDIS2 Driver (nd2_262.zip)

For help on setting up, configuring and installing Microsoft Client for DOS, try these pages:
Update Network Client 3.0 with new Drivers
Connection from a DOS-system to an NT4 Server
Connecting from a DOS-system using TCP/IP

You can display the ipaddress using the command IPCONFIG C:\NET (where C:\NET is where the drivers were installed).

f) Sound Drivers

For DOS games, the only the only line required is the SET BLASTER line in Autoexec.bat e.g.
SET BLASTER=A220 I5 D1 H5 P330 T6

Optionally, if you do need the driver loaded first, then you need this line in Config.sys:
DEVICE=C:\SB16\DRV\CTSB16.SYS /UNIT=0 /WIN95 /BLASTER=A:220 I:5 D:1 H:5

For DOS commands and help try the MS DOS Reference.

g) Shared Folders

To access shared folders, use FSHARE.EXE in VMADD folder to enable Shared folders so that you can share folders between DOS and your Host System.

h) Applications

Here is a list of applications you could try for MS-DOS:
* For a Word Processor try Wordster (program similar to Wordstar). You will need the HX-DOS Extension files to run it. So, entering Ctrl+Q will show the Quick menu, Ctrl+O for Non-Documents menu, Ctrl+K for Save and Block menu.
* For a spreadsheet, try Visicalc, the first major application for the IBM PC.

3. Using Windows 3.x on Virtual PC

To use Windows 3.x, you need DOS installed (MS DOS, PC DOS or recent DR DOS will do, FreeDos does not work with Windows). To use Windows, you will need memory managers installed, in particular, HIMEM.SYS and optionally, EMM386.EXE.
I recommend disabling Memory Manager for DR DOS if installing Windows 3.x or Windows for Workgroups and I recommend upgrading to latest version of EMM386 to v4.49 which is included with MS DOS 6.22 as it will fix problems with NDIS2 drivers.

To speed up Windows installation, create a folder called WIN31 and copy all the disks' contents into the one folder (do not copy into individual disk folders) and run Setup.exe to install windows. This will then only take a few minutes to install.

For Windows 3.x, most drivers are still loaded from DOS with the exception of Mouse, Graphics and Sound. By default, VGA 16 colour graphics driver will be installed, you could try an S3 Trio drivers from S3's legacy driver page (KW317004.zip). video driver. Mouse and Graphics drivers can be installed via Windows Setup program in the Main group or via Setup.exe from C:\Windows folder on the command prompt.

You can install Sound drivers as follows:
a) Load Windows, open Main and open Control Panel.
b) Double click on Drivers.
c) Select Add and select Create Labs Sound Blaster 1.5
d) Use IRQ 5 and Port 220 if prompted.
e) Select drivers from C:\WIN31 folder you created earlier
f) Test it by playing sounds from the Sound control panel.

To install graphics drivers:
a) Load Windows, open Main and open Windows Setup.
b) Select Options, Change System Settings...
c) Next to Display select Other Display (requires disk from OEM).
d) Enter path to driver e.g. C:\S3 if thats where you stored the files
e) Select the driver from the list e.g. S3 TrioV2 1.70.04 800x600 256 C SF (SF = Small font, LF = large font).
f) Click OK when done.
g) Exit and re-load windows by typing WIN.

Networking with Windows 3.x

Windows 3.1 provides some limited networking functionality while Windows for Workgroups (WFW) provides much better networking faciliies as it can use protected mode drivers unlike Windows 3.1 which still relies on DOS Real mode drivers. By default, you can network using Netbeui or add further drivers using Novell's Netware Client or Microsoft's Client for Windows.

Networking with Windows 3.1
Networking with Windows for Workgroups 3.x
TCP/IP for Windows for Workgroups

Version History for Windows 3.x

Updates:
Old Files

VShare update
Calculator update
Windows 3.1 Software
Winsite Software

Programs:
Winzip
Netscape browsers
Internet Explorer browsers
Internet Explorer 5 for 3.1/NT 3.5

The Web browsers in Netscape 3/4 are very old, so to browse, I suggest you turn off Javascript and Java to prevent it from crashing and to change the default home page to a simple web page such as Google's search page or Live.co.uk. The page will display but not formatted correctly but will not crash. Modify the Netscape.ini or Prefs.js file to make the changes needed

Other old Operating Systems:
Open GEM 5
BeOS Personal Edition

4. Using Windows 95/98/Me on Virtual PC

These operating systems can be installed with no problems on Virtual PC. I suggest installing any security updates, Year 2000 updates and service packs (if any) if required.
Note, that Windows 95a does not come with Internet Explorer or DirectX 8.1, DirectX 8.0b so those will need installing afterwards if required.
Windows 95b comes with Internet Explorer 4 although this can be upgraded to Internet Explorer 5.5 or you can use Opera.
For access to CDROM in DOS, shared folders and higher resolutions, remember to install the Virtual Machine Additions.

Notes for installing Windows 95:
a) When setting up the disk using FDISK, do not use the entire drive. Use 2048 MB for disk size as disk sizes were small around 1995. Run Format on drive C: before running Setup.exe to install Windows 95.
b) Windows 95 does not come with CDROM drivers. Copy a CD driver from floppy disk to c: drive and use the line DEVICE=C:\CD1.SYS /D:CD1 to CONFIG.SYS to load the CD driver when Windows start. Boot into dos mode (press F8 during boot up to modify the config.sys and autoexec.bat files). You may need it to install additional drivers from CD.
c) If you get IOS: Windows protection error after installing Windows. Turn off the Hardware Virtualisation setting in Virtual PC settings.
d) Windows 95 installs some old network protocols, so you will need to add TCP/IP and remove things like Novell Client, IPX/SPX and Netbeui protocols. The Network card driver is called 'PCI Fast Ethernet DECchip 21140'.
e) In Windows 95, the Graphics card driver is 'VM Additions S3 Trio 32/64 PCI (732/864)'
f) In Windows 95, the Sound card driver is 'Creative Labs Sound Blaster 16 or AWE-32'.
g) Virtual PC additions with VirtualPC 2007 do not work with Windows 95. You need the additions from Virtual PC 2004.
h) For TCP/IP Printing you need the Win LPR utility and instructions. See Trendnet web site.

Essential updates for Win 95
Windows 98 Home Page
Windows Me Home Page
Microsoft Plus! for 95/98
OldVersion.com
Antivirus - Avast or ClamWin.

5. Using Windows NT on Virtual PC

Windows NT 4 will install on Virtual PC, in either the Workstation or the Server versions. You can use the Detect button to detect the DEC 21140 network driver and the S3 graphics card when setting up Windows NT. I do recommend installing Service Pack 6a (with the High Encryption - 128 bit) and Internet Explorer 6 or from OldVersion.com. Use the SoundBlaster 16 1.x for the Sound card via the Multimedia control panel. If it says it cannot find the MPU401 then just disable it.
When creating a boot partition for Windows NT, do not exceed 4GB for the C: drive as it cannot reliably go over that limit until it is converted to NTFS and the latest service pack is installed, then you can go upto 7.8Gb. See KB 224526 and 138364. Additional partitions can be added for programs or data which can be be larger than 4GB.

If you need an up-to-date shell32.dll and/or Active Desktop, you should install IE 4 (the files can be found in Ie4shlnt.cab) before installing IE 5 or 6.
If you require access to IIS 4 (Internet Information Services) web server, you can download and install the NT Option Pack.
If you require access to Active Directory, then install the Directory Services Client (DSClient) From MS Downloads.
If you require access to Windows Management Instrumentation (WMI), download it from MS Downloads.
For trying out SQL, try SQL 2000 MSDN or an older version of MySQL.
For playing media on NT4 try RealPlayer 8 and Winamp 5.0.
For Office, try StarOffice, Open Office 1.1 or if you have MS Office, use Office 97 to XP only.

6. Using Windows 2000, XP or 2003 on Virtual PC.

You can install these operating systems on Virtual PC with no problems. I suggest installing latest service packs as well for extra security.
There should be no problems activating Windows XP on Virtual PC even if you have it installed on your real PC.

If you don't have copies of these operating systems, you can always try out free Trial Evaluation copies from Microsoft's website including application software which makes Virtual PC ideal for trying out new software before implementing it for real on your real system or implementing it into your organisation.
You will need to service pack these operating systems: Windows 2000 SP4, Windows 2003 SP2 and Windows XP SP3.
The latest DirectX you can get is DirectX 8 for Windows 2000 and DirectX 9 for Windows XP or 2003.
For Office, try StarOffice, Open Office 2.0 of MS Office XP or later.

If you use the Virtual Server 2005 edition, you can download pre-compiled Virtual Hard Disk's from the Virtual HardDisk Center where you can try out Windows, Exchange, ISA, SQL, Visual Studio, System Centre and Office Sharepoint and so on.
For trying out Unix, try the Cygwin add on.

7. Sharing files between the Real PC and the Virtual PC.

To share files between your PC and the Virtual PC you need to install the Virtual Machine Additions. There is a CDROM image in C:\Program Files\Microsoft Virtual PC\Virtual Machine Additions folder. You can install the additions after installing the OS on your Virtual PC.

For DOS VM Additions:
a) Load the CDROM drivers using SHSUCDX (instead of MSCDEX).
b) Create a folder called C:\VMADD.
c) Mount the ISO disk via CD, Capture ISO Image menu and browse to C:\Program Files\Microsoft Virtual PC\Virtual Machine Additions and open VMAdditons.iso.
Alternatively, copy the DOS folder to a floppy image (vfd, img etc) using a dos image program.
d) Copy the contents of DOS folder on CD to C:\VMADD
e) Cd to VMADD
f) Run FShare,com to start sharing
g) Click on the Edit menu then settings
h) Select Shared folders and click on the Shared Folder button
i) Select a folder on the hard disk to share, a drive letter will be allocated for you e.g. E:
j) You can then load or save files in that folder which can then be used to share between PC systems.

NB: If FShare fails to load, try not to load MS-DOS' EMM386.EXE as there is a known conflict with it.

For Windows/ OS2 VM Additions:
a) Click on Actions
b) Select Install or Update Virtual Machine Settings
c) It should automatically run setup.exe from the CD Image when mounted.
d) Click Next on the Welcome screen.
e) It will install the files in c:\Windows\Vmadd (or C:\Winnt\VmAdd)
f) You may need to reboot the Virtual PC
g) You can use Drag'n'Drop to copy files to/from the Virtual
If you do not want to use the VM Additions, you can use your own ISO images in Virtual PC.

Download MagicISO and use the tool to create your own ISO images which can be loaded and read in Virtual PC!

8. Networking Virtual PCs

There are four possible settings available for networking your virtual machine. Some are suitable for clients, some for servers, some for sharing files, some for internetworking and so on:

a) Not connected. No networking facilities provided.
b) Local only. Provide networking between Virtual PCs only and not the host system. This is useful if you want a virtual server with virtual clients talking to one another
c) Physical Adapter name. This allows you to provide your own IP address e.g. an IP address from your current real local network. Ideal for servers that need a static IP address.
d) Shared networking (NAT). This provides an IP address (subnet 192.168.131.x) via DHCP. Your host system will be the router (192.168.131.254) for the Virtual machine.

The Shared networking (NAT) should be used for client PCs if you want access to host and the Internet via dial up or ADSL connections.
If the network drivers failed to install when installing VPC 2004 then run c:\Program files\Microsoft Virtual PC\Utility\Install.bat and then enable the Virtual Machine Network Services in the Local Area Connection properties of your OS. Then you can get access to physical network card c).

9. Compatibility with other operating systems

Virtual PC 2004 or later will work with a large number of operating systems including BeOS, Linux. A full list is here. There is a FAQ on Virtual PC here.
You can download some VM Additions for Linux (RedHat, SuSE) from here.

10. Installing Windows Vista on Virtual PC

You can install Vista (Build 5456 or later) onto Virtual PC by following these instructions here. Expect Vista to be painfully slow so I would recommend removing any background images and turn off Aero and Visual Effects functionality as the S3 Trio display driver will not be upto the task, if it stalls try rebooting into safe mode first time. Install the VMAdditions from CD image to get bigger display resolutions (but not in safe mode). Download a VHD from the Virtual HD Center.

11. Installing Windows Server 2008 on Virtual PC

It is possible to install the current release of Windows 2008 on Virtual PC. Features including with Windows 2008 are available from Microsoft's website. You can order or download Windows 2008 Release Candidate from here or the Virtual HD Center.

To install the audio driver, make sure you install the Virtual Machine Additions (see Action menu), load up Device Manager, right click the unknown device and point it to C:\Program files\Virtual Machine Additions folder, it should install the driver and it will appear as Microsoft Virtual Machine Audio Device Driver (VirtualAudio.sys).

It is ok to use Exchange 2007 SP1 tools on Windows 2008 but Exchange 2003 tools cannot be installed, instead use the same procedure as for Vista to get the extra tabs for AD Users and Computers
console.

12. Using the Keyboard and mouse with Virtual PC.

Press ALT key to switch the mouse pointer between the Virtual PC windows and the host screen.
Press ALT+ENTER to switch between Window and Full Screen modes.
Press Right ALT + Del to simulate Ctrl + Alt + Del on the Virtual PC.
Press Del to enter the BIOS Setup screen on the Virtual PC.

13. Installing AROS (AROS Research Operating System) on Virtual PC.

You can use AROS (which is AmigaOS 3.1 for i386 systems) by downloading the AROS-date-i386-pc-boot-iso.zip file from AROS web page and use the installation instructions to install it to a virtual hard disk. I would recommend using a fixed sized hard disk of 4GB rather than a Dynamic sized one to ensure it will install properly. Also check out WinAROS for a prepared hard file.

14. Installing Audio Drivers on Windows Server 2003?

Virtual PC 2007 uses Soundblaster 16 emulation for audio. To get it to work on Windows 2003, you need two files from a Windows XP CD: wdma_ctl.inf and ctlsb16.sys:
1. Copy the wdma_ctl.in_ from the i386 folder on the Windows XP CD to the hard disk.
2. Open a command prompt.
3. Type Expand wdma_ctl.in_ wdma_ctl.inf to expand the file.
4. Open the Drivers.cab file in the i386 folder with your archive program such as 7Zip or Winrar.
5. Locate the ctlsb16.sys file and copy or extract it to the hard disk.
6. Open Device Manager and select Update Driver for the Sound Blaster 16 device and browse for the folder where the two files are stored.
7. The driver will be installed, click Continue Anyway if it prompts about Windows Logo testing.
8. Click Finish
9. Goto to the Sound control panel and Enable Windows Audio and then reboot. You can enable the volume icon afterwards from the same place.

15. Can I play games on Virtual PC?

No, VPC will only use 2D graphics and 3D acceleration is disabled (see DxDiag, Display) and only a lowly S3 Trio graphics chipset is available.
You can install latest DirectX for the software but most games will fail to run. You can play Flash, Shockwave or Java games though.
VMWare Workstation 6.5 and VirtualBox has a experimental DirectX 3D feature included.

16. Installing Windows 7 on Virtual PC 2007 (SP1)

Yes, you can run Windows 7 on Virtual PC 2007. Make sure you apply 900MB or more memory for it to run properly. If the audio drive is not available then open Control Panel, and select Add Device and let Windows 7 search for a Multimedia Audio Controller, then you can apply the driver from the C:\Program files\Virtual Machine Additions folder. Download beta from Technet.

Here is a list of compatible software that I have tried on Windows 7.

17. Which version of software can I install on my older versions of Windows?

Here is a table of some software that I have tested on older versions of windows.

18. Can I run 64 bit guest machines on Virtual PC?

No, 64 bit guest machines are not supported on Virtual PC 2007 or Virtual Server 2005.
For 64 bit hosts, please use VirtualBox on Windows 7 64 bit, Windows 2008 Server x64 with Hyper-V software or try VMWare ESX. New
Dowload Hyper-V from Microsoft Downloads.

19. I have Windows 7 Home Basic/Premium edition. Can I run Windows Virtual PC/XP Mode?

No, you need Business, Professional or Ultimate editions and your PC must be able to support hardware assisted virtualisation though. If you have Windows 7 Business, Professional or Ultimate can run the latest Virtual PC and P Mode product. If you have Windows 7 Basic or Premium try VPC 2004, VirtualBox which can still read your old VHD files (note: Windows XP or later will probably require re-activation as the drivers will be different).

20. I cannot access Internet when using NAT shared networking and Windows 2003, Vista or 2008?

When using NAT shared networking, sometimes Windows will reject DNS if it comes from a different IP address than the NAT'd DNS address. For example, if your router usese 10.0.0.2 for DNS and your NAT setup expects the NAT address (192.168.131.254) then it will be rejected. To fix this, change the TCP/IPv4 setting from 'Obtain the DNS address automatically' to 'Use the following DNS addresses' and enter the following address '192.168.131.254' and reboot.

21. I cannot use the ESC and TAB keys in Virtual PC, how do I get them working?

You need to make a Software Allow Policy in Windows Vista or 7. To do this open Administrative tools, Local security policy, Software Restriction Policies, Additional Rules. Create a new rule for %appdata%\microsoft\vritual pc\vpckeyboard.dll and set it to Unrestricted. Restart Virtual PC.
If you do not have a Local security Policy, then delete the Options.xml file in %Appdata%\Roaming\Microsoft\VirtualPC folder.