I need to install Windows Vista and Ubuntu Linux Feist Fawn 7.04 on my brand new aluminum 24" iMac (Intel-based)...
My machine is equipped with four gigs of RAM and has a terabyte hard drive (one thousand gigs of storage space).
I already searched the web using Google and there's lots of mixed reactions and opinions. I also tried to search for this particular topic on this forum by using its search field but didn't find any similar postings (trying to display courtesy before asking common question(s) like these coming up).
Figured that since JDK 1.6 and J2ME is supported on Windows Vista and Linux, that posting this question on JavaRanch's OS X forum is justified.
(1) Am wondering what the *BEST* virtualization software is out for these purposes or should I just go for dual boot (using BootCamp)?
(2) Is it VMware Fusion or Parallels or BootCamp?
(3) Let say that I wrote a JDK 1.6 program or a J2ME app in NetBeans on Ubuntu Feisty Fawn (running in Parallels or VMware Fusion) would I be able to save the file in the emulated filesystem, close my virtual machine, and then at a later date, re-run the virtual machine, NetBeans, and re-compile / re-launch my program?
The reason I ask is because I read somewhere that these virtualization applications only save "snapshots" of a user's previous sessions?
you will not be spending money on virtualization software.
the "other" operating systems will often have better access to the hardware through bootcamp than through a virtualized system (e.g. my old copy of Parallels virtualizes the superdrive as a cd-rom - I intend to upgrade shortly to see if it is fixed in a later version (but upgrading costs money )).
your "other" operating systems will have total access to the CPU(s) - no competing for resources at the same time as OS/X
But it is not all one sided. Triple booting has it's own issues:
Hard drive sizes are pretty much fixed - for example, if you later decide you really needed more space for your Microsoft OS, you are probably going to have to re-install at least 2 operating systems (after repartitioning)
Installing a triple boot system is fiddly. Getting the partitions correct, making sure that they work the way they are supposed to, etc., is not a trivial task. Working in a virtual machine is much easier - you can usually just use whatever defaults are presented without requiring manual intervention
Adding more hard drive space to a virtual machine is easy
Running operating systems that are not supported by BootCamp should be possible (from memory, BootCamp only officially supports Microsoft Windows XP Service Pack 2 and newer versions of Microsoft Windows). There are other operating systems that you can install (e.g. Linux ), but you need to ensure that they are EFI aware and that they have been tested in at least dual-boot mode (unless you are feeling adventurous ). The virtual systems will let you run older versions of Microsoft Windows (I run Windows 2000 on one of my virtual systems) and can in theory run any OS that can run on an Intel PC.
I have not heard of anybody installing more than 3 operating systems while using BootCamp. With virtualization software you can have as many different operating systems as you like.
I believe it should be possible to run more than 3 primary (non-virtualized) operating systems on an Intel Macintosh - either with a lot of trickery if you have only one drive (see the info in the wiki mentioned above about how to get a swap drive installed - expand on that), or by using external hard drives.
You have to reboot your machine to access a different operating system. If you use a virtual system then you can have it running at the same time as you are running OS/X. This can mean that you can copy and paste between applications on different operating systems (since they are all running simultaneously).
I'm sure there are more points - I may return to this later
Originally posted by Unnsse Khan: (2) Is it VMware Fusion or Parallels or BootCamp?
I think that your 3 options can actually be broken into 2 options (BootCamp versus virtualization), where the second option can then be broken down. I also think I have mentioned some of the things to think about in the BootCamp versus virtualization discussion, so I won't rehash them here.
As for VMWare Fusion versus Parallels ... I went with Parallels since it was first to market - I was able to purchase it back before VMWare Fusion was available. Since then I have had a lot of friends tell me that the VMWare Fusion performance is much better, but I have not seen this myself (and Parallels has recently come out with a new version, so this may no longer be true).
As I understand it though, both of these products offer free trials - so I recommend you try them both to see if they meet your needs, and which one gives the greater performance.
Originally posted by Unnsse Khan: (3) Let say that I wrote a JDK 1.6 program or a J2ME app in NetBeans on Ubuntu Feisty Fawn (running in Parallels or VMware Fusion) would I be able to save the file in the emulated filesystem, close my virtual machine, and then at a later date, re-run the virtual machine, NetBeans, and re-compile / re-launch my program?
Originally posted by Unnsse Khan: The reason I ask is because I read somewhere that these virtualization applications only save "snapshots" of a user's previous sessions?
I am trying to think of the right way to say this, so if my comments don't make sense to you, please ask again ...
The virtualized operating system is stored in a physical file on your hard drive (often as a sparse file, but that is a separate discussion). That file contains everything relating to the system it is emulating. Amongst other things it contains is a complete image of the virtualized hard drive. So when you close your virtual machine, the contents of your virtual hard drive are stored in this physical file on your Macintosh OS/X partition. When you start your virtual machine at a later date, the contents of the virtual hard drive are loaded from this physical disk, so whatever you saved on the virtual hard drive will still be there.
A nice side effect of this is that it means you can save backup snapshots of your operating system at various points in time. For example, if you were about to install some software that you need but you think it might crash your machine - you can save a copy of the OS/X virtual machine's file, install the risky software, test it, and then if it works keep it. If it doesn't work (or if it crashes your system), then just restore your copy of the OS/X virtual machine's file - all your other installed applications will instantly be restored and the bad application will be gone.
So that is what I think that is what is meant by snapshots in the context of virtual machines. It is also plausible that somebody could be talking about the capability most virtualization machines have of "pausing" the entire virtual machine at a point in time. This save the entire contents of the virtual machine to the file mentioned earlier, including the current RAM contents, the current CPU state, etc. Later you can resume the "paused" virtual machine, and continue where you left off. As to why you would want to do this - consider if you were doing something that is CPU / memory / disk intensive on a virtual machine (e.g. transcoding a video file), but need to shut down your computer. You would not want to just shut it down since you would need to restart the transcoding from the beginning when you later rebooted. However by pausing the virtual machine, you can then shutdown the computer, and when you restart later, the virtual machine will restart at the same point it left off - even to the exact CPU instruction it was processing. So your application will continue as though it had been running all along.
Originally posted by Unnsse Khan: (4) Should I wait for Leopard to come out?
And since my iMac is all integrated, I don't want to partition the same drive (by using BootCamp)... If I was going to do that, I would have dedicated an entire new hard drive for the target operating system and bought a MacPro.
I guess I'll have to research it more on what's better Parallels or VMware Fusion.