今天突发奇想 VMware如何伪装CPU型号 ,手动打造一个 i9 13900k?
原因是 淘宝直播1080P白皮书 cpu天梯图 如果你的CPU不在支持列表内 ,是否可通过这个办法 绕过检测呢?
答案未知 因为目前为止 网上很少有这种教程
找到一个
[全网首发][QEMU]修改虚拟机CPU ID和模型
效果图:
修改启动命令的方式
开始前要满足以下条件
安装了QEMU的设备
有一定的基础知识
1.使用 qemu-system-x86_64 -cpu help 列出所有可以使用的CPU
2.选择一个比较接近的CPU模型
例 :Cascadelake-Server-v5-x86_64-cpu
按照这个写出一个启动命令
qemu-system-x86_64 -M q35 -m 1024 -hda 镜像位置 -cpu Cascadelake-Server-v5
3.在CPU后面加上 famly='数值1',model='数值2',stepping='数值3'
例:qemu-system-x86_64 -M q35 -m 1024 -hda 镜像位置 -cpu Cascadelake-Server-v5,famly='数值1',model='数值2',stepping='数值3'
4.在网络上搜索 处理器名称+CPUZ , 选择图片
记录下来
如famly=6,model=7,97,stepping=2
5.把97从16进制转换为10进制
https://www.sojson.com/hexconvert.html
得到 151
FAMILY="6"
MODEL="151"
STEPPING="2"
6.按照得出的数值填写
-cpu Cascadelake-Server-v5,famly='6',model='151',stepping='2'
例:qemu-system-x86_64 -M q35 -m 1024 -hda 镜像位置 -cpu Cascadelake-Server-v5,famly='6',model='151',stepping='2'
7.修改cpu名称
在cpu后加上,model_id='名称'
qemu-system-x86_64 -M q35 -m 1024 -hda 镜像位置 -cpu Cascadelake-Server-v5,famly='6',model='151',stepping='2',model_id='12th Gen Intel(R) Core(TM) i9-12900KS @ 5.50GHz'
到这里就结束了
我用的启动命令[参考]
#!/bin/bash
#镜像必须支持以下要求
#
#CPU为英特尔
#
#声卡HDA
#磁盘SATA
#
#其他信息可以进行修改
{
#####基础#####
#
#一些虚拟机基础信息
#
#####注意#####
#虚拟机名称
NAME="Windows 7"
#机型
MACHINE="pc"
#USB支持
USB="on"
#键盘布局
KEY="en-us"
#网卡
LAN="e1000e"
#显存
VGAMEM="1024M"
}
{
#####模型#####
#
#自定义模型
#
#####注意#####
#主板
MODEL0="ASUS"
MODEL1=" ROG MAXIMUS Z690 EXTREME"
#芯片组
CHIP="Intel"
CHIP1="Intel Z690"
#内存
MEMMODEL="Samsung"
MEMDODEL1="DDR5"
MEMMHZ="4800"
MEMID="1248DC"
#硬盘
DISKMODEL="Samsung PM9A1"
DISKID="By.XZBJ"
#CPU
CPUMODEL="12th Gen Intel(R) Core(TM) i9-12900KS @ 5.50GHz"
}
{
#####核心#####
#
#虚拟机核心设置
#
#####核心#####
#机器上总CPU数 8 个
SMP="8"
#共 1 个插槽
SOCKETS="1"
#每个插槽 8 个内核
CORES="8"
#每个内核 1 个线程
THREADS="1"
}
{
#####加速#####
#
#虚拟机TCG设置
#
#####注意#####
#控制 TCG 线程数
THREAD="multi"
#转换块缓存的大小
TBSIZE="8192"
}
{
#####杂项#####
#
#一些不建议修改的内容
#
#####注意#####
#VMWare IO 端口的模拟
VMPORT="off"
#内核中断
KERNELIRQCHIP="off"
#在核心转储中包含来宾内存
DUMPGUESTCORE="off"
#进程名称
PROCESS="Windows"
#调试线程
DEBUGTHREADS="off"
#ACPI 异构内存属性表
HMAT="on"
#内存合并支持
MEMMERGE="off"
#UUID
UUID="1f8e6f7e-5a70-4780-89c1-464dc0e7f308"
#CPU设置
LEVEL="0xEC"
XLEVEL="0x8000001E",
FAMILY="6",
MODEL="7",
STEPPING="2",
VENDOR="GenuineIntel",
#三缓
L3CACHE="true"
}
{
#####磁盘#####
#
#虚拟机磁盘镜像
#
#####注意#####
VMDISK="/sd/Windows 7 x64.XBZJ"
}
{
#####内存#####
#
#总内存=交换内存+实时内存
#
#####注意#####
#总内存
MEM="4096M"
#交换内存
MEM02="2048M"
#交换内存位置
MEMDISK="/sd/DRAM"
#实时内存
MEM01="2048M"
}
export PULSE_SERVER=tcp:127.0.0.1:4713\
&& \
qemu-system-x86_64 \
-name "$NAME",process="$PROCESS",debug-threads="$DEBUGTHREADS" \
-machine "$MACHINE",vmport="$VMPORT",kernel-irqchip="$KERNELIRQCHIP",dump-guest-core="$DUMPGUESTCORE",mem-merge="$MEMMERGE",usb="$USB",hmat="$HMAT" \
-object memory-backend-file,id='mem1',size="$MEM02",mem-path="$MEMDISK",prealloc='on',share='on' \
-numa node,memdev='mem1',initiator='0' \
-object memory-backend-ram,id='mem0',size="$MEM01",'share=on' \
-numa node,memdev='mem0',initiator='0' \
-m $MEM \
--accel 'tcg',thread="$THREAD",tb-size="$TBSIZE" \
-boot menu='on',strict='off' \
-mem-prealloc \
-k $KEY \
-audiodev 'alsa',id='HDA',in.channels='2',in.frequency='44100',out.buffer-length='6009',in.format='s16' \
-device 'virtio-vga',id='video0',max_hostmem="$VGAMEM",rombar='1',xres='1280',yres='720',edid='on' \
-device 'intel-hda' \
-device 'hda-duplex',audiodev='HDA' \
-uuid $UUID \
-nodefaults \
-no-user-config \
-no-hpet \
-no-fd-bootchk \
-full-screen \
-msg timestamp='off' \
-cpu 'Cascadelake-Server-v5',model_id="$CPUMODEL",level="$LEVEL",xlevel="$XLEVEL",family="$FAMILY",model="$MODEL",stepping="$STEPPING",vendor="$VENDOR",l3-cache="$L3CACHE",vmware-cpuid-freq='false',enforce='false',host-phys-bits='false',lmce='false',start-powered-off='false',pmu='false',mds-no='off',fma='off',pcid='off',x2apic='off',tsc-deadline='off',invpcid='off',rdseed='off',spec-ctrl='off',arch-capabilities='off',ssbd='off',3dnowprefetch='off',xsavec='off',rdctl-no='off',ibrs-all='off',skip-l1dfl-vmentry='off',avx512-4fmaps='off',avx512-4vnniw='off',avx512-bf16='off',avx512-vp2intersect='off',avx512-vpopcntdq='off',avx512bitalg='off',avx512ifma='off',avx512pf='off',avx512vbmi2='off',avx512vbmi='off',avx='off',avx2='off',avx512f='off',avx512dq='off',avx512cd='off',avx512bw='off',avx512vl='off',avx512vnni='off',svm='off',nrip-save='off',amd-stibp='off',ibpb='off',wbnoinvd='off',xsaveerptr='off',clzero='off',perfctr-core='off',topoext='off',osvw='off',misalignsse='off',fxsr-opt='off',rdpid='off',umip='off',sha-ni='off',xsaves='off',lm='on',syscall='on',gfni='off',vaes='off',vpclmulqdq='off',hypervisor='off',fsrm='off',avx='off',avx2='off',f16c='off',tsc='on',fma='off',fma4='off',fill-mtrr-mask='on',full-cpuid-auto-level='on',check='on',vme='off',abm='on',sha-ni='off',3dnow='off',3dnowext='off',acpi='on',mmx='on',aes='on',clwb='on',svm='off' \
-smp "$SMP",sockets="$SOCKETS",cores="$CORES",threads="$THREADS",maxcpus="$SMP" \
-rtc base='localtime' \
-display 'vnc'='127.0.0.1:0',key-delay-ms='0',connections='500000',to='2',lossy='off',non-adaptive='off',id='video0',audiodev='HDA' \
-netdev 'user',id='n1',ipv4='on',ipv6='off' \
-device $LAN,netdev='n1',id='LAN',mac='52:54:98:76:54:32' \
-smbios type='0',version='Intel-Core' \
-smbios type='1',manufacturer="$MODEL0",product="$MODEL1",version='2022.1' \
-smbios type='2',manufacturer="$CHIP",version='2022.5',product="$CHIP1" \
-smbios type='3',manufacturer='XBZJ' \
-smbios type='4',manufacturer='Intel',max-speed='4800',current-speed='4800' \
-smbios type='17',manufacturer="$MEMDODEL",loc_pfx="$MEMDODEL1",speed="$MEMMHZ",serial="$MEMID",part='XBZJ' \
-drive id=disk,file="$VMDISK",if=none,aio='native',cache='none' \
-device ide-hd,drive=disk,serial="$DISKMEM",model="$DISKMODEL",write-cache="on" \
-usb \
-device usb-ehci,id='ehci',maxframes='128' \
-device usb-tablet,bus='usb-bus.0' \
原文 www.bilibili.com/read/cv16735931/
至少我看了 头比较大 这都是写些啥? 就是改改参数?
不管怎么样 这个创新的思路【vmware如何伪装CPU型号 ,手动打造一个 i9 13900k?】记录一下 说不定哪天就能解决呢?