Running Windows on your Mac

kainjow

Registered
I just posted this over on MacRumors, but I'll post here for discussion.

Here's how I understand it:

First: Macs use EFI (Extensible Firmware Interface), which is open source. EFI is the modern replacement for BIOS. EFI does support legacy BIOS, however it's up to the distributor (Apple) to include these options.

Second: Windows XP requires BIOS. Windows Vista is compatible with EFI. So if Apple chose to include legacy BIOS support in their EFI implementation, then Windows XP and other Windows versions will be bootable. If not, Windows Vista will be the only bootable version of Windows.

However, my guesses is that Apple left the legacy BIOS support in EFI. Why? Because they make tons of profit on hardware. If they can get you to buy their hardware, they could care less what OS you use. Having the Mac hardware is enough of a switch, and it's almost guaranteed you will try out OS X and possibly switch to it full time.

Lastly, hopefully the guys behind VMWare will update their software to run in OS X. This is open source, correct? But M$'s Virtual PC 8 may be a nice commercial version also.

Either way: I want OS X and Windows to run together. I want both running in full screen on 2 separate monitors. The *perfect* productivity environment :D

Edit: oops I just read fryke's post.. feel free to move this :eek:
 
Nono, it's the right place alright, I guess. :) Somehow... So let's see. As *I* understand it, Windows XP will get EFI-support one way or the other, i.e. either Microsoft will add it through an update (actually means new disk version of Windows XP) or open source hackers will find a way to make it boot. Worst case: You'd have some kind of open source software that boots on Apple's EFI implementation and emulates the BIOS Windows requires.

And never forget to mention DarWINE and Crossover Office, both of which aim to make Windows apps run "natively" on the host OS. Crossover works pretty well for linux I hear (enabling iTunes to run, and MS Office for Windows for example).
 
I guess I can weigh in, since I know a bit about what is going on, at least in Redmond. :)

Yes, the new Intel systems use EFI and GPT. Here is the downside:

- Windows only supports EFI on 64-bit systems, and this will not change in Vista. Apparently 32-bit EFI support was abandoned as OEMs were including modules in their EFI firmware which emulated the old BIOS to an OS.

- Apple likely won't have these modules, and their video cards will likely be using EFI-centric firmware, much like before... except the EFI driver will be included on these cards, rather than the OF driver.

So, one of three things need to happen:

1. Add in the Compatibility Support Module into the Apple firmware (which is vendor specific, so it would be reverse engineering Apple's firmware in the process), and risk turning their shiny new Intel Mac into a plastic doorstop when they go to test it...

2. Add in 32-bit EFI support to Vista or XP. This is also pretty tricky as IIRC, this is part of the kernel itself. Even worse than trying to add code to Apple's firmware, ironically.

3. We wait for Apple to bring out Merom-based systems (64-bit Yonah successor), and for MS to bring out Vista, and it will likely boot. It might not have drivers for /everything/, but it would run.

As Fryke says, my opinion is that virtualization through QEMU, WINE, etc is the best choice.
 
Well here we go.. iEmulator announces that they will have their first x86 version ready next month, according to MacWindows.com
In iEmulator 1.7.9, the x86 processor will no longer be emulated and will no longer translate between PowerPC and x86 instructions. A spokesperson for the developer told us that native access to the Intel processor will result in large performance gains for running Windows.

"Initial testing is going quite well, and the performance increase is stunning," said Richard Peters of iEmulator.com

Although the processor is now native, not all emulation is eliminated in this release. The PC BIOS, video hardware, and Ethernet card will still be emulated in version 1.7.9.

And now Engadget is saying that the new Intel Macs will be XP bootable. I read this in one of the comments about EFI:
Unlike Lilo or Grub, it's possible to multi-boot each OS without any piece of software outside of EFI having any awareness that they exist.
Sounds good, although at this point I'm thinking dual booting would be a pain, and I'd rather have Windows running alongside Mac OS X.
 
i'd still prefer the virtual pc style thing. no threat of wrecking anything on the computer though virii or similar. keep it al contained, plus not having to reboot.
 
Sure depends on what you want to do with it. *I* want two things when I buy my first MacBook:

1.) Crossover Office like. I.e.: Windows applications seem to run natively on OS X.
2.) Dual-booting, i.e. Windows is actually also an option for booting.

The VPC style I don't really like from a usability point of view.
 
fryke said:
Nono, it's the right place alright, I guess. :) Somehow... So let's see. As *I* understand it, Windows XP will get EFI-support one way or the other, i.e. either Microsoft will add it through an update (actually means new disk version of Windows XP) or open source hackers will find a way to make it boot. Worst case: You'd have some kind of open source software that boots on Apple's EFI implementation and emulates the BIOS Windows requires.

And never forget to mention DarWINE and Crossover Office, both of which aim to make Windows apps run "natively" on the host OS. Crossover works pretty well for linux I hear (enabling iTunes to run, and MS Office for Windows for example).

iTunes for Windows can run on WINE as it's a statically linked executable, meaning the libraries are compiled into the executable, making it large, but works on other operating systems that does not have the libraries, as long the source is compiled for the operating system. If you have dynamically-linked executable it requires the libraries to be available inside the OS by default, so all this library mess makes it harder for the emulator to work.
 
