使用 VMware 安装 macOS 虚拟机使用 Surge 作为代理网关

使用 VMware 安装 macOS 虚拟机使用 Surge 作为代理网关

笔记本约 1.6 千字

准备工作

下载并安装 VMware Workstation 15 作为虚拟服务器。本文使用 Windows 10 上的 VMware Workstation Pro 15。

从 GitHub 下载 Unlocker。你可以 点击这里 下载最新版的 Unlocker。右键使用管理员身份运行 win-install.cmd

下载 macOS With Extra Len's CDR,请自行前往远景论坛下载、或使用现有的 macOS 设备下载 macOS 安装镜像的 dmg 文件并转换为 iso。

创建虚拟机

打开「新建虚拟机向导」,使用「自定义(高级)」模式。硬件兼容性使用默认的「Workstation 15.x」。
安装方式选择「安装程序光盘映像文件」,并选择你下载的 macOS 安装镜像。这一步可能会提示「无法检测此光盘映像中的操作系统」,这是正常现象。

macos-vmware/1.png

如果在准备工作步骤中 Unlocker 成功执行,那么在这一步可以选择 Apple Mac OS X。选择你安装的 macOS 版本。

macos-vmware/2.png

选择虚拟机存储位置,强烈建议储存在 SSD 硬盘上;处理器配置,分配至少 2 核 2 内核的处理器和不少于 2048MB 的运存;网络连接选择「使用桥接网络」;SCSI 控制器和虚拟磁盘控制模式保留默认即可;虚拟硬盘选择「创建新虚拟磁盘」。
在指定硬盘容量时,推荐设置「将虚拟硬盘存储为单个文件」,有助于提高运行性能。

macos-vmware/3.png

设置虚拟硬盘文件名以后,确认虚拟机信息后即创建完成。

macos-vmware/4.png

进入虚拟机存储目录,使用记事本或者 Notepad++ 打开 vmx 文件,新增一行:

smc.version = "0"

编辑虚拟机

  • 选项 => 增强型虚拟键盘 = 使用「在可用时使用」
macos-vmware/5.png
  • 选项 => VMware Tools = 勾选「将客户机时间与主机同步」
macos-vmware/6.png
  • 选项 => 高级:抓取的输入内容 = 高;收集调试信息 = 无;勾选「禁用页面内存调整」
macos-vmware/7.png

点击「确定」保存虚拟机配置

启动虚拟机并安装 macOS

如果你之前启用过 Hyper-V,可能会因为 Windows Defender Credential Guard 导致 VMware 无法启动虚拟机,可以参考 Microsoft 支持文档 将其禁用。

macos-vmware/8.png

选择安装语言,进入 macOS 安装界面。

macos-vmware/9.png

通过菜单「实用工具 - 终端」打开终端。

macos-vmware/10.png

在终端中输入:

csrutil disable

这一步用于禁用 macOS 的系统完整性保护(SIP),不然无法正常安装 VMware Tools。

macos-vmware/11.png

重新启动系统以使 SIP 改动生效。

macos-vmware/12.png

重新启动进入安装界面以后,选择「磁盘工具」初始化 VMware 虚拟硬盘。

macos-vmware/13.png

选择 VMware 的虚拟硬盘,使用「抹掉」将其格式化为「APFS」格式。

macos-vmware/14.png

成功格式化硬盘后,关闭「硬盘工具」窗口回到主界面,点击「重新安装 macOS」。

macos-vmware/15.png

根据安装引导、同意条款、选择安装位置后便开始安装进程。安装速度取决于你的设备性能。

macos-vmware/16.png
macos-vmware/17.png

安装完成以后会自动重启进入 macOS 配置向导,按照指导设置你的 macOS 即可。

macos-vmware/18.png

优化和精简 macOS

安装 VMware Tools

进入 macOS 以后,在 VMware 的菜单中找到「虚拟机 - 安装 VMware Tools」点击,macOS 会自动挂载 VMware Tools 安装硬盘并开始安装。安装完成以后需要重启。重启以后 VMware 中的 macOS 的显存会从 3MB 升级到 128MB、同时支持全屏、剪贴板同步、时间同步等。

优化显示

在「系统偏好设置 - 辅助功能 - 显示」中勾选「减弱动态效果」和「减少透明度」。

