资料库、固件与备份
vphone 把虚拟机和下载的固件保存在哪里、如何移动它们,以及如何拷贝、备份和恢复虚拟机。规划磁盘空间、迁移资料库,或者需要虚拟机的第二份副本时,请参阅本页。
备份、拷贝与恢复
vm clone 拷贝一台已停止的虚拟机,可用时使用 APFS 写时拷贝。源虚拟机运行时会拒绝执行。
使用 --new-identity 的副本:
- 会清除固定 IPv4 地址、端口转发和手动指定的 mDNS 名称,因为它们会与原虚拟机冲突。由
--mdns on根据原虚拟机名称生成的 mDNS 名称会像重命名时一样跟随新名称。如有需要,请用vm config重新设置。 - 保留原虚拟机的数据、App 和设置;不需要重新恢复。
- 需要你解锁它并再次信任这台 Mac,之后
ideviceinstaller等 lockdown 工具才能使用。 - 在 APFS 上与原虚拟机共享磁盘块,只保存自己改动的部分,首次启动几次后约为 0.35 GB;不过
du和访达会把每台都按完整大小计算。
不要在虚拟机之间互换 SEPStorage、nvram.bin 或磁盘映像。它们是同一次恢复一起生成的,SEP 存储与磁盘不匹配的客户机会在启动时 panic。
文件存放位置
移动位置:
IPSW 缓存与下载
下载的 IPSW 会一直缓存到你删除为止,因此用同一 URL 创建第二台虚拟机时无需再下载。在 Launchpad 中,可以通过 File > Downloaded IPSWs… 删除它们。
vm create 成功后,准备好的恢复目录会被删除,除非传入了 --keep-artifacts。旧版本准备的虚拟机可能仍有一个 .ipsw-cache/ 目录;可以放心删除,vm export 也不会包含它。
如果服务器支持 HTTP 范围请求(Apple 的 CDN 支持),远程 IPSW 会同时通过四个连接下载。每个连接依次获取 32 MB 的分段,分段中断后会从中断处继续。fw prepare 的 --download-connections <n> 用于设置连接数,范围为 1 到 16。设为 1 时 IPSW 以单一数据流下载,不支持范围请求的服务器也是这样处理。
磁盘空间与内存
占用资源较多的创建任务请一次只运行一个。IPSW 和临时恢复目录会占用大量磁盘空间,为大型缓存打补丁也可能占用很多内存。开始创建第二台虚拟机之前,请检查可用空间。
如果资料库位于已装载的外置宗卷上,Launchpad 会把 CFW 临时文件放在该宗卷上。独立运行的 vphone-cli cfw install 默认使用 /private/var/tmp,也可以用 --work-parent 指定一个 root 拥有的私有目录。