emyself 发表于 2017-10-25 14:09

VMware高级设置——那些威睿不会告诉你的vmx参数

本帖最后由 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的值是固定的, 为: 10111111111010111111101111111111eax的值根据需要伪装成的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"祝大家黑苹果愉快(论坛的代码编辑器很无语...我改了两遍还是会乱, 只好用纯文本方式贴出)(论坛编辑器, 已经不是无语的问题了, 已经改了三次了, 每次我都改正常, 每次提交之后都会随机丢失某段文字, 我很失望)

天地XIN 发表于 2017-10-25 17:15

学习谢谢收藏。

fujintcc 发表于 2017-10-25 20:58

强大啊,老奶奶都不扶。就服你{:5_273:}

hjfgt 发表于 2017-10-29 00:40

学习,感谢分享。

fenginsc 发表于 2017-10-29 00:47

有没有改vmx配置让信息 和 facetime 可以使用的方法???

yangkecapf 发表于 2017-11-4 16:00

{:5_293:}楼主可以哟,我看好你

czhm57 发表于 2017-11-4 22:45

感谢,这个参考很有用,在其他方面都可以借鉴的.有那个.vmx那个参数的详细介绍吗?

hjxc050935 发表于 2017-11-4 23:13

感觉不错!!!!!!

LuckyKuang 发表于 2017-11-21 11:43

请问一下最后面的三行代码是优化什么的?流畅?还是其他的什么?

d975xbx 发表于 2017-11-21 12:09

学习,感谢分享

lghyt 发表于 2018-3-6 23:46

很少有介绍vmware底层的东西,楼主开创了新纪元

cuishanmin 发表于 2018-3-9 22:55

谢谢楼主分享!!!谢谢楼主分享!!!

d975xbx 发表于 2018-3-9 23:10

谢谢楼主分享!

tinanit 发表于 2018-3-12 10:59

感谢分享 是否有提高效能的方法呢?

Baniel 发表于 2018-6-5 22:57

谢谢分享!!

songguangyin 发表于 2018-6-15 01:00

谢谢,学习了,很实用的教程。

微雨x 发表于 2018-6-23 21:32

绿帽哥还是强   谢谢分享

jak_1003 发表于 2018-7-30 09:00

学习了,谢谢大神分享

novells 发表于 2019-2-24 17:27

谢谢楼主分享!{:5_293:}

ch23588 发表于 2019-2-24 18:12

学习了,谢谢大神.
页: [1] 2
查看完整版本: VMware高级设置——那些威睿不会告诉你的vmx参数