Boot Camp Drivers from OS X
January 17th, 2008 by Ryan GovostesWindows and I don’t have a very friendly relationship. Over the course of a year, I might reinstall my copy of Windows XP SP 2 half a dozen times because, inevitably, some .dll, .sys, or .act file has managed to ruin it for everyone by going and getting corrupted. This has happened so many times that I now have to call Microsoft every time I want to activate Windows (twice for each install, since I also use VMWare) and listen to a bot read off a thousand-digit number in groups of five.
The most recent argument between Windows and me happened on Tuesday; an annoying freeze led to a nightmarish six hour battle. Sadly, Windows emerged the victor by dying completely and thoroughly. Time for a reinstall, which means tracking down all of the .dll, .sys, and .act files that I need…
As you may know, Boot Camp comes with drivers to increase compatibility with Apple hardware. During the betas, they were stored in a disk image inside the application bundle; in Leopard, the drivers are stored on the Leopard install DVD. The DVD is a hybrid disc, meaning it has partitions for both Windows and Mac OS X. By default, OS X will only mount the HFS+ partition (containing the installer), and Windows will only mount the ISO 9660 partition (containing the Boot Camp drivers).
So if you don’t have your install disc and no writable DVD-DL is within arm’s reach, is it possible to get OS X to mount the ISO 9660 partition from the ADC disk image and copy the drivers to a thumb drive? Indeed it is.
(As an aside, you can view the partition map of the disk image by running hdiutil pmap2 leopard_9a581_userdvd.dmg)
If we use hdiutil to attach the image as a block device, it’s possible to get the ISO 9660 part to mount by using the cd9660.util program.
$ hdiutil attach leopard_9a581_userdvd.dmg -nomount expected CRC32 $0108CBDC /dev/disk3 Apple_partition_scheme /dev/disk3s1 Apple_partition_map /dev/disk3s2 Apple_Driver_ATAPI /dev/disk3s3 Apple_HFS $ mkdir /Volumes/Drivers $ /System/Library/Filesystems/cd9660.fs/cd9660.util -m disk3 /Volumes/Drivers
And when you’re done:
$ umount /Volumes/Drivers $ rm -Rf /Volumes/Drivers
That’s all for today. If you need me, I’ll be on the phone with Microsoft…
February 24th, 2008 at 7:58 am
Thanks a lot! Very useful.
February 28th, 2008 at 10:28 am
thanks I nneded those drivers but didnt know they were on the boot camp image
March 19th, 2008 at 10:03 am
[…] service pack through its beta period with interest. As I’ve mentioned before, Windows and I don’t always see eye-to-eye, so I decided it best to refrain from installing an unstable, pre-release quality operating system […]
March 26th, 2008 at 4:42 am
[…] some googling, I found that blog entry that saved the day for me. Credit should go where it’s […]
March 26th, 2008 at 8:13 am
Thx a bunch. Helped a lot!
April 6th, 2008 at 4:24 pm
It works great! Thank you so much!
June 3rd, 2008 at 5:41 am
Thanks! You should probably mention that you need root access to do this.
The command “sudo su” gives you super user privileges.
June 9th, 2008 at 2:50 pm
Manuel — You shouldn’t need root access, though I might be mistaken.