Triple Booting an Intel Mac the Right Way
Miah Clayton writes "In the past, installing Mac OS X, Linux, and Windows on an Intel mac meant that you were forced into only having 3 usable partition slots due to the MBR/GPT hybrid limitations. Steven Noonan figured out a way to avoid dealing with the MBR partition limit and have a Linux install that isn't performance-crippled by having a swap file instead of a swap partition."
I was under the impression that modern Linux kernels had negligible performance impact from using a swap file as opposed to a dedicated swap partition.
Personally, I much prefer using a swap file because it gives me more flexibility in locating, resizing and moving swap.
I will, along with my job.
Since Windows even now only recognizes the Master Boot Record (MBR) format
This is untrue. 64bit versions of Windows support GPT, as do versions newer than Vista.
Also, I don't have a problem using a swapfile. I see no performance difference at all.
Ballmer, is that you again? Stop it, or we'll cut off your coffee allowance again and lock you in the special place. I mean it this time...
It's the Stay-Puft Marshmallow Man.
As much as this will sound like a trolling post, it's not... what is the point of buying a Mac and then triple booting OS X, Windows, and Linux? It seems to be that Linux and OS X are redundant, not to mention that most things you can run on OS X can be run on Windows as well... why buy the Apple hardware?
The only reason I can think of is the image of the Mac, honestly. If there were major redeeming qualities of OS X (especially as compared to Linux?), I could understand that as well, but I am not aware of them (granted, I don't use Macs much, but if you're going to install a Unix based OS, Linux, in addition to a Unix based OS, Mac OS... hm!).
Or am I missing something - i.e., Apple hardware actually is that much better to warrant a higher price tag? Back when they were using RISC based processors, I would readily believe that there might be a difference... but now that even the CPU architecture is the same (Intel...) ... ?
Maybe you could just change the Windows partition type to Linux swap and use that!
Buy or build a system with a four core processor and 4GB of memory with 4TB of storage with 4x something else, call it a Quad-Quad system. Install the OS you like the most on the system, Install VMware, install the other two OSes you want inside VMware, and you can run ALL THREE AT ONCE!!!! OMG!!!
Tsukasa: All I really want, is to be left alone...
I am not an enthusiast of anything. I like my Mac for a few reasons, but the purpose for triple booting is a sole one: I am a developer. I need the ability to cross develop. And I need to do it on the run, since I am very seldom in a fixed position for more than a few hours. Therefore, I need to use a laptop for most development. This is not an ideal situation, ever. Laptops notoriously have smaller HD sizes, more RAM restrictions, slower processors, and, typically, integrated graphics. With these limits, using VMWare Fusion (which I own and still use for certain things) carries an unacceptable overhead. It also occasionally interprets OpenGL and DirectX improperly, which is not an acceptable scenario as a game developer. The ability to genuinely triple boot allows me to remove the RAM and CPU overhead caused by booting as a guess operating system. It has nothing to do with "Macs are awesome" and everything to do with "I can cross develop every major platform on one machine, and one I can be on the move with"
If you're going to triple boot...why not do it on a Dell? That's what I do. I think I have booted into Vista and OSX twice each.
What's the point with VM software these days like VM ware or Parallels? We use intel macs as our primary development platform. Why? Paraellels allows us to have OSX and then boot XP Pro, Vista, Linux, BSD, and OpenSolaris with a double click of the mouse. We've found it much of efficient to use VM's for this kind of stuff than boot camp or triple booting because we can change environments with a mouse click, not a restart. And then if something does go heywire, we can kill the VM from inside OSX usually. Hell I have OS 10.5, XP Pro, and OpenBSD open right now on my MacPro.
Part of the reason of buying the macs was so we could easily test products across various platforms and no bitching from our developers. They want to use Kdevelop for a project, fine, install the Linux flavor of your choice in Parallels and go. Want to use Visual Studio, fine, boot up windows and run visual studio, not a problem. Want to use BBedit or Textmate and go, again, not a problem.
Triple booting maybe cool for an experiment, but these days, VM makes it far easier for most tasks to just double click and go.
"The problem with socialism is eventually you run out of other people's money" - Thatcher.
A variation on this has been available at the OnMac forum for over a year now: http://forum.onmac.net/showthread.php?t=2793 (Alas, the forum has pretty much become overrun with spam, and the administrator has been MIA for quite some time... so it's fairly difficult to find anything new over there these days.)
he stated up front he wanted to test on all platforms...
Indeed it's been a long time since that wasn't the case. Since the 2.6 Kernel came out basically. Here's the lkml thread on it. http://lkml.org/lkml/2005/6/29/11 and http://lkml.org/lkml/2005/7/7/326 are the two posts. The latter is more informative, the former is definitive and clearly shows Andrew Morton is the one saying that part too. This is from 2005 folks. Someone notify the submitter. That is of course unless you don't trust Andrew Morton to know what he is talking about. And just because this comes up every once in a while, googling for linux swap file performance finds that post easily.
There is a more flexible solution, though admittedly more complicated. The trick lies in the fact that OS X needs a GPT at the installation stage, but not later.
So you create up to 4 partitions in GPT mode with BIOS compatibility. You install OS X in the third partition, the first being the EFI one and the second the sum of the space you'll give to the first and second later.
You install refit in the OS X partition to be able to boot later on and then you suppress the first, second and fourth partition after having carefully recorded the start and end of the third.
You then initialize a new (BIOS) partition table on the disk and you create 3 primary partitions and one extended. On the two first primary you can install any windows you want, and if you recreated the third exactly where the OS X one existed, your OS X shall be fully functional.
On the extended partition, you create then as many logical partition you want, each able to host a linux OS or a NTFS or HFS data store.
The only caveat is that refit seems to not fully honor all the partition mbr after you write on the disk mbr. So don't write on the disk mbr, but always on the partition one or otherwise, only the last installed mbr will be used (which is fine if it contains a jump to all the OS like Ubuntu does).
Two things that I left out:
Obviously after that all OS X update of the Apple Efi shall fail because there isn't an Apple Efi anymore.
The second one is way more tough: how to format that disk, how many partition of which size?
With current memory prices, what is the point of bothering with swap on a laptop?
For one thing, a motherboard might not be able to take large enough RAM modules to make Windows Vista work efficiently. If each of two slots can take up to a 512 MiB module, you aren't going to get the 2 GB you need for Vista. For another, you need a swap file to back up RAM should your laptop's battery run out while it is on standby.
There is nothing you can't do with a Mac, in OSX alone, that you can do with any other OS.
If you play a wide variety of proprietary games on a computer, you need either Windows or some sort of Wine hackery. How far has Darwine come? Or do you fall back on picking another title in the same genre? Or if you develop software for clients who use an operating system other than Mac OS X, you need to be able to test that software on the operating system that they use.
But really the question is "why multi-boot"? With VMWare Fusion on the Mac, I really don't know. Just run Windows applications side-by-side with your Mac ones in OSX. Run an entire Linux development server in a virtual box.
In order to keep a Windows and Linux session open at the same time as Mac OS X, I'd need to multiply the RAM by 3. How much RAM can one put into an iMac, Mac mini, or MacBook?
I provide software and hardware support for a college campus that has a range of operating systems and application packages. I'm running a Mac that I managed to get to boot in OS 10.4, OS 10.5, Win XP and Vista.
It took a bit of finagling to get the quad boot setup to work because the copy of Vista I had didn't want to install after 10.4, 10.5 and XP were in place. I eventually had to pull the drives for 10.4 and XP to get it to work.
It wasn't the most elegant solution but it worked.
...to having only three partitions. You have always been able to redo the partition scheme any way you want after setting up the two (or three) initial partitions. Same goes for people who keep insisting that if you want to use Bootcamp you can only have a single partition for OS X - wrong. You can change the size of this partition after Bootcamp installation and insert as many more as you want.
But I suppose it has been "impossible lol" if you're a computer neanderthal.
"special place"? I assume you're talking about a room with no chairs (aka: Ballmer's hell).
I've actually done that (using a ramdisk, albeit, a true SSD, for the job - &, it works)!
(& it does even BETTER than moving your pagefile.sys to another std. mechanical HDD does (or in the case of Linux, a swap partition, which is how I do that on NT-based OS as well, albeit onto this SSD) which DOES work for better performance by NOT burdening the MAIN disk you house your OS &/or programs on typically!)
Fact is, I've been stating folks do that for more than a decade now online, first back as far as 1997 in NTCompatible.com's ARTICLE #1 & far before that on forums boards online, for improving NT-based OS' performacne... & it works, as the init. poster stated (IF users have more than 1 HDD online in their systems)
It does make sense, &, it DOES WORK FOR BETTER/FASTER PERFORMANCE!
How?
I.E. -> Let your main disk perform program & data loads of things you actually use, while the read/write heads of another disk do paging (& in my case, I also put over %temp/tmp% ops, webbrowser caches, logging from the OS + apps onto it as well (on another partition on my SSD, the first partition is the pagefile.sys)).
E.G.-> I do this, via a piece of hardware called a CENATEK "RocketDrive", a TRUE SSD (uses faster RAM for writes than FLASH SSD's use, in PC-133 SDRAM, & the PCI 2.2 bus (133mb/sec speed) is what it uses, & it is the ONLY piece of PCI equipment in my machine now in fact, so it has the entire bus to itself, w/ out contention from other devices on said bus)
It's FAR faster than Flash-based SSD solutions have, & mainly faster in write performances!
(Which FlashRAM based SSD ramdrives are far slower at... write performances!)
Now, some folks using Flash-based SSD's have used more than 1 of them, putting writes onto 1 flash SSD, & reads onto another flash SSD ( & iirc, it was IBM or SUN Microsystems who have done so) to GOOD effect actually with FLASH based SSD's (using 1 disk for reads, & the other for writes)... So, it's not "impossible" to get decent write performance outta them, by simply splitting up where you read to, AND, where you write to...
IBM & SUN have begun to use this as well, & yes, it works!
(For databasing, which was one of my suggestions in an article for EEC Systems/SuperSpeed.com while on paid contract to improve another of their wares in SuperCache I & II, which I increased the performance of it by up to 40% via creating a tuning engine for it which they bought out the code from myself on - I did the added research for ramdisks & Database tables/devices as well, & it worked out for they as a performance enhancer also)
However, my approach only requires a single unit, the CENATEK RocketDrive, for better performance - not more than 1 unit as IBM &/or SUN have done to offset the delay in writespeeds that FLASH based SSD's incur...
Fact is?
My ideas for this were first written up for SuperSpeed.com, on their website, alongside the likes of Mr. John Enck who is one of Windows IT Pro magazine's technical editors (SuperSpeed.com was then EEC systems circa 1996-2002 or so)... & my ideas for using SSD's for DB work took them to a finalist position @ Microsoft Tech Ed 2000-2002 (two times in a row in fact), in the hardest category there:
SQLServer performance enhancement.
This works, simply thru reduction of latencies AND placing reads/writes such as webbrowser caches, pagefiles, logging, & temporary ops onto it, taking this burden off the main HDD (which is far slower anyhow, so, every little bit helps here!
Now, so you know?
There's even a better TRUE SSD out there than mine, & it has been out there for years (not FLASH based stuff that's slower on writes than "real SSD's" are) called the Gigabyte IRAM (uses faster ram, DDR iirc, & a faster bus in SATA 1 150mb/sec transferral rates)...
APK
P.S.=> Using a TRUE SSD for both taking away things like webbrowser caches,
I'm not convinced that this is noteworthy. I mean, this occurred to me when I was setting up a triple boot. Using the Linux kernel's gpt support is simply using the right tool for the job.