Print from Windows 7 to a Mac Shared Printer

I recently upgraded my wife’s laptop from Windows Vista to Windows 7 Home Premium. (The laptop manufacturer sent us a free upgrade coupon since we purchased it not too long before Windows 7 was released.) This morning she discovered that she can’t print to the Canon MP830 that is shared from the G5 Mac (running Mac OS X 10.5.8) in our living room. In Vista, I had it working via Bonjour. I’ve now learned a little too late that Bonjour doesn’t work in Windows 7. (see UPDATE) I googled for a solution, but all I was able to find was a bunch of other people complaining about the same thing: printing from Windows 7 to a printer shared from Mac OS X wasn’t working as it had been in Windows XP or Vista.

Not to worry, though. After about 30 minutes of trying various solutions and just poking around in Windows 7, I found that the solution is pretty simple. The following procedure assumes you already have Printer Sharing enabled on your Mac. Continue reading

Boost VirtualBox disk I/O for Windows VMs

I picked up a VirtualBox Windows VM optimization tip from the MacEnterprise mailing list this morning, supplied by Yadin Flammer. Yadin mentioned that switching your Windows VM’s disk type from the default IDE to SATA and using the Intel Matrix Storage drivers results in faster hardware emulation. I decided to verify this claim by collecting some before and after I/O data. I have a Windows XP VM, but this should apply to all versions of Windows from 2000 onward, both server and client.

I used the freely-available Iometer to gather my disk I/O data. Both the before and after tests were run for 5 minutes on an ~ 3GB test file using the All-In-One test suite. Here are the results.

iops-chartAs you can see, the data clearly shows a slight increase in performance. Using SATA is actually recommended by Sun, as well. On this page, they say,

Like a real SATA controller, VirtualBox’s virtual SATA controller operates faster and also consumes less CPU resources than the virtual IDE controller. Also, this allows you to connect more than three virtual hard disks to the machine.

Makes sense, no? In terms of MBps, my IDE test averaged 17.925 while my SATA test averaged 18.828. Now that we know it’s better, we’ll move on to the installation and configuration procedure.

Installation and Configuration

vm-settings

  1. Shut down your Windows VM and open its settings window (shown above).
  2. Select the Hard Disks item, check Enable Additional Controller and choose SATA (AHCI) from the list.
  3. Leave the Hard disk attached to the IDE Controller in the Attachments section for now, since we’ll first have to install the SATA drivers, and click OK.
  4. Start up your VM again and download the Intel Matrix Storage Manager drivers. Click the link, select your Windows OS version, click Go, and then click the first download link in the Drivers section. Mine showed up as link #1. Save it to your desktop, and then install it. NOTE: If you are given a warning about not meeting the minimum installation requirements, you may need to download and install the Intel Chipset Software Installation Utility first. Follow the same download and install procedure as for the storage drivers.
  5. Once the drivers are installed, shut down your Windows VM and open its settings window.
  6. Select the Hard Disks item as before, but now select SATA Port 0 next to your VM’s .vdi file in the Attachments section.
  7. Click OK and then start up your VM.

… And boom goes the dynamite.

Keep Your Mac and Windows Boot Camp Clocks in Sync

If you manage dual-boot Macs, or even just have your own dual-boot Mac, you may have noticed the annoying tendency of your Mac clocks to be incorrect when you reboot from Windows into Mac OS. This occurs because the Windows internal clock uses the local time zone to manage its time while Mac OS internal clock uses GMT.

As posted in various forums and sites, the solution is to modify the Windows Registry as follows.

  1. Launch regedit.exe.
  2. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation.
  3. Create a new key called RealTimeIsUniversal (case-sensitive!)
  4. Give the key a DWORD Value (displays as REG_DWORD) of 1.

If you’re not comfortable modifying the registry by hand, I’ve created a registry patch file that, when double-clicked in Windows, will make the modification for you. (You can verify the contents of the patch by opening it in Notepad.) Download the patch here.