If you can believe it, Mac OS X 10.4 “Tiger” is over 12 years old as of this writing. It was first released in April of 2005. It was also the version that Apple first used on its Intel Macs in 2006. Because the Intel version came out in 2006 after the PowerPC version had already been in stores, it’s kind of a weird release. There wasn’t a retail copy of the Intel version of Tiger. It was only bundled with the first Intel Macs before 10.5 “Leopard” came out in 2007.
Because of the way it was weirdly released, it’s not super common to virtualize OS X 10.4 for Intel. Nobody’s really using it anymore because it’s so old. It’s probably full of security holes. And technically, it’s against OS X’s license agreement to virtualize it (same with the non-server versions of 10.5 and 10.6). With that said, I really doubt Apple cares about such an old version of OS X these days, and I think creating a VM of it is a really cool thing to do for educational purposes. Who knows — maybe it’s still useful for certain developers who still need to test how things work on 10.4 without keeping an old power-hungry machine around that is capable of running it.
In order to create a VMware virtual machine of Mac OS X 10.4, there are several challenges that you have to overcome. I’m going to do my best to explain what to do. This is mostly just a compilation of information available on different parts of the internet. I would like to give credit to the following sites/forums for helping to explain various pieces of the puzzle:
- https://www.betaarchive.com/forum/viewtopic.php?t=30250
- http://www.insanelymac.com/forum/topic/232183-snow-leopard-on-vmware-and-disabled-cpu-error/
- https://derflounder.wordpress.com/2013/02/19/emulating-specific-apple-models-in-vmware-fusion-vms/
VMware Fusion
You have to be using VMware Fusion to do this, because the Windows and Linux versions of VMware don’t support virtualizing OS X. Once again, this is because Mac OS X’s license agreement only allows you to run Mac OS X on Macs. If you really don’t care about following the rules on this, there is an unlocker that you can run to modify VMware Player or VMware Workstation to support OS X guests on Windows and Linux. That’s all I have to say about that.
Find an install disc
The first challenge is you need to find an OS X 10.4 install disc that contains the Intel version. That’s up to you to figure out. As I’ve already mentioned, the Intel build of 10.4 was never released as a retail copy. You’ll need a 10.4 install DVD that originally came with an Intel Mac from that era. I’d recommend shooting for version 10.4.7 or higher. My MacBook Pro 17″ Core Duo (MacBookPro1,2) came with 10.4.6, and its installer disc will not boot a VMware VM. I think it is missing the proper drivers for the storage controllers emulated by VMware, because it gets stuck waiting for the root device when I try to boot the CD, regardless of whether I make the CD drive SATA or IDE. An install disc for a Core 2 Duo MacBook Pro (MacBookPro3,1) with 10.4.10 works fine with no modifications.
It is actually possible to take an older 10.4 install disc and replace its kernel, kexts, and supporting files with newer versions that are capable of booting into VMware. I’d recommend not doing this for several reasons. The process is complicated and easy to screw up. You also have to install the 10.4.11 combo update onto the hard drive before it will be bootable, because the kernel installed by the older disc ends up having the same problem. Finally, you need access to a newer install disc that has a compatible kernel you can borrow, so it makes more sense to just use the newer disc to install it in the first place.
Creating a virtual machine
VMware technically doesn’t support OS X 10.4 through 10.6 (except for the server versions of 10.5 and 10.6), but if you follow these directions, it will work. I’m going to walk you step-by-step through the process of fixing each little glitch as we run into it.
Start by creating a virtual machine. Set the guest OS to “Mac OS X Server 10.5 32-bit.” Yes, that’s 10.5 — like I said earlier, 10.4 was never supported, so 10.5 is the closest choice we’ve got. The hard drive and CD drive can both be SATA. There’s nothing really special about the setup at this point.
Bypass the server OS check
If you try to boot the install disc at this point, VMware will complain because you’re not running Mac OS X Server. I’ve found other workarounds online that involve adding files to the CD and hard drive to fool VMware into thinking it’s booting to a server install, but there’s an easier approach: use a custom EFI firmware that doesn’t perform this check. This custom firmware is called efi32-srvr.rom and is included with older versions of the unlocker I mentioned earlier.
Once you have the file, put it in the same directory as your .vmx file, and add the following line to the vmx file:
efi32.filename = "efi32-srvr.rom"
Note that there is a potential danger in doing this. The efi32-srvr.rom file is pretty old, and VMware’s own EFI firmware has probably been updated quite a bit in the meantime, so you’ll be missing out on some fixes. Despite that concern, it seems to work fine in my experience.
Fix a kernel panic
Now if you try to boot, you’ll see the Apple logo for a brief moment, and assuming you have a newer CPU, VMware will crap out, telling you the CPU has been disabled by the guest operating system. You’ll see a kernel panic on the screen.
The reason for the kernel panic is because OS X 10.4 is old and your CPU is new. Note that if you are virtualizing OS X on a Core 2 Duo, you probably won’t run into this problem. It’s only an issue if you have a CPU that’s newer. Add the following line to the vmx file:
cpuid.1.eax = "00000000000000000000011011111010"
If your CPU is really new and the previous line by itself doesn’t fix the kernel panic, keep that line in place and add these four additional lines:
cpuid.2.eax = "00000101101100001011000100000001" cpuid.2.ebx = "00000000010101100101011111110000" cpuid.2.ecx = "00000000000000000000000000000000" cpuid.2.edx = "00101100101101000011000001001000"
After doing this, you can boot from the CD and into the installer, but you’ll soon run into a snag.
Spoof the matching Mac model
Since you’re using a DVD from an actual Mac, you need VMware to pretend to be that Mac. Otherwise, the installer will tell you that “This software cannot be installed on this computer.” That’s the installer’s way of saying that your computer doesn’t match the DVD.
You can figure out which Mac model goes with your DVD by looking at the following file on the DVD:
/System/Installation/Packages/OSInstall.mpkg/Contents/OSInstall.dist
You can even “cat” its contents with the Terminal while booted into the install DVD, conveniently. Near the bottom of this file, you’ll see a variable called hwbeSupportedMachines being initialized in code. You can find a matching model string to use here (e.g. MacBookPro3,1).
Shut down and close the virtual machine, and add one final line to the vmx file:
hw.model = "MacBookPro3,1"
Obviously, replace MacBookPro3,1 with whatever matches your DVD.
All done
That’s all there is to it. Now the installer will run normally, and nothing special is required to get VMware to boot from the hard drive after installation. Don’t forget to use Disk Utility to erase the hard drive first. That’s all it takes to make a VM of Mac OS X 10.4. It’s too old to support installing VMware Tools, and audio also won’t work, but it’s better than not working at all, right?
Hello,
I’ve tried to install OS X Tiger on VMWare fusion for several years, finally I’ve got it thanks for this article! Thank you!
I’m glad it helped you! I was in a similar situation. I really wanted to complete my collection of OS X VMs.
Hi Doug,
I would like to thank you. I’m trying to run Mac OS X 10.4 on VMware for the nostalgia and the CPU lines that you gave make my CD boot up 🙂
Excellent work, Doug. Good job coalescing and explaining the details and steps. The HARDEST part was finding all the bits an pieces referred to! Once those were in hand, your clear and easy instructions made it was a piece of cake. THANK YOU. 🙂 Two questions:
• VMware Tools refuses to install. The installer IDs the machine as 10.5 and fails. I used Pacifist to install the tools but they still don’t work.
• I’m guessing this approach prevents booting Classic OS (Mac OS 9.2 ie 68K/PPC) within the 10.4 (Intel) vm? (I don’t recall but I suppose Classic was only available on PPC machines, and since we must use an Intel-only 10.4 installer, that demolishes any hope of Classic in this setup?) I’m also guessing there’s no way to tweak your method to utilize an existing OS 9 drive image and install 10.4.x over it to reach that goal?
Much appreciation, sir!
Hi TC,
VMware Tools isn’t going to work — 10.4 wasn’t officially supported by VMware. We’re lucky the VM even boots at all. 🙂
The Classic environment never worked on Intel Macs. 10.5 dropped support for Classic on PPC machines, but Classic didn’t work in 10.4 on Intel machines either. I actually wasn’t aware of that limitation until recently, but it’s true. I think the Classic environment depends heavily on a native PPC environment being available, so I don’t think any hackery will make it run. I’d recommend looking into something like Basilisk II or SheepShaver for running classic 68k/PPC programs.
@Doug, I’m very appreciative for this guide, although I have trouble understanding most of it. Would you be willing to give, or sell me a premade, working VM file? I need it for a client that has classic software he needs to emulate. I’m willing to pay you for your time In helping me solve this. Feel free to email me at info@jacksmacs.net
This worked 100% ! The only alteration I did was to set my hardware version to version 10 and unchecked the box to allow for hardware upgrades. My only “issue” was I kept trying to load it form my retail Tiger DVD. Once it dawned on me that the Intel version was never a retail disc (I didn’t read that part) I dropped in my DVD for my 2006 MacPro 1,1 and the installer for Tiger started up from the disc and did the full install of Tiger.
Now what to use the VM for besides “gee whiz”
https://www.betaarchive.com/forum/viewtopic.php?p=443645#p443645
here is a driver to allows multiple resolutions
Thanks for the tip! Works for me. Just had to chown -R root:wheel the kext, and then stick it into /System/Library/Extensions and reboot.
Tried to follow but end up on Apple Stop Sign Logo on boot after waiting a while at the grey screen with rotating wheel.
Using Vmware 11.5 on MacOS 10.15 and using 3 different Leopard images.
Any tips?
Having the same problem with the stop sign on boot. Don’t know what I’m doing wrong.
Alex: If it’s a Leopard image I have no idea, I think that worked out of the box with efi32-srvr.rom. These instructions are known to work with Tiger.
tunnie: I experienced the stop sign issue when I tried an incompatible install DVD. It didn’t work with my MacBookPro1,2 install disc. It worked when I switched to a MacBookPro3,1 install disc.
Thanks, Doug! I realized that I’m using the exact same file as you when I looked at the allowed machines. I’ll try and find one that works with a MacBook Pro3,1.
I keep coming back to this article year after year… I originally used it to install 10.4 Server on VirtualBox. Now all I had to do was add the CPUID values to my vmx file, inherit my VBox disk image and presto! Instant 10.4!
As for running non-server on VMWare: if you’ve already got a bootable vmdk, all you need to do is duplicate /System/Library/CoreServices/SystemVersion.plist to /System/Library/CoreServices/ServerVersion.plist and any Client version will boot (and report as Server). To get it reporting as client again, just delete or rename the ServerVersion.plist file and then save state — no need to reboot.
Hi Doug,
When I add the second cpuid lines, VMware complains it is unsuccessful in booting from DVD. Without them, it boots the CD but kernel panics. I am using VMware Fusion on a 2017 Macbook Pro.
EDIT: silly me, I ended up working out that VMware likes to randomly disconnect the DVD drive while the VM is shut down. However, I am using a grey disc for an iMac4,1 and my hw.model is set to “iMac4,1” but I get a no symbol overlayed on the stalk of the apple logo. Example here: https://imgur.com/a/HjLfKXW
Hey James,
That’s the same problem that I ran into with my MacBookPro1,2 DVD. It means the DVD has too old of a version of OS X 10.4. Only newer versions support it properly. For example it looks like the iMac4,1 came with 10.4.4. I’d suggest looking for a MacBookPro3,1 install DVD. I know that one works for sure.
Hey Doug,
Thanks for the quick and helpful response. I got it working with the installer I found here: https://archive.org/details/MacBook_Pro_Mac_OS_X_Install_Disc_1_2Z691-6088-A_Apple_Inc._2007
Also here: https://macintoshgarden.org/apps/apple-macbook-pro-restore-medias-691-6088691-6113
step by step
it is all done
Dear Doug Brown
Thank U
The “trick VMware into thinking I’m installing Mac OS X Server” thing didn’t work for me. I managed to get a workaround and if you’re experiencing the same get the ef164 version of the .rom file here: https://github.com/coolrepo99/unlocker/blob/master/firmware/efi64-srvr.rom ,put it in the .vmx directory, and add this line: efi64.filename = “efi64-srvr.rom”. Hope that helps!
A big thanks for this! Worked flawlessly, including the kext for adding display resolutions. I am happy to add this to my collection of Mac OS X virtual machines – not to mention I have some files to retrieve data from, so there’s a practical use as well. Thanks Doug!
Remarkable. This still works. I have a 2019 Intel based MBP and am running VMWare Fusion 12.2.5 and it went without a hitch. Note that the .vmx file is inside the VM image which is a package file. Right-click on the VM and “Show Package Contents” to see it.
Doug,
Because of this guide I was able to get it to work on VMWare Workstation Player version 17.5, the only thing I had to change was the type of machine. I used unlocker and kept trying to use Mac OS X Server 10.5 32-bit as in your guide, but once I changed it to Other 64-Bit, it installed. Now trying to get the update to install. Mac OS X Tiger 10.4.11 Combo Update keeps telling me I can’t install the update on my VMWare hard drive.
Hi John, that’s very strange — I can’t explain why you had to change the machine type and why the combo update doesn’t work. I haven’t redone the setup from scratch in 17.5, but I would be surprised if anything changed to break it after I wrote the instructions. My 10.4.11 VM definitely still works in 17.5…
I tested it on VMware Workstation 17.5. After loading the disc, the Apple symbol changed to a forbidden symbol.
https://imgur.com/a/ZJq5oEQ
Using VMware Workstation 17, once I chose custom and VMware Workstation 11 compatibility, I was able to install it. I used a 10.4.8 iso. Hope this helps someone. Thank you for the article!
Same here ChenBill, I just get the forbidden symbol.
efi32-srvr.rom on github?
Thanks for downloading this file
Hi @John Riley I think you’re using a hackintosh image of 10.4 that’s also been published in Archive .org. The reason for can’t install update, I’m guessing, is because the update installer doesn’t recognize our startup disk. When the VM starts, it shows a Darwin x86 bootloader countdown time, which is an old hackintosh bootloader. The Darwin is the one booting our Mac after all. It happened to me too, and I’m using Other x64 type for that VM too because the disc won’t be readable on VM Type OS X.
Now that I’ve found this site, I’m trying these methods right here and downloaded the MacBook Pro Install Disc instead of the hackintosh one. Also, thanks for Doug and everyone here who posted links. Very helpful! 😀
Just finished installing 10.4 without any issues, using MacBookPro3,1 install disc, and following Doug’s instructions. It’s way much better than to have the 10.4 Hackintosh VM (it’s a 10.4.1, can’t install any combo updates, the “command” key by default getting swapped to our “alt” key for hackintosh use).
Just after first boot and setup, the Software Updates suddenly pops up and still could install updates from there! It’s amazing that it’s still works. It even offers me the 10.4.11 update, but because I downloaded the combo update previously, I’ll use the combo update instead. Thank you Doug and everyone here! Cheers