Virtual Box虚拟机安装苹果Monterey和big sur版本实践

虚拟机安装苹果实践,在Windows10系统,安装Virtual Box7.1.6,安装虚拟苹果Monterey版本Monterey (macOS 12) 。碰到的主要问题是安装光盘不像Windows那么容易拿到,而且根据网上很多文章制作的光盘,在viritualBox里都无法引导启动,最后只有一个big sur版本的iso可以启动,见后面调试部分。

下载安装软件

 经过多次尝试,只有这个链接里面拿到的Mac OS 盘是可以在virtualBox里引导启动的。

这篇文档里有个big sur版本mac的下载地址:VirtualBox 7.0 安装 macOS big sur + Windows 11系统-零度博客

以下制作的iso光盘都无法在VirtualBox里引导启动,留档。 

尝试下载10.12版本(无法启动)

先下载一个较老的版本10.12,下载页面:如何下载和安装 macOS - 官方 Apple 支持 (中国)

具体下载链接:http://updates-http.cdn-apple.com/2019/cert/061-39476-20191023-48f365f4-0015-4c41-9f44-39d3d2aca067/InstallOS.dmg

转换格式,到华军软件园下载转换软件:dmg转iso(dmg2img)下载2025最新pc版_dmg转iso(dmg2img)电脑版官方免费下载_华军软件园 

使用命令dmg2img.exe InstallOS.dmg InstallOS.iso 转换:

e:\360Downloads>e:\tools\dmg2img\dmg2img.exe InstallOS.dmg InstallOS.isodmg2img v1.6.2 is derived from dmg2iso by vu1tur (to@vu1tur.eu.org)InstallOS.dmg --> InstallOS.isoreading property list, 306327 bytes from address 5007575287 ...decompressing:
opening partition 0 ...             100.00%  ok
opening partition 1 ...             100.00%  ok
opening partition 2 ...             100.00%  ok
opening partition 3 ...             100.00%  ok
opening partition 4 ...             100.00%  ok
opening partition 5 ...             100.00%  ok
opening partition 6 ...             100.00%  ok
opening partition 7 ...             100.00%  ok
opening partition 8 ...             100.00%  okArchive successfully decompressed as InstallOS.iso

经测试,这样转换的iso文件不行。

下载Big Sur和Monterey并转换dmg到iso文件(无法启动)

 如何在Windows 10的VirtualBox中安装macOS High Sierra:如何在Windows 10的VirtualBox中安装macOS High Sierra-腾讯云开发者社区-腾讯云

查看下载的安装文件,在/Applications

Install macOS Big Sur.app

Install macOS Monterey.app

具体来说,Monterry的盘在这里:/Applications/Install macOS Monterey.app/Contents/SharedSupport

ls -l
total 24235624
-rw-r--r--  1 root  wheel  12408638012  2 27 20:19 SharedSupport.dmg

 创建空白磁盘

hdiutil create -o /tmp/HighSierra.cdr -size 7316m -layout SPUD -fs HFS+J

hdiutil create -o /tmp/Monterey.cdr -size 12412m -layout SPUD -fs HFS+J

挂载空白磁盘

hdiutil attach /tmp/Monterey.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/install_build

挂载成功

hdiutil attach /tmp/Monterey.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/install_build
/dev/disk3          	Apple_partition_scheme         	
/dev/disk3s1        	Apple_partition_map            	
/dev/disk3s2        	Apple_HFS                      	/Volumes/install_build

 从安装程序中还原安装镜像到挂载的空白磁盘

asr restore --source "/Applications/Install macOS Monterey.app/Contents/SharedSupport/SharedSupport.dmg" --target /Volumes/Install_build --noprompt --noverify -erase

注意,原文档里参数只有一个“-”,会报错,要修改成两个"--"

输出信息说:

Restored target device is /dev/disk3s2.

也就是/dev/disk3s2 这个盘,挂载点为/Volumes/install_build ,已经做成MacOS启动盘了