I thought I would add just a quick little note: Vista won't boot on these things either.

Turns out some of us here at MS thinking about how Apple went ahead and implemented EFI were right: it lacks a CSM module, and because of that, no planned version of Windows will boot on 32-bit Intel Macs. Sorry guys.
 
I found this today: http://www.openosx.com/wintel/index.html - they've released a universal binary that runs on the Intel Macs. Haven't heard anything about how fast it really is, but looks interesting:
Our smart "Universal-Binary" is fully compatible and optimized for Intel Duo Macs, PowerMac G5s and PowerMac G4s, with more optimizations under development.

...

We recommend a G5, Intel Macs are ideal. CPU intensive games/software are not recommended for non-Intel Macs, please see our WinTel FAQ.
 
In other words, slow. It's odd that an x86 native binary would still have to emulate an x86 environment. Theoretically, it could only perform at half potential, as all the commands would be handled redundantly.

I'm still waiting for the really clever solution. (BIOS-compliant extension for the EFI?)
 
I don't quite understand how people "test" Windows compatibility by putting the XP disk in and holding down the "D" (arstechnica!) or "C" key. It's quite clear that an XP disk doesn't have a "blessed OS X folder" the EFI Apple's using would recognise...
People will have to dig deeper, i.e. there has to be a way to enter the EFI like you can enter OpenFirmware. And in _there_ some hackers will have to find out whether there is such a compatibility module or whether one can extend the EFI "by hand" or something.

I really have to laugh when people claim "there's no WinXP compatibility" if they try to select the installation disk in "Startup Volumes"...
 
Fortunately, it seems that windows xp will NOT be running on Apple's intel-based machines, as I can understand from the article posted at the link below, because microsoft is updating the virtual pc for the new intel-architecture.

http://www.appleinsider.com/article.php?id=1470

I said "fortunately" because we have to keep the Macs clean, up and running. :) :)
 
PowerPC, it does not logically follow that Windows XP will not run on Intel-based Macs because Microsoft is working with Apple to bring VPC to the new machines. This means that Apple supports running Windows on VPC--nothing more. As you should know, Microsoft develops VPC for Intel-based beige boxes. This does not mean that this machines can't boot Windows directly.
 
So this guy is starting a contest to see who can get XP running natively on a new Intel Mac:
I am pledging $100 of my own money and offering anyone else who would like the instructions on how to Dual boot these two operating systems the ability to donate some of their money into the pot as a reward for the person / group that can make dual-booting Mac OS X and Windows XP happen on an Intel Mac.
 
fryke said:
I don't quite understand how people "test" Windows compatibility by putting the XP disk in and holding down the "D" (arstechnica!) or "C" key. It's quite clear that an XP disk doesn't have a "blessed OS X folder" the EFI Apple's using would recognise...
People will have to dig deeper, i.e. there has to be a way to enter the EFI like you can enter OpenFirmware. And in _there_ some hackers will have to find out whether there is such a compatibility module or whether one can extend the EFI "by hand" or something.

I really have to laugh when people claim "there's no WinXP compatibility" if they try to select the installation disk in "Startup Volumes"...

Well, the Apple EFI lacks support for El Torito and UDF volumes for booting as well once they did start mucking with EFI, along with the CSM... whoops. ;)

So that means we would need to extend the EFI that Apple ships by adding UDF or El Torito support, a CSM, and probably FAT32 and NTFS support as well to kick-start Windows on the system since the CSM doesn't do that IIRC.

And right now, those experimenting are focused more on trying to NOT brick their iMacs while messing with EFI at the moment.

It isn't going to be easy, and I do believe that we will see a viable solution at some point. But, considering the effort, it might just be easier to stab at the 64-bit systems once they come out, and reduce the workload by not having to add the CSM.
 
kainjow said:
I found this today: http://www.openosx.com/wintel/index.html - they've released a universal binary that runs on the Intel Macs. Haven't heard anything about how fast it really is, but looks interesting:

From what I know, this is nothing more than a revamped version of Bochs. If you know how slow Bochs is, then you have a good idea of what's going to happen.

From what I've been reading around the net it appears that everyone that has tried to use this to boot windows has NOT been reporting much success.

To quote the Bochs FAQ on performance:

"Because Bochs emulates every x86 instruction and all the devices in a PC system, it does not reach high emulation speeds. Kevin reported approximately 1.5MIPS using Bochs on a 400MHz PII Linux machine. Users who have an x86 processor and want the highest emulation speeds may want to consider PC virtualization software such as plex86 (free software) or VMware (proprietary and commercial). Another related project is QEMU."

In all fairness, I believe OpenOSX claims to have sped it up a bit, but I haven't heard anyone actually doing anything with it other than installing windows and booting into it. If you visit the Macnn forums, there is a thread there with a few folks that tried using it. OpenOSX even start commenting in the thread.

An interesting quote from OpenOSX:

"It is "native" perfomance as it is running native. We do not state that it is as fast a dual 2 gHz Intel Duo Windows machine (anywhere), nor do we make any spec of float performance claims.

That said, our build of Bochs is achieving around 10 to 20 MIPS, which is definitely Pentium class processor performance. Not the faster Windows machine, but usable."

Obviously, "usable" can and does mean many things to different people.
 
Back
Top