Home  |  Troubleshooting

Virtual PC Troubleshooting


Hard Drive Images
Multi-button and Scroll Mice

    Troubleshooting Introduction

    If you are having problems with Virtual PC, an emulated OS or application, or compatibility with a particular piece of hardware, let us know. We will try to help you out or hook you up with other users who have run into similar problems.

    There are a number of places you can turn if you’re having problems with Virtual PC:

    1. The official Connectix Virtual PC support site features a searchable database of common problems and solutions.
    2. The Virtual PC Central forums allows you to discuss issues with other Virtual PC users.
    3. Email us here, and we’ll try to help you out.

    Hard Drive Images

    A number of VPCCentral readers have emailed with questions about Virtual PC hard drive image limitations. Most of the confusion results from an incomplete understanding about hard drive terminology and technology. I’ll try to clear up some of the confusion.

    A hard drive is a block device storage medium. That means the information is stored in blocks that have individual addresses. In the case of hard drives, these blocks are usually referred to as sectors. In the case of IDE drives (the type typically used in PCs), each sector holds 512 bytes. Given the size of today’s hard drives, there are a lot of sectors on a typical disk! Reading data from or writing data to a hard drive is accomplished by specifying a particular sector number. The first is numbered zero, and the last is determined by the size of the hard drive.

    It’s the operating system’s job to impose some order on the hard drive sectors. For example, the OS needs to keep track of which sectors are related (e.g. contain data located within the same file) and which sectors are unused. The way the OS accomplishes this is by chopping a hard drive into pieces called partitions. Most hard drives have just one partition, so users often confuse the two. Partitions are also sometimes referred to as volumes. For example, if you have a hard drive with two partitions in a PC, the first volume will show up as the “C Drive” and the second will show up as the “D Drive”. Already we see why some of the confusion occurs with Virtual PC. The program itself attempts to hide the distinction between hard drives and partitions; the PC Settings window refers to the hard drives as the “C Drive”, “D Drive”, etc. These would more accurately be referred to as “Drive 1” and “Drive 2”. If “Drive 1” contained two partitions, they would become C and D.

    The operating system stores information about the paritions in the first several sectors on the disk. This area is known as the partition table. It records where each partition begins and ends and the type of volume format used for each partition. The volume format is determined by the file system used to access the information on the volume. A volume format typically includes a way to track logical groups of sectors that together make up files. For efficiency reasons, many file systems always allocate hard drive space to files in increments of more than one sector. Typically, files grow by a larger value (always a power of two). This value is known as the allocation block size or the cluster size. For example, if the cluster size were 16K, a file that contains just one byte of information would still take up 16K (or 32 sectors) on the hard drive.

    Included with most volume formats is the ability to keep a hierarchical list of files and directories. Associated with each file is a set of clusters that make up the file. One way of storing this information is in a simple table — a file allocation table. In fact, the most popular volume format in the Windows world is commonly referred to as FAT (short for file allocation table). You may have heard about FAT16 and FAT32. The number indicates the number of bits used to address the clusters. Because a 16-bit number represents values between 0 and 65,535, a FAT16 volume is limited to 65,536 clusters. Now you see why file systems use a size larger than a single sector for clusters. If a cluster were just one sector, a FAT16 volume would be limited to 32K! However, if you make every cluster 32K, FAT16 supports a 2GB volume. In fact, 2GB is the biggest volume FAT16 supports. This is why FAT32 was designed.

    With FAT16, the cluster size needs to be chosen very carefully. If it is larger than necessary for a given volume size, there will be more wasted space (remember than one-byte file I mentioned above?) With real PC’s, it’s always best to choose the smallest possible cluster size for a given volume because the hard drive size will never change. However, Virtual PC allows users to expand their hard drive images. The expansion of images is often limited by the cluster size. Typically, a FAT16-formatted volume can be increased in size up to the next power-of-two size. You’ll notice that your 513MB drive image cannot be expanded beyond 1024MB. Now you know why.

    Pictorally, the drive expansion process can be shown as a two-step process. First, the media is increased is expanded, then the single volume is expanded. Note that Virtual PC is only able to expand hard drives that contain either a single FAT16 or FAT32 volume.

    The “drive expansion” process described above shouldn’t be confused with the dynamically-expanding drives introduced in Virtual PC 4. I’ll talk more about these at a later date.

    What are the absolute limits on hard drive images within Virtual PC? In VPC 3, the limit was 2GB. Connectix had a good reason for sticking to a 2GB limit in the VPC 3 timeframe. Until recently, the MacOS limited file sizes to 2GB. With the advent of MacOS 9.0 and VPC 4, you can now create drive images up to 128GB in size! The limit this time is imposed by the IDE drive standard. The IDE interface uses a 28-bit number as a sector address. This means drive can be up to 2^28 * 512 bytes in size (which turns out to be 128GB).


      There are at least four different ways to print within Virtual PC, making the process of setting up a printer very confusing.

      Here are the four ways I know of. Each one has pros and cons, so read all of them and then determine what method will work best for you.

      Printing Methods in Virtual PC

      • Directly through ethernet. This is only useful for printers that are visible on the LAN (the local network).
      • Directly through USB. This is only useful for USB printers that have PC drivers. It requires that you “attach” the printer to VPC, detaching it from the MacOS while VPC is running. You can do this through the USB panel in the PC Settings dialog.
      • The last two methods use an emulated parallel port for printing. To use these methods, set up the PC to print to LPT1 (that’s PC speak for the parallel port). By default, Connectix ships VPC to use this method. The reason this is actually two different methods is that VPC handles PostScript differently from non-PostScript. In both cases, VPC will redirect the information being printed out to the current printer in the Chooser. (Note that the first two methods above allow you to print to a printer other than the one selected in the Chooser.)
      • If VPC detects PostScript output to the parallel port, it will send it directly to the PostScript printer chosen in the Chooser. If the currently chosen printer is not a PostScript printer, VPC appears to ignore the printed data.
      • If VPC doesn’t detect PostScript output, it assumes you are printing to an Epson printer and interprets the output as such. It re-renders the output data using the Mac's print manager. This allows VPC to print to any printer supported by the MacOS - even if there are not drivers on the PC side. To configure this option on the PC side, tell Windows that you're using an Epson printer. (Connectix sets one up for you by default if you bought Windows with VPC.) VPC's built-in Epson emulation will do the rest.

      Multi-button and Scroll Mice

      VPC 4 supports three-button and scroll mice. However, configuration can be challenging because there is no standard on the Mac for interfacing to multi-button mice.

      If you’re having problems, the first thing to try is to update to the latest software for your mouse. You should be able to download this from the web site of your mouse manufacturer.

      If you’re using USBOverdrive (a popular mouse driver replacement), you need to make a small configuration adjustment. Because the MacOS doesn’t have direct support for two-button or scroll mice, USBOverdrive works around this by simulating a right click with a control-left-click action. VPC 4 is smart enough to directly talk to the Intellimouse, but not if USBOverdrive is intercepting the events. To make VPC 4 work with USBOverdrive, create an application-specific setting for VPC in the USBOverdrive control panel. Then tell it that it should “Do Nothing” within VPC when the middle or right buttons are pressed or the scroll wheel is used.

          Return to Virtual PC Central home page