因为前面知道创建的空白磁盘是/dev/disk3,所以直接卸载它就行了。可以到“访达”里用鼠标点击卸载,也可以用命令

hdiutil detach /dev/disk3

将dmg变成iso

hdiutil convert /tmp/Monterey.cdr.dmg -format UDTO -o /tmp/Monterey.iso

完成:created: /tmp/Monterey.iso.cdr 

但是用这个文件在virtualbox里还是无法启动。

尝试学习用hdiutil转换dmg到iso(无法启动) 

hdiutil makehybrid  -iso -o Monterey.iso /tmp/Monterey.cdr.dmg 

执行这些命令:

首先,运行以下命令以创建空白磁盘映像:

hdiutil create -o /tmp/HighSierra.cdr -size 7316m -layout SPUD -fs HFS+J

接下来,挂载空白镜像:

hdiutil attach /tmp/HighSierra.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/install_build

现在,您将从安装程序中还原BaseSystem.dmg到新安装的映像:

asr restore -source /Applications/Install/macOS/High/Sierra.app/Contents/SharedSupport/BaseSystem.dmg -target /Volumes/Install_build -noprompt -noverify -erase

请注意,执行完此操作后,目标挂载点的名称已更改为“ OS X Base System / System”。你几乎已经完成!卸载图像:

hdiutil detach /Volumes/OS/X/Base/System

最后,将您创建的映像转换为ISO文件:

hdiutil convert /tmp/HighSierra.cdr.dmg -format UDTO -o /tmp/HighSierra.iso

将ISO移至桌面:

mv /tmp/HighSierra.iso.cdr ~/Desktop/HighSierra.iso

您已经拥有可引导的High Sierra ISO文件!

此方法未测试成功。

创建virtualbox mac虚拟机

知乎一篇文章讲到这样:

VBoxManage.exe modifyvm MacOS --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbffVBoxManage setextradata MacOS "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"VBoxManage setextradata MacOS "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"VBoxManage setextradata MacOS "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"VBoxManage setextradata MacOS "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"VBoxManage setextradata MacOS "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1# 修改屏幕分辨率为 1440 * 900
VBoxManage setextradata MacOS VBoxInternal2/EfiGopMode 4# VirtualBox5.2版本修改分辨率命令
VBoxManage setextradata MacOS VBoxInternal2/EfiGraphicsResolution 1440x900

其实应该不用吧,现在直接有macos的虚拟机选项了。

苹果版本号对应表:

  1. Sonoma (macOS 14)

    • 发布年份:2023
    • 主要特性:增强的桌面小部件、改进的游戏体验、Safari 的新功能等。
  2. Ventura (macOS 13)

    • 发布年份:2022
    • 主要特性:引入了 Stage Manager、改进的邮件和信息应用、增强的隐私保护等。
  3. Monterey (macOS 12)

    • 发布年份:2021
    • 主要特性:引入了 Focus 模式、快捷指令、Universal Control 等。
  4. Big Sur (macOS 11)

    • 发布年份:2020
    • 主要特性:全新的用户界面设计、控制中心、改进的 Safari 浏览器等。
  5. Catalina (macOS 10.15)

    • 发布年份:2019
    • 主要特性:引入了 Sidecar、屏幕时间、完全移除 iTunes 等。
  6. Mojave (macOS 10.14)

    • 发布年份:2018
    • 主要特性:引入了黑暗模式、桌面堆栈、改进的屏幕截图工具等。
  7. High Sierra (macOS 10.13)

    • 发布年份:2017
    • 主要特性:引入了 APFS 文件系统、改进的照片应用、Metal 2 图形技术等。
  8. Sierra (macOS 10.12)

    • 发布年份:2016
    • 主要特性:引入了 Siri、优化的文件管理、Apple Pay 支持等。
  9. El Capitan (macOS 10.11)

    • 发布年份:2015
    • 主要特性:改进的窗口管理、Split View、增强的 Spotlight 搜索等。
  10. Yosemite (macOS 10.10)

    • 发布年份:2014
    • 主要特性:全新的用户界面设计、Handoff 功能、改进的通知中心等。

