ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

4步装出macOS虚拟机:从官方镜像到可启动macOS虚拟机ISO的完整流程

4步装出macOS虚拟机:从官方镜像到可启动macOS虚拟机ISO的完整流程

4步装出macOS虚拟机:从官方镜像到可启动macOS虚拟机ISO的完整流程

【免费下载链接】macos-virtualboxPush-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox on x86 CPUs for Windows, Linux, and macOS项目地址: https://gitcode.com/gh_mirrors/ma/macos-virtualbox

macos-virtualbox 是 VirtualBox 安装 macOS 的自动化脚本:它从 Apple 官方服务器下载安装文件,把 BaseSystem.dmg 转成可启动 ISO 介质,自动完成 macOS 虚拟机的创建、配置与引导。

动手之前

开始安装前先核对以下条件,缺失任意一项脚本都会明确报错并退出:

  • 宿主系统:x86 CPU 且已开启 VT-x / AMD-V 虚拟化;支持 Linux(主流发行版)、Windows(Cygwin 或 WSL1)、macOS
  • VirtualBox:≥ 6.1.6;安装 Catalina 版本时要求 ≥ 6.1.4
  • 基础工具:bash ≥ 4.3、GNU coreutils、gzip、unzip、wget、xxd、dmg2img ≥ 1.6.5(Cygwin 源里没有 dmg2img,脚本会自动下载)
  • 可选:tesseract-ocr ≥ 4,用 OCR 识别虚拟机画面,减少需要手动按键的次数
  • 磁盘空间:约 50GB 可用空间(其中约 25GB 是安装完成后可删除的临时文件)

获取脚本:

git clone https://gitcode.com/gh_mirrors/ma/macos-virtualbox cd macos-virtualbox

主流程四步走

第 1 步:获取官方安装镜像

脚本先查询 Apple 官方软件更新目录,定位脚本头部所选 macOS 版本(默认 Catalina)的安装地址,再从swcdn.apple.com下载BaseSystem.dmg、InstallESDDmg.pkg等文件:

# 直接跑完整流程,下载在 prepare_macos_installation_files 阶段完成 ./macos-guest-virtualbox.sh

第 2 步:把 BaseSystem.dmg 转成可启动 ISO 介质

BaseSystem.dmg先由dmg2img转成原始镜像,再写入虚拟磁盘;数 GB 的安装包会被切成 1GB 分片、打包成 VISO(VirtualBox 的虚拟 ISO)镜像,原因是常规 ISO 文件系统放不下超过 2GB 的单文件:

dmg2img Catalina_BaseSystem.dmg Catalina_BaseSystem.img # DMG 转原始镜像 VBoxManage convertfromraw --format vdi Catalina_BaseSystem.img Catalina_BaseSystem.vdi

第 3 步:创建并配置 macOS 虚拟机

脚本创建一个 64 位 macOS 虚拟机,并套用内置默认值:2 核、4096MB 内存、128MB 显存、80GB 虚拟磁盘、EFI 固件、1280x800 分辨率。

VBoxManage createvm --name "macOS" --ostype "MacOS1013_64" --register VBoxManage modifyvm "macOS" --cpus 2 --memory 4096 --vram 128 --firmware efi VBoxManage setextradata "macOS" "VBoxInternal2/EfiGraphicsResolution" "1280x800"

第 4 步:启动验证

启动虚拟机后,脚本自动完成"写入安装介质 → 安装到目标磁盘"两趟流程,默认只需按提示按回车(不足 10 次):

VBoxManage startvm "macOS"

⚠️ 在脚本跑完之前,不要手动操作虚拟机窗口,否则脚本的按键注入会乱序。

排错

症状:虚拟机提示找不到启动盘

原因:VISO 安装介质未正确挂载,或虚拟机存储配置被改动。修复:重新挂载安装介质,或从失败阶段重跑:

VBoxManage storageattach "macOS" --storagectl "SATA" --port 2 --type dvddrive --medium "Catalina_installation_files.viso" # 或者从失败阶段重跑 ./macos-guest-virtualbox.sh populate_bootable_installer_virtual_disk

症状:卡在 Apple logo,或停在 "LoadKernelFromStream" / "EXITBS"

原因:宿主 CPU 型号未被 macOS 客户系统识别(macOS 并不支持 VirtualBox 支持的所有 CPU)。修复:在虚拟机关机状态下切换 CPU 档案,逐个尝试 6 个预置档案:

VBoxManage modifyvm "macOS" --cpu-profile "Intel Core i7-6700K" # 可选项:"Intel Xeon X5482 3.20GHz" "Intel Core i7-2635QM" "Intel Core i7-3960X" # "Intel Core i5-3570" "Intel Core i7-5600U" "Intel Core i7-6700K"

症状:脚本报未使用硬件虚拟化(NEM)并退出

原因:Hyper-V、WSL2、Windows 内存完整性等功能占用了 VT-x / AMD-V,VirtualBox 回退到 NEM 模式,而 macOS 在 NEM 下存在内存损坏问题。修复:关闭上述 Windows 功能,或改用原生 Linux / macOS 宿主。

症状:安装中途被中断

原因:网络断开或误操作终止了脚本。修复:脚本支持按阶段续跑;用troubleshoot阶段可生成含系统信息与 VirtualBox 日志的文件辅助定位:

./macos-guest-virtualbox.sh populate_macos_target_disk and_all_subsequent_stages ./macos-guest-virtualbox.sh troubleshoot

进阶调整

参数都位于脚本头部的set_variables()函数中;也可以不改源码,改用外部变量文件加载:

# 文件内容为变量赋值行,例如 macOS_release_name="HighSierra" export macos_vm_vars_file=/path/to/vars.txt

常用参数与默认值:

变量默认值说明
macOS_release_name"Catalina"安装的 macOS 版本,取舍见下文
storage_size80000虚拟磁盘容量(MB),最小 22000
memory_size4096内存(MB),最小 2048
cpu_count2CPU 核心数,最小 2
gpu_vram128显存(MB),范围 34~128
resolution"1280x800"主显示分辨率
storage_format"vdi"磁盘格式,vmdk便于日后导入 QEMU/KVM
cpu_profile"host"CPU 档案

macOS 版本取舍:

  • Catalina(10.15):三者中最新,要求 VirtualBox ≥ 6.1.4 且虚拟磁盘 ≥ 25000MB
  • Mojave(10.14):居中,对较旧 VirtualBox 的兼容性更好
  • High Sierra(10.13):要求最低,适合较老的硬件

主分辨率支持 11 档:5120x2880、2880x1800、2560x1600、2560x1440、1920x1200、1600x1200、1680x1050、1440x900、1280x800、1024x768、640x480。

默认 80GB 虚拟盘不够用时,安装完成后再扩容:先用 VirtualBox 管理器或 VBoxManage 扩大磁盘镜像,再在虚拟机内执行:

sudo diskutil repairDisk disk0 # 让系统识别新容量 # 在磁盘工具中删除 "Free space" 分区,或: sudo diskutil apfs resizeContainer disk1 0 # 把 APFS 容器扩到剩余空间

收尾

建议使用 VirtualBox ≥ 6.1.6 与 dmg2img ≥ 1.6.5 以获得稳定体验。装好后可在虚拟机内通过 Software Update 升级到更新版本的 macOS。更多参数说明随时运行./macos-guest-virtualbox.sh documentation查看内置文档。

【免费下载链接】macos-virtualboxPush-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox on x86 CPUs for Windows, Linux, and macOS项目地址: https://gitcode.com/gh_mirrors/ma/macos-virtualbox

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表