A real workaround for the 8GB limit on older Macs

Jun 07, '04 10:57:00AM

Contributed by: jhf

I've worked out a work-around for the 8GB limit for system volumes on older Macintoshes. I'm writing this on a Beige G3 with a 27G system partition, and I'm confident that it won't be rendered unbootable by system updates or disk activity (the reason for the 8GB limit in the first place). Most of the credit goes to Ryan Remple and his XPostFacto tool for installing OS X on older, unsupported Macs -- the 'trick' relies on using XPF's 'Helper Disk' feature. I haven't tried it, but I think it should also work on Macintoshes that are affected by the 8GB limitation but wouldn't otherwise need XPostFacto.

XPostFacto's Helper Disk was designed to make it possible to boot older Macs from Firewire drives; it works by making a minimal copy of the System files (technically: a bootloader, the kernel, and some extensions) to a disk partition your Mac could normally boot from -- this is the helper disk -- but pointing this minimal system at the (otherwise unsupported) 'real' system volume. The minimal system includes the OS X disk drivers, so once it's been started off the helper disk, it can fully use any disk OS X supports to finish starting up -- including the parts of drives over 8GB. This might sound familiar to Linux users -- it's the same idea as the /boot partition Linux distributions use to get around the 1024 cylinder limit on older PCs.

There's one major snag: The OS X installer enforces the 8GB limitation, so you can't normally install OS X to a large partition. This can be worked around by backing up a supported install, repartitioning, and restoring to the new large partition. It's a pain, but it works. The biggest problem is finding somewhere to put the backed-up system while repartitioning.

[robg adds: Please read the entire hint, including the issues section at the end, before you decide to try this with your older Mac. There are some constraints that you'll want to consider before you dive into this project.]

Before starting, it's a just a generally good idea to make a bootable OS X CD. I was pleased to see that BootCD now supports Panther. Something I didn't do, and wished I had: when prompted to add applications to the CD, add XPostFacto. I've found I need both XPF versions 3.0a15 and 3.0a17. You should have a OS 9 CD, too. You can get along without it, but it means wasting disk space. Once you've got all that, here's how to do it:

  1. If you want to install fresh, do that first. The OS X installer will enforce the 8GB limit as usual, so keep your partition under 8GB.
  2. Backup your OS X install. It's best if this is done while booted from a CD or another disk. I made Disk Utility disk images from the Panther installer and saved them to another drive.
  3. Repartition your disk. You need one partition under the 8GB boundary big enough to hold an install of OS 9 (or OS X if you don't have OS 9), with some room left over -- this will be your helper disk, too. Everything else can be one big partition, or however you like. If you have to put OS X here, you can do a minimal custom install -- you only need to boot this system to run XPostFacto.
  4. Restore your backup to the big partition you made for OS X. I just restored the disk image I made using the 'Restore' tab in Disk Utility.
  5. Install OS 9 (or whatever) to the first, little partition. Boot this system, and run XPostFacto, selecting the big OS X partition to boot from, and the little partition as a helper disk, and press reboot.
  6. You now have a working OS X system partition above 8GB. If you can't get your system to boot, it's a problem with XPostFacto, or with your restored backup. If it's the former, the answer can probably be found in the XPostFacto forums; try the "fix permissions" menu item in XPF version 3.0a17 first though.
  7. Once you get your restored system booted, it's a very good idea to use Disk Utility to repair permissions.
  8. There's one more thing: after any system update, you need to run XPostFacto again to resync the helper disk with the 'real' system partition. XPostFacto should remind you to do this while you are updating, but if you don't get the prompt and are in any doubt, run XPostFacto before rebooting.
There are some caveats -- when a major OS X update is released, (like 10.4), the Apple installer will again refuse to upgrade your "above 8GB" partition. Sometime when I can spare $10 (for posting access to the XPostFacto forums), I'll ask Ryan Remple if it's possible to 'fake out' the OS X installer into thinking the 8GB limit doesn't apply -- until then, you'll have to do the backup-and-restore shuffle twice to update an existing system, and then there's the problem of getting your system shrunk down to fit below 8GB for the upgrade.

Also, if your system doesn't normally need XPostFacto, it will now be tied to it -- once Tiger is released, you may have to wait a few weeks or even months for XPF to catch up. You might not -- the Helper Disk function should need few if any changes -- but the extra drivers for old hardware may cause problems with the new system until they're updated, even if you don't have the old hardware. I don't know of anyway to keep the drivers from being installed, but it's probably possible.

With all the problems that come with this trick, it won't be worth the cost for some people. If most of your disk space is taken up with pictures and movies -- user data, in other words -- it's easy to just keep them on a separate partition. Other people (like me) are already using XPostFacto, and/or are nearing the limits of the 8GB partition with just applications. Also, I think if enough people pay the $10 for the privledge of begging Ryan Remple to fix XPostFacto for this purpose, he might do it. :-)

Comments (4)


Mac OS X Hints
http://hints.macworld.com/article.php?story=20040604012923908