本帖最后由 emyself 于 2018-10-18 11:45 编辑
有些朋友由于各种原因, 需要或只能在VMware虚拟机中安装macOS 但是VMware的可定义参数很多都是硬件的, 而没有变色龙或Clover那么多的软件可定义参数 当然你可以通过变色龙或Clover在VMware中安装macOS, 我这里并不讨论 这篇帖子只是分享一些VMware不会告诉你的原生隐藏参数
0. vmx扫盲 .vmx是VMware对每个虚拟机配置存储的文件, 位置在每个虚拟机所在的文件夹内 文件名与虚拟机名词一样, 例如 "high_sierra.vmx" vmx文件是纯文本文件, 使用"记事本"就可以打开并编辑 将参数与键值按行写入vmx文件就可以对响应的参数进行设置 (使用Unlocker解锁VMware并建立虚拟机后, 请务必在vmx文件中加入一行 smc.version = "0" 否则无法正常启动macOS)
1. smbios参数 VMware其实是可以支持以原生配置参数来设定某些smbios信息的, 虽然不多, 但是足够用了 用于设定smbios机型信息的参数有三个:
"board-id"——设置主板型号(ID)
"hw.model"——设置型号标识符
"serialNumber"——设置序列号
使用样例: board-id = "Mac-F65AE981FFA204ED" hw.model = "Macmini6,2" serialNumber = "VMWARESERIAL"
2.CPU参数
关于设定CPU参数, 对于黑苹果来说最重要的就是设置cpuid, 比如将奔腾伪装为i5, 使得macOS可以正常启动 有两个参数:"cpuid.X.eax"和"cpuid.X.edx". 其中的X是虚拟cpu编号 比如给虚拟机分配一个虚拟cpu, 那参数就是cpuid.1.edx 如果有两个虚拟cpu, 就可以分别设定cpuid.1.edx与cpuid.2.edx (注意此处说的是虚拟cpu, 不是虚拟逻辑cpu, 分配一个4核虚拟cpu, 那也只是一个cpu, 使用cpuid.1.edx即可) edx的值是固定的, 为: 10111111111010111111101111111111 eax的值根据需要伪装成的cpu系列不同而有所不同: - 00000000000000000000011011100110 Yonah
- 00000000000000000000011011110010 Conroe
- 00000000000000010000011001110110 Penryn
- 00000000000000010000011010100010 Nehalem
- 00000000000000010000011011000010 Atom
- 00000000000000010000011011010000 XeonMP
- 00000000000000010000011011100000 Linnfield
- 00000000000000010000011011110000 Havendale
- 00000000000000100000011001010000 Clarkdale
- 00000000000000100000011001100000 AtomSandy
- 00000000000000100000011001110000 Lincroft
- 00000000000000100000011010100000 SandyBridge
- 00000000000000100000011011000000 Westmere
- 00000000000000100000011011010000 Jaketown
- 00000000000000100000011011100000 NehalemEx
- 00000000000000100000011011110000 WestmereEx
- 00000000000000110000011001100000 Atom2000
- 00000000000000110000011010100000 IvyBridge
- 00000000000000110000011011000000 Haswell
- 00000000000000110000011011010000 Broadwell
- 00000000000000110000011011100000 IvyBridgeE5
- 00000000000000110000011011110000 HaswellMB
- 00000000000000110000011011110010 Haswell-E
- 00000000000001000000011001010000 HaswellULT
- 00000000000001000000011001100000 CrystalWell
- 00000000000001000000011001110000 Broadwell-H
- 00000000000001000000011011100011 Skylake-U
- 00000000000001010000011001010100 Skylake-X
- 00000000000001010000011011100011 Skylake-H
- 00000000000010000000011011101001 Kabylake-U
- 00000000000010010000011011101001 Kabylake-H
复制代码使用样例 (此样例为赛扬G1830可用, 伪装为三代i系处理器): cpuid.1.eax = "00000000000000110000011010100000" cpuid.1.edx = "10111111111010111111101111111111"
3.NVRAM与启动参数 VMware支持模拟VMRAM转储, 可以在虚拟机中正常设定或读取nvram键值 此文件和虚拟机的vmx配置文件处于同一个目录中 扩展名为.nvram, 文件名与虚拟机名称相同, 例如"high_sierra.nvram" 比如Clover可以在启动时模拟注入"-v"等nvram参数, 但VMware并没有此功能 所以我只做了一个通用的nvram文件, 里面加入了"关闭SIP"和"使用啰嗦模式启动系统"两个参数 使用此nvram文件替换你虚拟机文件中的原有nvram文件, 即可在关闭SIP模式的情况下以啰嗦模式启动系统 nvram文件附件下载:
4.其他参数 如果你需要在虚拟机中使用绑定机器码的软件(例如各种注册软件或teamviewer) 则需要保证虚拟机中系统的UUID识别码始终不会改变. 加入此参数即可保证UUID重启后不会改变 uuid.action = "keep" 以下是一些性能优化参数 MemTrimRate = "0" sched.mem.pshare.enable = "FALSE" MemAllowAutoScaleDown = "FALSE" 祝大家黑苹果愉快 (论坛的代码编辑器很无语...我改了两遍还是会乱, 只好用纯文本方式贴出) (论坛编辑器, 已经不是无语的问题了, 已经改了三次了, 每次我都改正常, 每次提交之后都会随机丢失某段文字, 我很失望) |