一、速览:它是什么,解决什么痛点

入门

vphone-aio 是一个 Shell 脚本项目,它把“下载 iOS 镜像、合并分卷文件、解压、启动虚拟机”这一整套动作串成了一条命令。运行成功后,你会在 Mac 上得到一个已经越狱的 iOS 26.1 系统,并且可以通过 VNC(一种远程桌面协议)直接看到并操作这个虚拟 iPhone 的屏幕。

它的核心价值是省事。手动搭一个 iOS 虚拟环境,你需要自己找镜像、下载十几个 GB 的分卷压缩包、逐个校验、解压、配置越狱引导。这些步骤繁琐且容易出错,而 vphone-aio 把这些过程自动化了,你只要按顺序执行几个命令,然后等它跑完就行。

vphone-aio 项目的 GitHub 页面预览

当然,这个项目目前针对的是 iOS 26.1,作者在 README 中也建议需要更好更新和支持的用户转向 vphone-cli 项目。如果你只是想快速体验越狱 iOS 环境,vphone-aio 仍然是一个可行的入口。

二、安装/获取:需要准备什么

入门

开始之前,你需要一台 Mac,并且确认磁盘剩余空间大于 128GB。这是因为整个仓库包含的 iOS 镜像压缩分卷大约有 12GB,解压后会占用更多空间。如果空间不足,合并或解压过程会中断,你可能要重新下载。

另外,这个项目要求关闭 macOS 的系统完整性保护(SIP,一种防止未签名代码运行的安全机制),并设置内核启动参数 amfi_get_out_of_my_way=1,让系统不再强制要求代码签名。这两步是运行已越狱 iOS 镜像的前提,但它们会降低 Mac 的安全性,建议不要在主力工作机上操作。

vphone-aio 运行所需的系统环境示意

第一步是安装 Homebrew(macOS 上常用的软件包管理器,类似手机上的应用商店,用来安装命令行工具)。如果你还没有,可以在终端里执行:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装完成后,用 Homebrew 安装这四个依赖工具:

brew install git-lfs wget zstd libimobiledevice

这些工具分别负责:git-lfs 处理仓库中的大文件下载,wget 从命令行下载分卷文件,zstd 解压 .zst 格式的压缩包,libimobiledevice 提供与 iOS 设备通信的底层库。缺少任何一个,后续脚本运行都可能报错。

接着需要关闭 SIP。重启 Mac 并按住 Command+R 进入恢复模式,打开终端,执行:

csrutil disable

然后重启 Mac。关闭 SIP 后,再设置启动参数:

sudo nvram boot-args="amfi_get_out_of_my_way=1"

执行后需要再次重启,让启动参数生效。完成这两步后,你才具备运行 vphone-aio 的系统环境。

三、核心用法:跑起来并连接桌面

入门

现在可以下载项目了。在终端中克隆仓库:

git clone https://github.com/34306/vphone-aio.git
cd vphone-aio

克隆过程会下载大约 12GB 的数据,具体时间取决于你的网速。如果某个分卷文件缺失,脚本在运行时会自动补下载,所以不用担心克隆不完整。

进入仓库目录后,直接执行脚本。如果脚本没有可执行权限,可以用 bash 来运行:

bash vphone-aio.sh

脚本会先检查分卷文件是否齐全,不齐全就自动下载,然后开始合并。合并的意思是:把 part_aa、part_ab 到 part_ag 这七个分卷按顺序拼成一个完整的压缩包,再解压出 iOS 镜像。这个过程大约需要 15 分钟,期间不要关闭终端。

解压完成后,脚本会启动虚拟 iPhone。启动成功后,打开任意 VNC 客户端(例如 macOS 自带的“屏幕共享”或 RealVNC),连接地址:

vnc://127.0.0.1:5901

如果一切正常,你就能看到越狱后的 iOS 桌面,可以像操作真机一样点击和应用。

四、踩坑:常见问题和排查

进阶 · 推荐细读

这个项目对系统环境要求比较严格,新手容易在几个环节卡住。首先是磁盘空间:即使显示剩余 128GB,解压过程中可能还需要额外的临时空间,建议至少留出 150GB 再开始。