其它学习

下载mac软件

参考:Making the installer in macOS | OpenCore Install Guide

Using App Store
From a macOS machine that meets the requirements of the OS version you want to install, go directly to the App Store and download the desired OS release and continue to Setting up the installer.
#
Command Line Software Update Utility
Open a terminal window then copy and paste the below command:
sh
softwareupdate --list-full-installers; echo; echo "Please enter version number you wish to download:"; read REPLY; [ -n "$REPLY" ] && softwareupdate --fetch-full-installer --full-installer-version "$REPLY"

This gives you a list of available releases you can choose from. Once downloaded it will be saved in your Applications folder. You can continue to Setting up the installer.
#
Munki's InstallInstallMacOS utility
Note for users running macOS Monterey 12.3 or above
In order to run it, just copy and paste the below command in a terminal window:
sh
mkdir -p ~/macOS-installer && cd ~/macOS-installer && curl https://raw.githubusercontent.com/munki/macadmin-scripts/main/installinstallmacos.py > installinstallmacos.py && sudo
 python installinstallmacos.py

As you can see, we get a nice list of macOS installers. If you need a particular versions of macOS, you can select it by typing the number next to it. For this example we'll choose 10:

This is going to take a while as we're downloading the entire 8GB+ macOS installer, so it's highly recommended to read the rest of the guide while you wait.
Once finished, you'll find in your ~/macOS-Installer/ folder a DMG containing the macOS Installer, called Install_macOS_11.1-20C69.dmg for example. Mount it and you'll find the installer application.
• Note: We recommend to move the Install macOS.app into the /Applications folder, as we'll be executing commands from there.
• Note 2: Running Cmd+Shift+G in Finder will allow you to easily jump to ~/macOS-installer


From here, jump to Setting up the installer to finish your work. If you want to check the integrity of your download, you can check this repository of checks

softwareupdate --list-full-installers; echo; echo "Please enter version number you wish to download:"; read REPLY; [ -n "$REPLY" ] && softwareupdate --fetch-full-installer --full-installer-version "$REPLY"

参考如何在windows下安装mac虚拟机安装 | PingCode智库

使用VirtualBox安装macOS

1、安装Oracle VM VirtualBox

下载并安装VirtualBox。完成后,安装VirtualBox扩展包以获得更好的性能和更多的功能。

2、创建新的虚拟机

打开VirtualBox,点击“新建”。

  • 输入虚拟机名称,类型选择“Mac OS X”,版本选择对应的macOS版本,点击“下一步”。
  • 分配内存大小,建议至少分配8GB,点击“下一步”。
  • 创建虚拟硬盘,选择“VDI(VirtualBox磁盘映像)”,点击“下一步”。
  • 硬盘类型选择“动态分配”,点击“下一步”。
  • 指定虚拟硬盘文件的位置和大小,点击“创建”。

3、加载macOS镜像文件

  • 右键点击创建好的虚拟机,选择“设置”。
  • 在“系统”选项中,确保启用“EFI(特殊操作系统的唯一固件接口)”。
  • 在“存储”选项中,选择“空”,然后点击光盘图标,选择“选择虚拟光盘文件”,选择macOS镜像文件。

4、运行命令行配置(这个非必须)

关闭VirtualBox,打开命令提示符(以管理员身份运行),运行以下命令来配置虚拟机:

cd "C:Program FilesOracleVirtualBox"

VBoxManage modifyvm "你的虚拟机名称" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff

VBoxManage setextradata "你的虚拟机名称" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"

VBoxManage setextradata "你的虚拟机名称" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"

VBoxManage setextradata "你的虚拟机名称" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"

VBoxManage setextradata "你的虚拟机名称" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"

VBoxManage setextradata "你的虚拟机名称" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

5、启动虚拟机并安装macOS

  • 打开VirtualBox,启动虚拟机。
  • 虚拟机会启动macOS安装程序,按照提示进行安装。

