https://eclecticlight.co/2024/11/14/m4-macs-cant-virtualise-older-macos/ Skip to content [eclecticlight] The Eclectic Light Company Macs, painting, and more Main navigation Menu * Downloads * Freeware * M-series Macs * Mac Problems * Mac articles * Macs * Art hoakley November 14, 2024 Macs, Technology M4 Macs can't virtualise older macOS [macos121] If you've already got a new M4 Mac and tried to run a macOS virtual machine on it, then you might have been disappointed. It seems that M4 chips can't virtualise any version of macOS before 13.4 Ventura. So before you trade in or pass on your M1, M2 or M3 Mac, if you need access to older VMs, you might like to check whether this affects you. I'm indebted to Csaba Fitzl for drawing my attention to this problem, and for reporting it to Apple in Feedback FB15774587. It has also been reported as affecting UTM, and I believe affects all other macOS virtualisation software for Apple silicon. The bug Running a macOS VM for any version before 13.4 Ventura on an M4 Mac results in a black screen, and the VM fails to boot. This is true whatever settings are used in the virtualiser, even if it's set to boot the VM in Recovery mode. It's also true when that VM has been built on that Mac: although that appears to complete successfully, when first run that VM opens as a black screen and never proceeds with personalisation and setup. Currently the only way to run a VM with macOS prior to 13.4 Ventura is to do so on a host with an M1, M2 or M3 chip. Can this be fixed? Unfortunately, as this bug prevents the VM from booting, there's no reliable way to access its log to discover what's going wrong there. There's no sign of the failure in the host's log either: the host appears to initialise its Virtio and other support normally, without errors or faults. After those, virtualisation processes on the host fall silent as they wait for the VM to start, which never happens. There is a useful clue in Activity Monitor, though: in its CPU pane, despite being allocated multiple virtual cores, only one is seen to be active on the host. That implies the failure is occurring before the VM kernel boots the other cores, an event that occurs early during the kernel boot phase. Until that point, pre-boot phases and the kernel run on just a single CPU core. macOS 13.4 updated iBoot to version 8422.121.1, so at first sight the VM could be failing when running older firmware. That doesn't appear likely, as version 8422.121.1 was also installed in the 12.6.6 security update, so 12.7.x shouldn't suffer this problem, but it does. It thus appears most likely that this bug strikes in the early part of kernel boot, in which case the most feasible solution would be to fix the bug in macOS kernels prior to 13.4, and promulgate new IPSW image files for those. I suspect that's very unlikely to happen, and as far as I'm aware it would be the first time that Apple has issued revised IPSWs. Which macOS can you virtualise? Support for lightweight virtualisation of macOS on Apple silicon Macs was still in progress in the first version of macOS to run on M1 chips, Big Sur. You therefore cannot create or run Big Sur VMs. macos12 The first versions that can run in VMs are macOS 12 Monterey, although prior to 12.4 they can sometimes be a bit fractious. They also have major limitations, such as not supporting shared folders with the host. macos121 This is 12.1 with its old System Preferences, running happily on an M3 Pro. macos13 macOS Ventura should run well on M1, M2 and M3 hosts, and 13.4 and later on M4 hosts too. macos14 macOS Sonoma should run even better on all current Apple silicon Macs, and delivers a much improved display with autoscaling. However, 14.2 and 14.2.1 don't automatically support shared folders because of a bug that was fixed in 14.3. macos15 macOS Sequoia is fully compatible, and adds support for iCloud Drive and some other Apple Account features, although still won't run App Store apps. It may also fail to install the required extras to support Apple Intelligence. Summary * Currently, M4 Macs can only run VMs of macOS Ventura 13.4 and later, 14 Sonoma, and 15 Sequoia. * M1, M2 and M3 Macs can run VMs of macOS Monterey 12.0.1 and later. * macOS Big Sur 11 can't be virtualised on Apple silicon. Further information Viable and virtualisation Why macOS 14.2 & 14.2.1 VMs lose shared folders, and how to work around it Postscript I'm grateful for the suggestion that it might be possible to work around this problem by running the older VM on a single core. Although I did manage to do that on an M3 (the first time I have seen recent macOS running on just one core!), that fails just the same on an M4, I'm afraid. Share this: * Twitter * Facebook * Reddit * Pinterest * Email * Print * Like Loading... Related Posted in Macs, Technology and tagged Apple silicon, bug, M4, macOS, virtualisation, VM. Bookmark the permalink. 23Comments Add yours 1. 1 [b4b5fc3072d2] Tim R on November 14, 2024 at 1:12 pm Reply If this bug had to happen, at least we're not at the point where Intel/Rosetta support has been discontinued. That seemingly would've been a huge problem for people. LikeLiked by 1 person 2. 2 [fbb0e632dadf] paulrockwell3a19d4fef7 on November 14, 2024 at 4:14 pm Reply Hopefully it's just a bug and not a hardware dependency. My fear is that there's something Apple put in the M4 hardware that required an OS change to support. Howard, have you tried any Linux distributions on the M4 to see if anything similar happens? LikeLiked by 1 person + 3 [87cc8acbb0b9] hoakley on November 14, 2024 at 4:16 pm Reply No, I haven't. But Linux is completely different, and doesn't boot the macOS kernel. So why should it be affected? Howard LikeLike 3. 4 [1b57550618a6] Brian on November 14, 2024 at 4:14 pm Reply Good information, thank you. Do you know if Mojave can be emulated with anything on an M4 Mac, so 32-bit apps can be run? UTM and Virtual Buddy don't seem to. It's funny that macOS 9 can be emulated with UTM and SheepShaver, but the much newer Mojave can't. I don't understand that. LikeLiked by 1 person + 5 [b221c18c3553] David C. on November 14, 2024 at 4:45 pm Reply As I understand it, UTM uses virtualization if the host and guest platforms have compatible CPU architectures, and emulation if they are not compatible. If it is using Apple's virtualization framework for the virtualization, then your observation should not be surprising. LikeLiked by 1 person o 6 [1b57550618a6] Brian on November 14, 2024 at 5:22 pm Reply Thank you. Presumably then UTM or another tool needs to bypass Apple's virtualization framework and emulate the Intel architecture for Mojave. It should be possible considering the power of M-series chips. LikeLiked by 1 person # 7 [b221c18c3553] David C. on November 14, 2024 at 5:32 pm The QEMU library on which UTM is based can certainly create an emulated Intel computer on which Mojave could theoretically be installed. Whether the UTM wrapper around QEMU lets you do this and whether Mojave will run in such an emulator are two questions I can't answer because I've never worked with UTM and I've never tried to run a modern macOS in an emulator. If you want to give it a try, I'd start by making a bootable Intel installer for Mojave, then manually create a suitable emulated Intel computer (I've no clue if/how this should be done) and try to boot that installer in the VM. But this may be a difficult task. If the guest macOS doesn't recognize its environment as a Mac, you may be forced to jump through all the hackintosh hoops in order to get it to work. Not an activity for the faint of heart. LikeLiked by 1 person # 8 [87cc8acbb0b9] hoakley on November 14, 2024 at 5:52 pm I'd be very interested if someone were able to create a virtual PC running on Apple silicon. I think the effort involved in doing that in anything beyond the most trivial emulation would be vast, particularly as Apple doesn't document any of the hardware devices in its M-series chips, and they change with every new family - see the work that had to be done by Asahi Linux, for example. Howard. LikeLiked by 1 person # 9 [87cc8acbb0b9] hoakley on November 14, 2024 at 5:49 pm Please see my earlier explanation. Howard. LikeLike o 10 [87cc8acbb0b9] hoakley on November 14, 2024 at 5:48 pm Reply Thank you - almost there. When virtualising macOS on Apple siiicon, UTM uses the Virtualization API exactly the same as everyone else, including Parallels and my own virtualisers. There is no other way without investing many man-years of work. Howard. LikeLiked by 1 person + 11 [fbb0e632dadf] paulrockwell3a19d4fef7 on November 14, 2024 at 5:21 pm Reply You might be able to get older macOS X versions that need Intel CPUs using UTM's Intel CPU emulation (not virtualization) - but you're running on emulated generic PC hardware. Apple has put up roadblocks in macOS that make it more of a science project to install it on non-Apple hardware. That may make the macOS installation process on an emulated configuration more like building a Hackintosh on non-Apple hardware. LikeLiked by 1 person o 12 [87cc8acbb0b9] hoakley on November 14, 2024 at 5:49 pm Reply Please see my earlier answer as to why you can't do this on Apple silicon. Howard. LikeLike + 13 [87cc8acbb0b9] hoakley on November 14, 2024 at 5:45 pm Reply Perhaps I need to explain, although you'll find this explored in at least one article here. All current virtualisers for Apple silicon AFAIK use Apple's Virtualization API - and that's certainly true for macOS guests. Parallels (who were involved in its development), my own Viable/ViableS/Vimy, Virtual Buddy, the whole lot all use the same API provided by Apple. The reason is simple: if you opt instead to use the Hypervisor API, then you have to do all the work to support host devices. Now on PCs, there's a wealth of drivers available, and hardware manufacturers are keen to provide easy ways to access their devices. On Apple silicon, each chip family has different devices, and none of them is documented. Not even slightly. Think just of GPUs, which required so much effort in Asahi Linux, which faced the same problem. Now multiply that by 4, for each family of GPUs. And that's just the start - there's every single device to consider and implement a driver for. For the Virtualization API, Apple implemented Virtio devices, first appearing around Catalina/Big Sur but not functional until Monterey. If you're running your own Hypervisor route, you can use those from Monterey onwards, but not before. Virtio is now the standard for virtualising Linux (which is why that's so easy on Apple silicon), and third-party for Windows. Not that Apple documents its Virtio devices either, as they're 'for internal use only'. So using the Virtualization API saves developers man-years of work, and constant catch-up with the next new M family. But it only works from Monterey onwards. You're on your own before that. The easy way for emulation of x86 on Apple silicon would of course be to use Rosetta 2, but that's not available because it can't translate system code like the kernel and kexts, so can't run any x86 operating system. I believe that UTM provides QEMU for such emulation purposes, and I'm sure it'll run x86 code, but a whole macOS requires an interface or driver layer on which to run anything useful, to say nothing of how to run kernel-level code. I thought that UTM had solved that for Apple silicon, but haven't seen it, and you'd need to ask its developers if that's what you want. I hope that clarifies. Howard. LikeLike 4. 14 [0047bbd1c129] Paul R on November 14, 2024 at 4:34 pm Reply I'm just repeating Brian's question: "Do you know if Mojave can be emulated with anything on an M4 Mac, so 32-bit apps can be run? UTM and Virtual Buddy don't seem to. It's funny that macOS 9 can be emulated with UTM and SheepShaver, but the much newer Mojave can't. I don't understand that." LikeLiked by 1 person + 15 [87cc8acbb0b9] hoakley on November 14, 2024 at 5:46 pm Reply Please see my answer to him. Howard. LikeLike 5. 16 [b221c18c3553] David C. on November 14, 2024 at 4:46 pm Reply It would be an interesting test to see if the same issues occur if a different hypervisor (maybe VirtualBox or Parallels) is used to host the VM. LikeLiked by 1 person + 17 [87cc8acbb0b9] hoakley on November 14, 2024 at 4:48 pm Reply They all use Apple's virtualisation API, AFAIK, and none uses the Hypervisor API at present. That's certainly true of Parallels. Howard LikeLiked by 1 person 6. 18 [1d18b2fee1a1] Sven on November 14, 2024 at 9:07 pm Reply It looks like it might indeed be possible to emulate Intel macOS on Apple Silicon; but it's certainly difficult to set up - and too slooooow: https://khronokernel.com/apple/silicon/2021/01/17/QEMU-AS.html LikeLiked by 1 person + 19 [87cc8acbb0b9] hoakley on November 14, 2024 at 10:45 pm Reply Thank you - yes, I do remember that. While an impressive achievement, I don't think that is going to help someone run old 32-bit apps. Howard. LikeLike 7. 20 [d58afcd589f0] joethewalrus on November 15, 2024 at 10:25 am Reply This is barely on topic (if I'm being generous), but now that the general ISO is out for Windows 11 on ARM (as reported yesterday in Ars Technica, with links), I downloaded the US English version and gave it a try in Liviable, just for fun. I was half expecting the black screen as described above, and that's exactly what I got. I've been using Parallels for Windows since the earliest insider builds of Windows 10 that would run on Apple Silicon, and that works fine for me, so consider this an FYI and not an appeal for Windows support. M1 Pro Host 2E6P, virtualizing 4 cores and 6GB RAM. LikeLiked by 1 person + 21 [87cc8acbb0b9] hoakley on November 15, 2024 at 12:48 pm Reply Thank you for your interesting experimental results. I'm not surprised, as the virtualiser looks for a bootable installer of Linux. Sadly, Apple doesn't support Windows in its Virtualization API, and I don't see that it ever will. What might have been feasible is something like Boot Camp, but that would require cooperation between Apple and Microsoft, and I think the latter is constrained by its agreements with Qualcomm. Howard. LikeLiked by 1 person 8. 22 [9d26cd80bf98] mac on November 15, 2024 at 10:19 pm Reply You can run OS 10.x (and OS 9!) In UTM using these configs: https://github.com/adespoton/utmconfigs/ Have fun! LikeLiked by 1 person + 23 [87cc8acbb0b9] hoakley on November 15, 2024 at 10:28 pm Reply Thank you. I'll be interested to know if anyone gets those to work usefully to the point where they can run an app like Bento. Howard LikeLike Leave a comment Cancel reply [ ] [ ] [ ] [ ] [ ] [ ] [ ] D[ ] This site uses Akismet to reduce spam. Learn how your comment data is processed. Quick Links * Free Software Menu * System Updates * M-series Macs * Mac Troubleshooting Summary * Mac problem-solving * Painting topics * Painting * Long Reads Search Search for: [ ] [Search] Monthly archives * November 2024 (39) * October 2024 (78) * September 2024 (77) * August 2024 (75) * July 2024 (77) * June 2024 (71) * May 2024 (79) * April 2024 (75) * March 2024 (81) * February 2024 (72) * January 2024 (78) * December 2023 (79) * November 2023 (74) * October 2023 (77) * September 2023 (77) * August 2023 (72) * July 2023 (79) * June 2023 (73) * May 2023 (79) * April 2023 (73) * March 2023 (76) * February 2023 (68) * January 2023 (74) * December 2022 (74) * November 2022 (72) * October 2022 (76) * September 2022 (72) * August 2022 (75) * July 2022 (76) * June 2022 (73) * May 2022 (76) * April 2022 (71) * March 2022 (77) * February 2022 (68) * January 2022 (77) * December 2021 (75) * November 2021 (72) * October 2021 (75) * September 2021 (76) * August 2021 (75) * July 2021 (75) * June 2021 (71) * May 2021 (80) * April 2021 (79) * March 2021 (77) * February 2021 (75) * January 2021 (75) * December 2020 (77) * November 2020 (84) * October 2020 (81) * September 2020 (79) * August 2020 (103) * July 2020 (81) * June 2020 (78) * May 2020 (78) * April 2020 (81) * March 2020 (86) * February 2020 (77) * January 2020 (86) * December 2019 (82) * November 2019 (74) * October 2019 (89) * September 2019 (80) * August 2019 (91) * July 2019 (95) * June 2019 (88) * May 2019 (91) * April 2019 (79) * March 2019 (78) * February 2019 (71) * January 2019 (69) * December 2018 (79) * November 2018 (71) * October 2018 (78) * September 2018 (76) * August 2018 (78) * July 2018 (76) * June 2018 (77) * May 2018 (71) * April 2018 (67) * March 2018 (73) * February 2018 (67) * January 2018 (83) * December 2017 (94) * November 2017 (73) * October 2017 (86) * September 2017 (92) * August 2017 (69) * July 2017 (81) * June 2017 (76) * May 2017 (90) * April 2017 (76) * March 2017 (79) * February 2017 (65) * January 2017 (76) * December 2016 (75) * November 2016 (68) * October 2016 (76) * September 2016 (78) * August 2016 (70) * July 2016 (74) * June 2016 (66) * May 2016 (71) * April 2016 (67) * March 2016 (71) * February 2016 (68) * January 2016 (90) * December 2015 (96) * November 2015 (103) * October 2015 (119) * September 2015 (115) * August 2015 (117) * July 2015 (117) * June 2015 (105) * May 2015 (111) * April 2015 (119) * March 2015 (69) * February 2015 (54) * January 2015 (39) Tags APFS Apple Apple silicon backup Big Sur Blake bug Catalina Consolation Console Corinth Delacroix Disk Utility El Capitan extended attributes Finder firmware Gatekeeper Gerome HFS+ High Sierra history of painting iCloud Impressionism landscape LockRattler log M1 Mac Mac history macOS macOS 10.12 macOS 10.13 macOS 10.14 macOS 10.15 macOS 11 macOS 12 macOS 13 macOS 14 malware Metamorphoses Mojave Monet Monterey Moreau MRT myth narrative OS X Ovid painting performance Pissarro Poussin privacy Renoir riddle Rubens Sargent scripting security Sierra SilentKnight Sonoma SSD Swift Time Machine Tintoretto Turner update upgrade Ventura xattr Xcode XProtect Statistics * 18,180,217 hits Blog at WordPress.com. Footer navigation * Free Software Menu * About & Contact * Macs * Painting * Downloads * Mac problem-solving * Extended attributes (xattrs) * Painting topics * SilentKnight, Skint, silnite, LockRattler, SystHist & Scrub * DelightEd & Podofyllin * xattred, Spotcord, Metamer & xattr tools * 32-bitCheck & ArchiChect * XProCheck, T2M2, Ulbow, Consolation and log utilities * Cirrus & Bailiff * Taccy, Signet, Precize, Alifix, UTIutility, Sparsity, alisma * Versatility & Revisionist * Text Utilities: Nalaprop, Dystextia and others * PDF * Keychains & Permissions * Updates * Spundle, Cormorant, Stibium, Dintch, Fintch and cintch * Long Reads * Mac Troubleshooting Summary * M-series Macs * Mints: a multifunction utility * VisualLookUpTest * Virtualisation on Apple silicon * System Updates * Saturday Mac Riddles * Last Week on My Mac * sysctl information Secondary navigation * Search Post navigation Reading visual art: 173 Sage The Real Country: Market Search for: [ ] [Search] Begin typing your search above and press return to search. Press Esc to cancel. * Comment * Reblog * Subscribe Subscribed + [croppe] The Eclectic Light Company Join 6,118 other subscribers [ ] Sign me up + Already have a WordPress.com account? Log in now. * + [croppe] The Eclectic Light Company + Customize + Subscribe Subscribed + Sign up + Log in + Copy shortlink + Report this content + View post in Reader + Manage subscriptions + Collapse this bar Loading Comments... Write a Comment... [ ] Email (Required) [ ] Name (Required) [ ] Website [ ] [Post Comment] %d [b]