另一个高频问题是 SIP 没有真正关闭。你可以用 csrutil status 检查,如果输出里还有 enabled,说明没成功,需要重新进入恢复模式操作。同时,amfi_get_out_of_my_way=1 这个启动参数如果没设置,虚拟机可能无法启动或启动后闪退。

下载的分卷文件可能因为网络波动损坏。如果脚本运行到合并阶段报错,建议手动校验分卷完整性。具体的校验命令后面会给出。

VNC 连不上的常见原因是脚本还没有完全启动完成,或者 5901 端口被其他程序占用。可以先等几分钟再试,或者用 lsof -i :5901 查看端口占用情况。

最后提醒一句:由于关闭了 SIP 和签名校验,这台 Mac 会更容易受到恶意软件影响。建议操作完成后尽快恢复设置,或者只在专门用于测试的机器上运行。

五、进阶:手动下载与校验

深入 · 老手可选

如果你不想依赖 git clone 的自动下载,或者网络环境对 Git LFS 不友好,可以手动下载七个分卷文件。README 中提供了一个循环命令:

for p in aa ab ac ad ae af ag; do
  wget -O "vphone-cli.tar.zst.part_${p}" \
    "https://github.com/34306/vphone-aio/raw/refs/heads/main/vphone-cli.tar.zst.part_${p}?download="
done

下载完成后,建议先校验 SHA-256 校验和,确保文件没有被损坏或篡改。将下面七个哈希值保存到一个文本文件(例如 checksums.txt),然后执行校验命令:

3c966247deae3fff51a640f6204e0fafc14fd5c76353ba8f28f20f7d1d29e693  vphone-cli.tar.zst.part_aa
c7d11bbbe32dda2b337933c736171cc94faab2c7465e75391fa49029f3b6f1b1  vphone-cli.tar.zst.part_ab
f422949080e7f141f32f35f8ea20c1fedffc2b97eadf0390645114feef6bb1aa  vphone-cli.tar.zst.part_ac
f3acfa47145207b8962ba4d20fb83eb4646934cca768906e65609d7fdde564e7  vphone-cli.tar.zst.part_ad
efdca69df80386b0aa7af8ac260d9ac576ed1f258429fd4ac21b5bbb87cd78fe  vphone-cli.tar.zst.part_ae
4628852da12949361d3ea6efcf8af1532eb52194cc43a4ab4993024267947587  vphone-cli.tar.zst.part_af
8bd1551511eb016325918c2d93519829be04feb54727612e74c32e4299670a88  vphone-cli.tar.zst.part_ag

然后执行:

shasum -a 256 vphone-cli.tar.zst.part_a*

如果输出与文件内容不一致,说明对应分卷需要重新下载。校验通过后,再运行 bash vphone-aio.sh,脚本就能直接使用这些分卷。

合并和解压完成后,仓库里的 .git 目录和那七个分卷文件都可以删除,能释放出不少空间:

rm -rf .git vphone-cli.tar.zst.part_a*

另外,README 作者推荐关注 vphone-cli 项目,它有更勤快的更新,并且已经支持 iOS 27。如果你在本项目遇到无法解决的问题,转去 vphone-cli 往往更省心。

六、判断建议:这个项目适合你吗

入门

vphone-aio 适合那些想在一台 Mac 上快速跑起越狱 iOS 环境、用来做简单测试或满足好奇心的用户。因为脚本把大部分脏活累活都做了,你只需要按步骤执行,不需要理解镜像内部结构。

但它不适合需要长期维护的环境。项目本身更新较慢,并且要求关闭 Mac 的核心安全机制,风险和收益需要你自己权衡。如果你希望获得持续支持、使用更新的 iOS 版本,建议直接使用 README 里提到的 vphone-cli。

总的来说,vphone-aio 是一次性体验越狱 iOS 虚拟机的快捷通道,代价是牺牲部分系统安全性和后续更新。做决定之前,确保你有一台可以随时重装系统的测试 Mac,这样最安心。

项目信息

项目 值
仓库 34306/vphone-aio
语言 Shell
Star 7,567
Fork 1,239
主页 无

参考链接

延伸阅读

想继续探索?这些同领域的教程可能也适合你: