To start your Windows virtual machine run: quickemu --vm windows-10.conf
> quickemu --vm windows-10.conf ERROR! QEMU 6.0.0 or newer is required, detected 10.1.2.
For anyone interested, the magic incantation in the autoattend.xml is:
<settings pass="specialize">
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>cmd /c powershell.exe -ExecutionPolicy Bypass -File A:\scripts\setup-dev.ps1 > \\.\COM1</Path>
<Description>Run dev setup script</Description>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
Redirecting to COM1 is a fun hack I discovered that allows you to remotely monitor these from build scripts.Even better would be figuring out how to slipstream the choco packages into the ISO - it's not super reliable to install these packages in my recent experience.
Quickemu: Quickly run optimised Windows, macOS and Linux virtual machines - https://news.ycombinator.com/item?id=39188432 - Jan 2024 (133 comments)
This may just become my next most favorite project on GitHub!
For anyone who would create their own OS, or just experiment with other OS'es, this could be a godsend!
The set of ideas which gives rise to this tool are brilliant, and while I haven't reviewed all of the code for potential security implications (as I would want to if I were deploying it to a production server in a business environment) -- it looks very well thought out at first glance!
Extra kudos for having a flake.nix (for us Nix users!)
(If you're using NixOS or the Nix package manager, you can download it here https://search.nixos.org/packages?channel=25.11&query=quicke... , i.e., "$ nix-shell -p quickemu")
And extra extra kudos for having Alpine, Nix, ReactOS, TinyCore and OpenBSD as downloadable OS choices!
In the future, I'd love to see Windows XP, Windows 2000, and Windows NT too (assuming that Microsoft would permit that!) -- but that would just be the icing on the cake!
Short review: There's potentially something for everyone here! (Well, any OS person! Could Minix 3 be added in the future? :-) )
Long review: Will definitely have to watch this project in the future, to see where it goes!
My second reaction was in line with yours. This is awesome. Bookmarked already. +1 for the suggestion of doing more ancient Windows versions.
I installed Sequoia but it’s painfully slow on a 4 core 3ghz something or other. I previously did the one after high sierra and it’s reasonably snappy, but APFS outdated for my situation
Proxmox was a good start but I don’t need it (I think)
Unofficially? https://github.com/kholia/OSX-KVM
There isn't currently a real ecosystem of non-Apple ARM machines anyway.
Intel-based Macs were fundamentally commodity hardware. You can buy AMD GPUs which are very close to what Apple shipped. Select the right components, add a few software patches, and everything just kind of works.
By contrast, you can't get an Apple Silicon GPU. And on ARM, macOS doesn't support software rendering at all. Graphics alone are going to kill any future Hackintosh prospects, because even if you can get Darwin to boot on your ARM laptop, you won't be able to display anything.
An an aside, Apple never seemed to try very hard to kill personal Hackintoshes, I really don't think they cared. Now it's going to happen incidentally.
LXD manages qemu VMs and supports snapshotting, live migration, and a number of storage drivers: https://news.ycombinator.com/item?id=45270468
virtio-gpu-rutabaga works with Android VMs on qemu, but does it work with Win/Mac/Lin: https://news.ycombinator.com/item?id=42921315
That would be a jixe step up.
This guy seems to have a brew package for it.
At the bottom he has a warning and a link to another blog post about HVF acceleration (no idea what that is) which seems to work on the command line. I suspect there'd be a way to incorporate that to the xml file in the gui.
For something that is a bash wrapper over qemu these limitations are surprising.
Doing stuff like this, and integrating it into the main project puts the whole thing at risk.
The only real reason to MacOS is it's tight integration with Mac hardware.
Weird flex...
ToS are only relevant for those who are a party to it - this is the users responsibility.
Historically, while Apple is protective of their IP they have not been acting like Nintendo with regards to emulators and hackintosh and such in court.
Weird concern unless you can point to actual threats or precedence.
> Weird flex
On the contrary, it's a legitimately useful feature that has popular demand.
https://www.xda-developers.com/i-tried-running-macos-inside-...
In the article it's mentioned a docker version of this got a dmca takedown.
Apple does not license MacOS for use on hardware they don't sell. It can be argued this feature does not have any legitimate functionality.
At the same time, if you must decide to violate the license terms of OSX it should be done in a separate fork.
GitHub will just delete the whole project if Apple ever catches wind of it and complains. The DMCA isn't exactly a court proceeding, usually the content host determines the juice isn't worth the squeeze.
That sucks for everyone who decides to use it for legitimate purposes.
To be blunt Apple gate keeps there software and build tools behind expensive hardware. If you disagree, use different software.
Edit: Given I'm 90% sure they aren't running Arm OSX anyway, this is going to be irrelevant in about 2 years.
Anymore. They don’t license it anymore. And the answer is money. So much money it is part of one of SV’s favorite success stories.
They don’t appear to give a ahit about hobby use. If you are running macOS commercial on non Apple hardware they will figuratively murder you.
And you’re allowed to run macOS VMs on top of macOS hosts, so the functionally is sound in that context
As others have pointed out, emulating macOS is only a ToS violation if done on non-Apple hardware, and this tool supports macOS. There is a legitimate usecase of running macOS VM on macOS.
Sure, you could use some apple-provided emulation tool instead of QEMU but that's a matter of choice, not a violation of ToS.
Disclaimer: I'm not a lawyer. This is not legal advice.
Otherwise it's not an emulator but some kind of pass-through mechanism.