Virtual Computing With Parallels Desktop
Volume Number: 22 (2006)
Issue Number: 11
Column Tag: Virtualization
Virtual Computing With Parallels Desktop
How to leverage Parallels Desktop for Mac to run Windows and Linux VMs
by Mary Norbury
Buzzword
Why is virtualization becoming the new industry buzzword? It's certainly not new. IBM has been developing virtual machine systems since the mid-1960's when they virtualized server memory. In the mid-1980s, we saw CPU and I/O virtualization and the 1990s brought the technology to open (Unix based) systems. Cluster and grid computing have long provided resource virtualization solutions. Linux distributions such as Novell, Redhat and Sun are embedding the Xen VM (virtual machine) monitor into their enterprise server editions. With Microsoft also entering the virtualization arena with its acquisition of Softricity and partnership with Xen through Xensource, the market is heating up with new possibilities and choices.
Enter Apple with their new Intel line of mobile, desktop and server computers and virtualization comes to the Mac.
Apples and Oranges
It was no surprise that Apple introduced Boot Camp; clearly someone was going to accomplish booting Windows natively on an Intel Mac so it made sense that Apple created their own neat solution. This had such a major impact on how Mac users view Windows interoperability that Microsoft will no longer offer upgrades or full releases of Virtual PC for Mac. Emulation is out because we don't need it anymore.
Installing Boot Camp is a bit more difficult than Parallels and there are some pitfalls: you can't install it on your Mac if you've already got a partition so you'll need to restore it to a single volume; you're limited to creating a static partition less than 32 GB and formatting it as FAT32 rather than NTFS if you want to write to the partition after installing Windows (if it's larger than 32 GB then you'll have to format it as NTFS and it will then become read-only for Mac OS X); the partition you create is static in size; you can only install Windows XP Pro or Home and you can't multi-boot different versions of Windows since Boot Camp only supports dual-boot [Ed. Note - but you can overcome this: see Criss Meyers' article, "Triple Boot Your Mac" in this month's issue!]. The newest beta of Boot Camp v.1.1.1 fixes some bugs, adds support for the Mac Pro line and includes a preset button for the 32 GB size option. You can upgrade your existing Boot Camp install as long as you don't intend to change the partition size (http://www.apple.com/macosx/bootcamp/).
This begs the question about installing Linux on Intel Macs using Boot Camp. This is possible, but creating a bootable Linux partition is a bit trickier because you want to make sure you don't change the partition table during install; Boot Camp creates a hybrid partition table where XP's legacy MBR (Master Boot Record) and the Mac OS X GPT (GUID Partition Table) can co-exist and play nice. Since Boot Camp was only intended for an XP dual boot setup, adding Linux can be a challenge. But to nitpick, Mac users have been able to dual boot Yellow Dog Linux on PowerPC's since 1999 so the Intel Mac and Boot Camp complicate the Linux experience rather than enhance it.
On the other hand, Boot Camp is undeniably faster than Parallels because it runs natively and gives Windows full access to the CPU, graphics and other hardware. Parallels is a virtual machine environment and therefore only sees a dual core system as a single core with an 8 MB graphics card, no matter how good of a video card you have installed.
Why Be Limited To Windows?
A colleague and MacTech author Dean Shavit, who writes "The Source Hound" column, states in his bio that he hates to pay for software. Hmmmm...well, we're all for "free," and feel especially blessed when, on rare occasions, "free" equals "awesome". Boot Camp is free and fast and pretty damn good....but Parallels Desktop accomplishes more than allowing a dual-boot with Windows XP or a difficult triple boot system with Windows XP and Linux. With Parallels, you can run multiple virtual machines simultaneously and you don't have to boot the Host (Mac OS X) OS. You aren't limited by your personal choice of operating system. You can move seamlessly between Host and Guests. Is this worth paying for? Hell, yes.
Nitty Gritty
Parallels Desktop for Mac is available from http://www.parallels.com with a trial key or purchase for $79.99.
Download the package and follow the instructions for installation. Launch Parallels.app and select the New VM... button to create a new virtual machine. You'll be asked which type of VM configuration you want to create (typical, custom or blank). The Configuration Editor can be used later to reconfigure settings.
Choose the Guest OS type and the version:
Figure 1. Create a new VM and choose configuration type
Figure 2. Choose the Guest OS type and Guest OS version
Name your virtual machine and choose a location to save the configuration file (let Parallels Desktop create the .pvs VM config file for you automatically). Two files make up a VM: the .pvs configuration file and a hard disk image file. Parallels Desktop can run one VM (or one config file) at a time. Launch Parallels Desktop for each individual Guest OS.
Figure 3. Virtual machine name and configuration file location
In the Property Page, you'll activate Parallels Desktop (Help - Activate Product...) with your trial key or your full registration activation key. Then, still in the Property Page, you'll make some changes to enable booting from your guest OS install CD. Under Configuration, locate the Guest OS line under File Location and click on the Boot Sequence link to open the Booting Options tab.
Figure 4. Property page
Choose the radio button to boot from the CD first.
Highlight the CD/DVD drive in the Resource pane and make sure the device is enabled and will connect at startup. If you are installing from an .iso image, an .img or an .fdd (floppy disk image), select the Use image file radio button and specify the path to the distribution file in the image file field that appears when the image file radio button is selected.
Figure 5. Change booting sequence in Configuration Editor
Select the Memory option in the Resource pane and adjust the memory allocation. Windows XP or Server 2003 will run best with a minimum of 512 MB. Give it as much as you can afford. If you have 2GB RAM on your OS X system, give the VM 1GB. Linux flavors will demand less (256 MB minimum).
Highlight the Hard Disk Resource in the left pane and choose the Advanced tab. You'll see that my choice of a Typical creation of a virtual machine set the virtual disk size as 8000 MB with an expanding format. Note that the actual size of the disk image file (after full installation) is 1330 MB but will grow as new data is added so you don't have to worry about allocating enough hard drive space to the virtual disk before installing.
Figure 6. Adjust memory allocation and check hard disk options
Click the OK button to return to the Property Page. Click the Save button along the bottom of the window to save the VM configuration. Insert your guest install CD and click the green Power On arrow button to boot the VM and begin install. Parallels Desktop will detect the CD and start installation.
Figure 7. Windows Server 2003 installation
During any Windows OS installation, you'll be confronted with the Microsoft Licensing Agreement screen, which requires an F8 key input to agree to the terms in order to proceed with the installation. On laptops, this is accomplished by enabling the "Use the F1-F12 keys to control software features" in the Mac OS X keyboard pref pane. Once enabled, you can use the fn-F8 key combination to agree to the MS Licensing Agreement and complete the installation. On desktop models that come with the Apple Keyboard, simply turn off (deselect) the F8 keys shortcut in the Keyboard Shortcuts pref pane and the F8 key will be functional in the Guest OS window.
Figure 8. Windows Server 2003 booting up
Once installation is finished and you've created your account information, you can log into your new Guest OS by sending key combinations through the VM menu (Send Keys - Ctrl+Alt+Del). Start and stop the Guest OS by using the Power On (green arrow) and Power Off (red square) buttons on the toolbar on the right edge of the Parallels Desktop window (you can move the toolbar to the top or the left; go to Preferences - User Interface).
The next practical step is to run the many Windows OS patches from Internet Explorer (Tools - Windows Update from the IE menu bar), turn on automatic updates (Start button - Settings - Control Panel - Automatic Updates), turn on the firewall (Start button - Settings - Network Connections - Local Area Connection - Properties button - Advanced tab - Windows Firewall Settings button) and install an anti-virus software package. But don't worry: even if your PC virtual machine gets a virus, it won't spread to your Mac host. If you take advantage of a shared folder, however, be aware that you are opening a tunnel between a low risk world and a high risk one. Viruses may not exist for Mac OS X right now but in the future, the operating system may become a bigger target by virtue of this new ability to become bedfellows with operating systems fraught with vulnerabilities. If you choose to run an alternative OS on your Mac and plan to share files, then practice safe computing: keep all operating systems and applications up to date, run appropriate anti-virus software (take a look at ClamXAV for Mac at http://www.markallan.co.uk/clamXav/, open source and free!), and close all but necessary ports.
After taking care of this business, you can install Parallels Tools (available from the VM menu) which provides: better mouse synchronization (you can move seamlessly between the Guest OS console and the Finder without using hot key combinations to capture or release input), enhanced video performance, time and clipboard synchronization, a disk compacting tool and a shared folders tool. You'll need to be logged in to the Guest OS to install Parallel Tools.
Figure 9. Install Parallels Tools
After completing the installation of Parallel Tools, shut down the Guest OS (do a graceful shutdown from inside the Guest OS or you may generate shut down errors when using the Power Off button in Parallels Desktop). You'll be returned to the Property Page. Click the Edit button on the bottom of the Property Page to return to the Configuration Editor. Highlight Shared Folders in the Resource pane on the left, select the checkbox for Enable shared folders and click the + button to open the Shared Folder Properties screen. Specify a Name and Path on your Mac OS X system for the shared folder (a shared folder on the Mac OS X desktop is convenient and sensible; create one if you haven't already done so) and select the Enabled option at the bottom left of the pane. Click the OK button.
Figure 10. Create a shared folder
You're now at the Property Page again: click the Save button along the bottom of the window.
Power on your VM and log into your Guest OS. You should now see a Parallels Shared Folder on the desktop. Double-clicking it will open Windows Explorer. You can browse and write to the contents of the share from there.
If you have View Hidden Files and Folders set in the View tab of the Folder Options in Windows, you will see OS X's .ds store files.
Figure 11. Shared folder
Or, you can write directly to the Windows disk. Each VM is assigned an independent IP address. Go to the Windows run line (Start - Run) and type cmd. At the prompt, type ipconfig and make note of the IP address. Enable a shared folder (My Documents on the Windows desktop, for example) and give yourself permissions to write to it. In the Mac OS X Finder, select 'Go' from the menu and choose 'Connect to Server'. Type in the VM IP address using the smb protocol (ex. smb://10.0.1.8). Click the 'Connect' button. Enter your Windows login and password with permissions to the share you created. Select the share in the next window and click 'OK'. The share will mount on your OS X desktop.
Another very cool feature is the ability to copy/paste between Mac OS X and Windows. No rebooting, no special keystrokes required.
You can also view devices connected to your system. Select VM in the menu bar and choose Devices.
Figure 12. List of devices seen by VM
Parallels Compressor is a tool that allows you to manage the size of your virtual hard drives. Select it from the VM menu and click the Manual button to control how the drive is optimized: Express or Advanced. The Advanced Option allows for fine-tuning level of compression.
Figure 13. Parallels advanced compressor options
Linux distros are handled with similar ease:
- Create a new VM with the default Typical VM Configuration.
- Choose the Guest OS type (FreeBSD) and the version (Other FreeBSD since I downloaded FreeBSD 6.1, in my example. Get it at http://www.freebsd.org).
- Name the Guest OS VM (FreeBSD) and save the configuration file.
- In the Property Page, under Configuration, locate the Guest OS line under File Location and click on the Boot Sequence link to open the Booting Options tab.
- Increase the default memory allocation to 512 MB.
- Select the CD/DVD Resource option in the left pane of the Configuration Editor and choose the Use image file radio button. Select the path to the .iso image file.
Figure 14. FressBSD image file
If you have not installed FreeBSD before, puhleeze read the handbook before and during installation: <http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install.html>
When installing packages, you will most likely have to switch "discs". Go to Devices in the Parallels Desktop, select the CD drive and choose the option Connect Image...
Figure 15. Swap image files when prompted
After successful installation, you'll see FreeBSD as your Guest VM.
Figure 16. FreeBSD virtual machine
Post Install Euphoria and Reality Check
Windows Server 2003 ran quite fast on my MacBook Pro (2.16 GHz, 2 GB RAM) and iMac (2 GHz Intel Core Duo, 2 GB RAM). I ran SQL Server 2000, a QuickTime movie, Photoshop and various Office 2003 applications on the Guest OS while working in Fireworks, Photoshop, Entourage and Keynote on the Mac OS X Host. No delays, screen redraws or other obvious hits to performance on either Host or Guest.
Both the Windows Server 2003 and FreeBSD VMs used the virtual network adaptor without any re-configuration. Despite being the latest update release candidate (build 1884, as of this writing), there are still some USB glitches (some flash drives and Windows mobile devices were recognized, others inexplicably not; several USB drives that were recognized would not display files on the drive). This build also boasts compatibility with the quad-processor Mac Pro, completing support for the entire Intel Apple line. I had a little difficulty with networking on a new Mac Pro (two 2 GHz Intel Core Duos, 2 GB RAM) but the Parallels Forum (http://forum.parallels.com/) had workarounds posted that solved this and a few other known issues. I'm confident that improvements to support for the Mac Pro will come quickly.
Setting up printing was simple. Since I experienced some USB device issues, I took the easy route and downloaded and installed Bonjour for Windows (from <http://www.apple.com/support/downloads/bonjourforwindows103.html>), turned on printer sharing in OS X and...it just worked.
Want to back up your VM? Just copy the .hdd and .pvs files from the virtual machine directory in ~/Library/Parallels/ and you're set.
One minor inconvenience is that you can't listen to audio CDs and you can't burn discs from within VM's but I don't consider this a deal breaker.
3D graphics support is one of the most popular feature requests so keep an eye out for future updates to Parallels Desktop to accommodate the gaming set.
Despite these few minor issues and inconveniences, Parallels Desktop is well worth its low price and the benefits of dead simple installation, admirable speed, seamless networking and - most importantly - the ability to switch instantly between host OS and guest VM's without a reboot.
The Future
At WWDC in August, VMware - the leader in virtualization software - announced a Mac port available later this year. VMware's entry into the Intel Mac VM market heats up the race to provide complete VM compatibility, performance and meet feature requests. It's always nice to have a choice and it's interesting that companies like VMware, who have a global presence, are keen on providing services for the OS X platform.
Early this year, MacTech ran my article on distributed computing, and I wrote: "Of note, virtualization technology is built into Intel chips which will allow the machines to be partitioned to run different types of software like Windows or Linux at once, on top of Mac OS X. And hardware virtualization enables a system to run at near full-speed." We're there now! So what's next? Will Apple provide native virtualization in 10.5? Will you be able to create a VM through an app in Utilities or through a pref pane? The future will bring Mac users more choices and more cross-compatibility with other operating systems.
Mary Norbury is IT Director at the Barbara Davis Center for Childhood Diabetes, an affiliate center at the University of Colorado at Denver and Health Sciences Center in Aurora, Colorado. She has extensive experience in cross-platform systems implementation and administration in the education sector. You can reach her at norburym@mac.com. (The XGrid and Tiger 10.4 article referenced is MacTech back issue Issue 22.02 and is also available in the MacTech 2006 Magazine Sampler found at http://www.mactech.com/sampler/)