实践下来,启动非常慢,大约要20-30分钟才能进入mac安装界面

调试

启动后无法从光盘启动。

解决中。经过多次尝试,只有这个链接里面拿到的Mac OS 盘是可以在virtualBox里引导启动的。

这篇文档里有个big sur版本mac的下载地址:VirtualBox 7.0 安装 macOS big sur + Windows 11系统-零度博客

这个盘是可以启动的 

启动后报错:

Failed to query SMC value from the host (VERR_INVALID_HANDLE).

返回 代码:

E_FAIL (0x80004005)

组件:

ConsoleWrap

界面:

IConsole {6ac83d89-6ee7-4e33-8ae6-b257b2e81be8}

尝试禁用禁用SMC查询

 VBoxManage.exe setextradata "MacOS" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 0

确实管用,又重复原来无法从光盘启动的问题了。光盘启动问题解决见上面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/25723.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLO - pose detect 输入输出接口与执行效率测试

0.参考资料: Pose - Ultralytics YOLO Docs 下面仅对这个模型的输入输出接口和效率做了判断,尚不涉及训练。 pose和segment 相对class detect是相对自然的扩展。object box内部的 subclass就是seg,object box 内部的point array 就是Pose。…

DeepSeek 开源狂欢周(一)FlashMLA:高效推理加速新时代

上周末,DeepSeek在X平台(Twitter)宣布将开启连续一周的开源,整个开源社区为之沸腾,全球AI爱好者纷纷为关注。没错,这是一场由DeepSeek引领的开源盛宴,推翻了传统推理加速的种种限制。这周一&…

MySQL数据库基本概念

目录 什么是数据库 从软件角度出发 从网络角度出发 MySQL数据库的client端和sever端进程 mysql的client端进程连接sever端进程 mysql配置文件 MySql存储引擎 MySQL的sql语句的分类 数据库 库的操作 创建数据库 不同校验规则对查询的数据的影响 不区分大小写 区…

【洛谷贪心算法】P1106删数问题

这道题可以使用贪心算法来解决,核心思路是尽量让高位的数字尽可能小。当我们逐步删除数字时,会优先删除高位中相对较大的数字。具体做法是从左到右遍历数字序列,当发现当前数字比它后面的数字大时,就删除当前数字,直到…

【springboot】Spring 官方抛弃了 Java 8!新idea如何创建java8项目

解决idea至少创建jdk17项目 问题 idea现在只能创建最少jdk17,不能创建java8了吗?解决 问题 idea现在只能创建最少jdk17,不能创建java8了吗 我本来以为是 IDEA 版本更新导致的 Bug,开始还没在意。 直到我今天自己初始化项目时才发现&am…

MyBatis 操作数据库(详细入门详细)

本章⽬标 1. 使⽤MyBatis完成简单的增删改查操作, 参数传递. 2. 掌握MyBatis的两种写法: 注解 和 XML⽅式 3. 掌握MyBatis 相关的⽇志配置 铺垫 在应⽤分层学习时, 我们了解到web应⽤程序⼀般分为三层,即:Controller、Service、Dao . 之前的案例中…

C# 基于.NET Framework框架WPF应用程序-MQTTNet库实现MQTT消息订阅发布

C# 基于.NET Framework框架WPF应用程序-MQTTNet库实现MQTT消息订阅发布 MQTT简述MQTTNet简述创建项目(基于.NET Framework框架)安装MQTTNet库项目源码运行效果 MQTT简述 mqtt官网 MQTTNet简述 MQTTnet MQTTnet 是一个强大的开源 MQTT 客户端库&#…

武汉大学生命科学学院与谱度众合(武汉)生命科技有限公司举行校企联培座谈会

2025年2月21日下午,武汉大学生命科学学院与谱度众合(武汉)生命科技有限公司(以下简称“谱度众合”)在学院学术厅举行校企联培专业学位研究生合作交流会。武汉大学生命科学学院副院长刘星教授、生命科学学院周宇教授、产…

