20

Motivation

I work on a Linux machine, but I teach people who also work on Windows and macOS. In order to see things from their point of view, I would like to also have access to the Windows and macOS operating systems.

Possible solution #1

Perhaps the easiest solution would be to buy two small PCs, one with each of those OSs, but that is expensive (think about buying an Apple product only to use maybe for a total of three hours/year) and cumbersome (I'd often like to work on clean installs, which means lots of time spent reformatting the machines). Then there's the physical space needed for the extra hardware.

Possible solution #2

The best solution to me seems like buying licenses for each of those OSes and installing VMs for them in my Linux PC and using them whenever necessary. I got the hardware to handle it, so I don't see downsides to this.

The problem with #2

Last time I checked, Microsoft sells Windows licenses. However, Apple does not seem to sell licenses for macOS (or even allow one to use macOS on non-Apple hardware).

I've been using nothing but Linux for almost two decades now, so I really hope I'm going on outdated information here, and both Microsoft and Apple have made life easier for people in the same situation as me.

Questions

  1. Is it possible (and legal) to buy a macOS license to have it as a VM on my Linux machine?
  2. If not possible, what are my other choices for catering to a crowd composed of Linux, macOS and Windows users?

Observing the legality of things is important to me, since we're talking about using corporate funds for this.

12
  • 4
    Out of curiosity: this is part of your work, and you assume that you would only use macOs maybe 3 hours a year? How would you make yourself even familiar in that system in 3 hours a year? Supporting a system you don't even know sounds strange. And if your company uses macOS in other departments, why not simply buy the cheapest possible Mac Mini? It starts at $699 and does not need that much space – Nico Haase Feb 5 at 16:25
  • 9
    The only 100% legal way is to buy an Apple computer (with a bundled OSX), then install VMs for Linux and Windows inside. For Windows you would also need a license too. – Alejandro Feb 5 at 18:59
  • 4
    You can buy an Apple computer, install Linux as the host OS, and then install MacOS as a VM legally (on Linux a a host OS, if running on genuine Apple hardware); the thing is, it must be Apple hardware to be within the license agreement. – Charles Duffy Feb 5 at 19:14
  • 3
    @CharlesDuffy: I interpret "install, use and run up to two (2) additional copies or instances of the Apple Software within virtual operating system environments on each Mac Computer you own or control that is already running the Apple Software" [bold emphasis mine] as meaning that you can only virtualize macOS under macOS. Of course, this brings us back to the OP's jurisdiction, because I believe that, for example in my country, that passage as well as the majority of the license are void. MS tried similar things in the 90s, and they sued and lost. – Jörg W Mittag Feb 6 at 6:00
  • 2
    @NicoHaase In any case, buying Mac hardware seems to be the only solution for me to do this the right way. Since I am also looking for a work laptop I was only considering MacBooks, but thanks to your suggestion I'm also going to take a look at those Minis. +1 – Waldir Leoncio Feb 8 at 6:37
16

As others have said, the only way to legally virtualize Mac OS X (according toApple's EULA) is on Apple hardware. So the purchase you need to make isn't a software purchase, it's a hardware purchase: you need to buy a Mac.

With Intel (x86) Apple hardware, there's three ways you can do this:

1. Use VMWare ESXi as the host OS

ESXi is VMware's professional server virtualization platform. As the base / host OS on an Apple Mac, VMware ESXi can virtualize Mac OS X guests, as well as virtually any other operating system which runs on x86 hardware, including Linux and Microsoft Windows. The core of ESXi which you would need is cost free; VMWare sells support licenses for ESXi with hefty license fees which you would not require.

I have been down this road and while it works, it's not for the faint of heart: ESXi needs to be managed via a web UI from another machine, and if you're going to use this as a desktop system (with a monitor and keyboard attached) then you need to have hardware (USB controller and GPU card) capable of PCI passthrough. Without PCI passthrough your attached monitor will simply display a text-only ESXi configuration screen.

Check VMWare's Hardware Compatibility List and focus on first or Mac Pro models. A Mac Mini will work but you're very unlikely to get Passthrough working.

At this time, VMWare ESXi does not run on an Apple M1 chips so you'll need an Intel mac for this option. VMWare says "we are committed to delivering VMware virtual machines on Apple Silicon" so this may change.

2. Use Mac OS X as the host OS

Buy a Mac (any recent x86 model) and virtualize Mac OS X, Linux and Windows using Mac OS X as the base / host OS. In this case you may need to purchase software. VMWare Fusion is the software I personally use and can highly recommend. Parallels is another option I am aware of. You can use VirtualBox, which is free, but support for Mac OS X guests is lacking so I would only use this for Linux or Windows guests.

The machine will boot into OS X, but you can configure a Linux VM to launch on boot, and use full-screen, multi-monitor support to use Linux as your every day OS, wither switching to a Mac VM for testing or, just using the Mac OS on the host. Linux runs well under VMWare, though graphics performance is not as good as on bare metal. This is an easy to use solution and the one I have migrated to (I used to use ESXi)

This solution works on an Apple Mac Mini, a Mac Pro, a Macbook Pro, and basically any x86 Apple hardware which is recent and powerful enough. No GPU passthrough is required.

You'll want to stick with Intel Macs and avoid M1 chips for this: VirtualBox only supports x86 virtualization, and while Parallels and VMWare both say they're working on M1 support, it's not here yet and I wouldn't advise being an early adopter.

3. Use Apple Boot Camp or Linux as main OS

Apple x86 hardware is capable of running Linux or Windows as it's main boot OS. Linux runs very well on modern Apple hardware, and if you only need Mac occasionally for testing, you can have the Mac booted into Linux for normal work and reboot into Mac OS X only as needed for testing. Linux can be installed to the Mac's main drive (on a separate partition) or an external drive, or even to an SD card (though I would only recommend that for a read-only root, like a LiveCD)

This option works with any Intel mac; Apple M1 macs do not support boot camp, and while Linux may support booting an M1 mac in the future, it doesn't sound like it will happen soon

4. Just keep an older, used Mac around for testing

Of course there's another option: don't virtualize, just have a cheap Mac that is kept for testing only. In this case, the processor architecture doesn't matter, unless it impacts the testing you will be doing on the mac.

8
  • 5
    This is by far the best direct answer to the actual question so far - let's just hope it gets chance to bubble up to the top of the list. – Tetsujin Feb 6 at 19:10
  • VirtualBox works even better than VMWare, and it's free (in both senses of the word). – Vikki - formerly Sean Feb 7 at 3:51
  • @Sean personally I find VMware Fusion superior to VirtualBox in almost every way, and definitely worth the price. For OS X guests, Fusion is almost a must because VirtualBox has poor OS X guest support. But even for Linux guests I find that Fusion's networking, graphics performance and reliability are superior. – Josh Feb 7 at 14:08
  • 1
    Window have a developer beta for ARM which can hobble along on a tech preview of Parallels. For now, I'd leave that research to others ;) – Tetsujin Feb 8 at 7:41
  • 1
    @WaldirLeoncio for the first three options, yes, M1 is not an option. I edited and added details about M1 chips. As Tetsujin said, even if early beta previews work, I'd stay away from M1 for the virtualization options just because it's so new, and new technology tends to be less stable and mature, leading to frustration when you just need it to work for your job. – Josh Feb 8 at 13:54
22

There are multiple companies that rent out access to a Mac in the cloud. I used one of them for a few months when I had to port an Android app to iOS, which needs a Mac to compile. If you only need your Mac for a few hours per year, this is probably the cheapest option. Resetting "your" mac is just a question of a few minutes to get a new, freshly installed, VM.

I'm not affiliated with any of them, but searching the internet for "rent access to a mac" finds multiple such companies.

5
  • 10
    Normally I would advise against this (I’ve done the math myself, if you’re using it regularly a mac Mini will pay for itself in half it’s expected support lifetime compared to renting equivalent hardware from a hosting company), but given the OP’s very low usage and need to regularly reset the system, this type of thing is probably the best solution for them. – Austin Hemmelgarn Feb 5 at 22:24
  • 4
  • 2
    @9072997 AWS has also been having availability issues on a regular basis since they introduced macOS EC2 instances. It’s hit or miss whether one will be available when you go to try and use it there, unlike with a lot of the dedicated providers who only offer macOS hosting. – Austin Hemmelgarn Feb 6 at 14:25
  • Thank you for your answer! It does seem like an interesting solution. I am going to consider it, though I am not sure I could fit a subscription-like payment structure in my allowance. – Waldir Leoncio Feb 8 at 6:25
  • It is around 72 days of rental of an AWS mac1.metal EC2 "image" to fully fund the cost of a new mac mini. And you can't have it for "a couple hours" the minimum charge is 24 hours on this lineup. – Criggie Feb 8 at 10:56
21

Is it possible (and legal) to buy a macOS license to have it as a VM on my Linux machine?

No - at least not according to Apple's software license agreement for MacOS. The license agreement for MacOS Big Sur (others are similar) explicitly says (emphasis mine):

you are granted a limited, non-transferable, non-exclusive license:

[...]

(iii) to install, use and run up to two (2) additional copies or instances of the Apple Software within virtual operating system environments on each Mac Computer you own or control that is already running the Apple Software

So according to Apply, even in a VM you may only run MacOS on a "Mac Computer" (defined further above as an "Apple-branded computer running macOS"). By running MacOS in a VM on a Linux machine, you would violat this (the exception would be if you are running Linux on Apple hardware, which is possible - that would be ok, but that's not what you want).

Whether this restriction is actually legal and valid will depend on your jurisdiction (and possibly on the opinion of a judge), but that's out of scope here (you could ask on https://law.stackexchange.com/ ).


In addition to the (possible) legal hurdles, it appears MacOS actively refuses to run on non-Apple hardware (see e.g. the manual of VirtualBox, chapter 3.1.1, Mac OS X Guests). It is possible to circumvent this, but it's not trivial. For example, this article has a solution, but it's unsupported and does not fully work. This other article (German) claims to have a solution - I have not tested it.

If not possible, what are my other choices for catering to a crowd composed of Linux, macOS and Windows users?

The simplest solution would be to explain that you cannot help with problems caused by the environment / operating system - that should not normally be expected of you anyway. If you teach people using different OSes, the software which you directly use for teaching or as a subject is presumably cross-platform, so you can hopefully help with problems with that. If it goes beyond that, just politely explain that you cannot help.

In simple cases, you can also assist with looking for a solution (good web searching is a skill not everyone has), but since you do not have Apple hardware, you cannot help with Apple software.

5
  • 6
    I have always heard that is is legal to run a macOS VM on a Linux machine which is running on apple hardware. ESXi officially supports this. Weather or not you are allowed to run multiple copies of macOS on a single host might be another question though. – 9072997 Feb 6 at 5:37
  • 3
    @9072997 is correct: it is perfectly legal to run Mac OS X on Apple hardware which boots into VMWare ESXi – Josh Feb 6 at 16:07
  • 1
    @9072997: Thanks for pointing this out; I added it to my answer (though it does not answer OP's question who does not have Apple HW). – sleske Feb 7 at 20:50
  • 2
    "but since you do not have Apple hardware" So the real answer to "How do I support Apple software" is "own apple hardware" - and include the costs (hardware) in the price of your services. – WernerCD Feb 8 at 0:34
  • Thank you for your answer. It does seem like running the three OSs on Mac hardware is the solution for me. I was also looking for a work laptop anyway, so I guess that'll have to double as my VM machine and I'll have to limit myself to whatever Apple has to offer. Oh, Apple, not a day goes by that your BS doesn't annoy me. – Waldir Leoncio Feb 8 at 6:23
8

I'm currently using Ubuntu, but there are still some apps I wanted to use on macOS. I found macOS-Simple-KVM.

However, there will be a bit of tweaking you'll need to do before being able to use the App Store on it, and it's limited to macOS Catalina.

For Windows, I just use VirtualBox and my purchased license of Windows 10.

Edit: My apologies. I just realized the mention of "Observing the legality ... since we're talking about using corporate funds for this". A Mac computer will definitely be needed.

4
  • 2
    qemu/docker macOS is against EULA. The OP wants to do this legitimately. – Tetsujin Feb 5 at 19:26
  • 5
    @Tetsujin OP wants to do it legally. Companies often put all kinds of unenforceable restrictions in their EULAs, ignoring them is not illegal. – AndreKR Feb 5 at 21:57
  • 4
    +1 on this, but it seems to be a legal gray area. See github.com/kholia/OSX-KVM#is-this-legal – simplegamer Feb 6 at 4:53
  • I's certainly a grey area until we know how much of the EULA is enforceable. – Jasen Feb 7 at 4:27
4

You can legitimately download and run VM specifically for testing purposes (which is exactly what you are doing) directly from Microsoft at a price of $0.00. You just need to know where to go. It's currently on Microsoft Edge Developer site, but it periodically moves location for one reason or another.

There are several OS & browser combinations available:

  • Win7 (x86) with IE 8, 9, 10 or 11
  • Win8.1 (x86) with IE11
  • Win10 (x64) with MS-Edge

They are available for:

  • VirtualBox
  • Vagrant
  • VMWare Win/Mac
  • Hyper-V Win
  • Parallels Desktop Mac

N.B. These images expire after 90 days so you are recommended to make a snapshot after first installing. A good idea as it lets you roll back to a clean machine!

MS Download Page

I believe that Apple have a similar scheme but you will need an Apple Developer ID to find it. You should be able to create one here by clicking on Account and then Create ID. It may be worth asking on the Apple Developers Forum.

You can also consider online test environments for Mac such as BrowserStack,

5
  • 9
    Nope, you can't run macOS (within EULA) on anything other than Apple hardware, except for some esoteric online solutions like you mentioned. macOS is entirely free of charge & without limitation, you don't need to be a developer to access it… so long as you own the correct hardware to run it. – Tetsujin Feb 5 at 19:24
  • 1
    @Tetsujin - Seems like a very strange definition of free & unlimited. If that is the case then they are in violation of the Open Source licences that they based the OS on and would make their EULA illegal. – Steve Barnes Feb 5 at 19:30
  • 2
    No-one ever said it was free & unlimited, you need to read my whole sentence. It's entirely proprietary & limited by EULA. You could take them to court if you like, over their re-use of darwin & BSD structures, but I doubt you'd be first to have thought of that one. – Tetsujin Feb 5 at 19:32
  • 9
    @SteveBarnes: They don't forbid you from running the open source parts of the OS. Only the Apple parts. (Which are the interesting ones, of course, otherwise you could just as well run GNUStep on FreeBSD.) – Jörg W Mittag Feb 5 at 19:34
  • 1
    And why would you not? :-) – Mawg says reinstate Monica Feb 5 at 19:44
0

If you don't need to do the Mac side too often, and you aren't averse to spending some money, then maybe let someone else like MacStadium do the hosting and provide you with a Mac desktop in the cloud?

1
  • Thank you for your suggestion! It's something to consider, though I'm not sure a subscription would work for me. – Waldir Leoncio Feb 8 at 12:42
-3

This page from the British Apple shop is selling "OS X Lion (10.7) £19.99". There are no qualification mentioned, so that should to the fine in a VM.

You can get a Windows 10 Pro license right now on eBay for $3.97.

You can choose your own VM. I would say that 80% of the companies I work with choose Oracle's Virtual Box, which is free, even for commercial use, over VMware.

Observing the legality of things is important to me, since we're talking about using corporate funds for this

Then, run this past your legal department, or, at least, your boss.

Most common, in my experience, is that software developers are given Windows PCs, to fit in with the rest of the company, who are using MS Office, MS Outlook for mail, etc, and we then run Linux in VirtualBox for our software development and testing.

I have never used MacOS, but don't see any difference if the official Mac store is selling it. If you are totally paranoid, then:

  • write to eBay and ask about the legality of selling serial numbers. In most countries it is perfectly legitimate. Sometimes, these licenses are bought in bulk from the manufacturer, and sometimes they are harvested, along with RAM & harddrives, from (corporate) PCs which are sold as scrap. transferring licenses is perfectly legal in most countries - you bought it, so you won it, so you can sell it if you wish.

  • write to Oracle, or just read their license, to confirm that VirtualBox is free from commercial use. I have seen it used in too many multinationals to doubt that, especially as managers will tell me that they chose it over VMware on price basis.

  • write to Apple (UK) and ask them. Btw, Mac"OS" isn't so much an "OS" as a GUI slapped over BSD. I dno not say that to upset the Mac fanbois, but to tell you that you, who have been "been using nothing but Linux for almost two decades now", will very quickly get up to speed with MacOS. Similarly, Windows now has a GNU/Linux subsystem - read how to install it here. In both cases, then, it's really just a matter of familiarizing yourself with the GUI (and, over time, the best ideas make their way into all) and most common apps (Libra Office will run on all, as will Visual Studio Code).

Good luck, and, please, let us know how it turns out.

I hope taht his helps

16
  • 8
    Sorry, but that's plain wrong: The standard Apple software license explicitly says that you may only run MacOS on an "Apple-branded computer" - apple.com/legal/sla/docs/macOSBigSur.pdf . It appears MacOS also actively detects virtual environments and refuses to run. – sleske Feb 5 at 11:16
  • 4
    I do find the "without qualifications" part rather misleading - the Apple license agreement, which also covers software from the Apple store, is just that. Also, that version is not really "fine in a VM", as it will probably not even run, and is explicitly not supported by VirtualBox. – sleske Feb 5 at 13:38
  • 2
    Also, proposing to "write to Apple" seems rather pointless, as the license agreement explicitly forbids what OP wants to do. The license may or may not be legally binding for OP, but Apple will most certainly just point to the license, so why bother? – sleske Feb 5 at 13:39
  • 2
    You can buy the ancient OS X CD, sure… then all you need to do is to press D at boot & … oh, wait a minute, you're not on a Mac, so that won't work. Both Apple & Microsoft used to make users pay for their OS. Apple stopped doing that more than a decade ago. The only requirement now to run macOS is to… own a Mac. – Tetsujin Feb 5 at 19:21
  • 1
    Most of the “windows 10 license keys” on eBay are illegitimate. Downvoted. – Salocor Feb 6 at 3:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.