macos-vmware/19.png

在「系统偏好设置 - 程序坞」中「最小化效果」选择「缩放效果」。

精简系统

由于这个 macOS 只用来安装 Surge 作为网关代理,macOS 预装的大部分功能我们都不需要。

接下来的操作高度危险,在了解每一个步骤会带来什么后果之前都不要在终端中执行!

  • 获取 Su 权限
sudo su # 切换到 sh
passwd root # 修改 Root 用户的密码
su root # 进入 Root
  • 解除系统应用

将系统应用备份下来比直接删除要安全

cd /
mkdir RemovedFiles
cd RemovedFiles
mkdir System-Library-LaunchAgents # 建立备份文件夹
FLA=/RemovedFiles/System-Library-LaunchAgents/
cd /System/Library/LaunchAgents/
mv com.apple.AddressBook*                      $FLA # 通讯录
mv com.apple.CalendarAgent.plist               $FLA # 日历
mv com.apple.iCloudUserNotifications.plist     $FLA # iCloud
mv com.apple.icbaccountsd.plist                $FLA # iCloud
mv com.apple.icloud.fmfd.plist                 $FLA # iCloud
mv com.apple.cloud*                            $FLA # iCloud
mv com.apple.imagent.plist                     $FLA # FaceTime
mv com.apple.IMLoggingAgent.plist              $FLA # FaceTime
mv com.apple.AirPlayUIAgent.plist              $FLA # Airplay
mv com.apple.AirPortBaseStationAgent.plist     $FLA
mv com.apple.bird.plist                        $FLA # iCloud 缓存
mv com.apple.findmymacmessenger.plist          $FLA
mv com.apple.gamed.plist                       $FLA # macOS 游戏中心
mv com.apple.parentalcontrols.check.plist      $FLA # 家长控制
mv com.apple.Maps.pushdaemon.plist             $FLA
mv com.apple.ScreenReaderUIServer.plist        $FLA
mv com.apple.speech.*                          $FLA
cd /System/Library/LaunchDaemons/

# AirPlay
launchctl unload -wF com.apple.AirPlayXPCHelper.plist

# Apple push notification
launchctl unload -wF com.apple.apsd.plist

# Disable location services (should have done it from System Preferences first)
launchctl unload -wF com.apple.locationd.plist

# No point trying to find your mac
launchctl unload -wF com.apple.findmymac.plist
launchctl unload -wF com.apple.findmymacmessenger.plist

# iCloud
launchctl unload -wF com.apple.icloud.findmydeviced.plist
launchctl unload -wF com.apple.cloudfamilyrestrictionsd-mac.plist 
launchctl unload -wF com.apple.mbicloudsetupd.plist

# don't even have DVD these days
launchctl unload -wF com.apple.dvdplayback.setregion.plist 

# Crash Report
launchctl unload -wF com.apple.SubmitDiagInfo.plist 
launchctl unload -wF com.apple.CrashReporterSupportHelper.plist 
launchctl unload -wF com.apple.ReportCrash.Root.plist 
launchctl unload -wF com.apple.GameController.gamecontrollerd.plist

# Disable spindump (spindump is a tool used by various system components
# to create hang reports and notify the user of application hangs)
# if it's crashed - it's crashed, get on with your life and don't slow my system down
launchctl unload -wF com.apple.spindump.plist
launchctl unload -wF com.apple.metadata.mds.spindump.plist

# Disable cups (common unix printing service)
#launchctl unload -wF org.cups.cupsd.plist
#launchctl unload -wF org.cups.cups-lpd.plist

配置 Surge 作为代理网关

打开「系统偏好设置 - 网络」,将 IPv4 配置方式改为手动以固定虚拟机的 IP。

macos-vmware/20.png

然后启动 Surge 并开启增强模式。如果是首次启动增强模式可能需要安装帮助程序。

修改宿主机设备的网络属性,IPv4 修改为手动设置,将网关设置为虚拟机的 IP,将 DNS 设置为 198.18.0.2 即可。

使用 VMware 安装 macOS 虚拟机使用 Surge 作为代理网关
本文作者
Sukka
发布于
2019-05-09
许可协议
转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!
如果你喜欢我的文章,或者我的文章有帮到你,可以考虑一下打赏作者
评论加载中...