【JSON2WEB】15 银河麒麟操作系统下部署JSON2WEB

【JSON2WEB】系列目录 【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSO…

Redis 持久化方式:RDB(Redis Database)和 AOF(Append Only File)

本部分内容是关于博主在学习 Redis 时关于持久化部分的记录,介绍了 RDB 和 AOF 两种持久化方式,详细介绍了持久化的原理、配置、使用方式、优缺点和使用场景。并对两种持久化方式做了对比。文章最后介绍了 Redis 持久化的意义并与其他常见的缓存技术做了…

华为云之使用鲲鹏弹性云服务器部署Node.js环境【玩转华为云】

华为云之使用鲲鹏弹性云服务器部署Node.js环境【玩转华为云】 一、本次实践介绍1.1 实践环境简介1.3 本次实践完成目标 二、 相关服务介绍2.1 华为云ECS云服务器介绍2.2 Node.js介绍 三、环境准备工作3.1 预置实验环境3.2 查看预置环境信息 四、登录华为云4.1 登录华为云4.2 查…

《Python实战进阶》No 7: 一个AI大模型聊天室的构建-基于WebSocket 实时通信开发实战

第7集: 一个AI大模型聊天室的构建-基于WebSocket 实时通信开发实战 在现代 Web 开发中,实时通信已经成为许多应用的核心需求。无论是聊天应用、股票行情推送,还是多人协作工具,WebSocket 都是实现高效实时通信的最佳选择之一。本…

(转)Java单例模式(1)

l单例模式的好多:节约了内存,提高了代码的执行效率。

【PCIe 总线及设备入门学习专栏 1.2 -- 访问 PCIe 设备过程】

文章目录 OverviewPCIe 系统软件层次TLP 通用格式配置过程PCIe 设备配置寄存器Type0 Configuration Request配置过程Overview 对于PCIe 设备来说,它与桥的连接直通过两条差分信号,那么当桥下面接入多个PCIe 设备时,它是如何选中某个设备的呢?我面前面一篇文件介绍了 PCI设…

HarmonyOS NEXT组件深度全解:十大核心组件开发指南与实战

文章目录 引言:组件化开发的未来趋势第一章:基础UI组件精要1.1 Button:交互设计的基石1.1.1 多态按钮实现1.1.2 高级特性 1.2 Text:文字渲染的进阶技巧1.2.1 富文本混排1.2.2 性能优化 第二章:布局组件深度解析2.1 Fle…

win11编译pytorch cuda128版本流程

Geforce 50xx系显卡最低支持cuda128,torch cu128 release版本目前还没有释放,所以自己基于2.6.0源码自己编译wheel包。 1. 前置条件 1. 使用visual studio installer 安装visual studio 2022,工作负荷选择【使用c的桌面开发】,安装完成后将…

log4j2中<logger>中没有指定appender的输出

一 优先级 1.1 规则 1.如果一个 <logger> 没有显式配置 appender&#xff0c;Log4j2 会将该日志事件传递给其 父 Logger 的 appender。 2.这种传递行为会一直向上追溯&#xff0c;直到找到配置了 appender 的 Logger&#xff0c;或者到达 Root Logger。 3.如果日志事…

【MySQL】(1) 数据库基础

一、什么是数据库 数据库自行选择了合适的数据结构来组织数据&#xff0c;方便用户写入&#xff08;存储介质&#xff0c;如硬盘&#xff0c;机器断电不会丢失数据&#xff09;和查询数据。在数据结构部分&#xff0c;我们讲到的 ArrayList、HashMap 集合类对象也能存储数据&am…

基于Spring Boot的产业园区智慧公寓管理系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

nginx+keepalived负载均衡及高可用

1 项目背景 keepalived除了能够管理LVS软件外&#xff0c;还可以作为其他服务的高可用解决方案软件。采用nginxkeepalived&#xff0c;它是一个高性能的服务器高可用或者热备解决方案&#xff0c;Keepalived主要来防止服务器单点故障的发生问题&#xff0c;可以通过其与Nginx的…