[全網(wǎng)首發(fā)][QEMU]修改虛擬機(jī)CPU ID和模型

效果圖:


修改啟動(dòng)命令的方式
開(kāi)始前要滿足以下條件
? ? 安裝了QEMU的設(shè)備
? ? 有一定的基礎(chǔ)知識(shí)
1.使用 qemu-system-x86_64 -cpu help 列出所有可以使用的CPU
2.選擇一個(gè)比較接近的CPU模型
例 :Cascadelake-Server-v5-x86_64-cpu
按照這個(gè)寫(xiě)出一個(gè)啟動(dòng)命令
? ? ?qemu-system-x86_64 -M q35 -m 1024 -hda 鏡像位置 -cpu Cascadelake-Server-v5
3.在CPU后面加上 famly='數(shù)值1',model='數(shù)值2',stepping='數(shù)值3'
? ? ?例:qemu-system-x86_64 -M q35 -m 1024 -hda 鏡像位置 -cpu Cascadelake-Server-v5,famly='數(shù)值1',model='數(shù)值2',stepping='數(shù)值3'
4.在網(wǎng)絡(luò)上搜索 處理器名稱(chēng)+CPUZ , 選擇圖片


記錄下來(lái)
如famly=6,model=7,97,stepping=2
5.把97從16進(jìn)制轉(zhuǎn)換為10進(jìn)制
https://www.sojson.com/hexconvert.html
? ?得到 ?151

?FAMILY="6"
?MODEL="151"
?STEPPING="2"
6.按照得出的數(shù)值填寫(xiě)
-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名稱(chēng)
在cpu后加上,model_id='名稱(chēng)'
? ?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'
到這里就結(jié)束了
我用的啟動(dòng)命令[參考]
#!/bin/bash
#鏡像必須支持以下要求
#
#CPU為英特爾
#
#聲卡HDA
#磁盤(pán)SATA
#
#其他信息可以進(jìn)行修改
{
#####基礎(chǔ)#####
#
#一些虛擬機(jī)基礎(chǔ)信息
#
#####注意#####
? ? #虛擬機(jī)名稱(chēng)
? ? ?NAME="Windows 7"
? ? #機(jī)型
? ? ?MACHINE="pc"
? ? #USB支持
? ? ?USB="on"
? ? #鍵盤(pán)布局
? ? ?KEY="en-us"
? ? #網(wǎng)卡
? ? ?LAN="e1000e"
? ? #顯存
? ? ?VGAMEM="1024M"
}
{
#####模型#####
#
#自定義模型
#
#####注意#####
? ? #主板
? ? ?MODEL0="ASUS"
? ? ?MODEL1=" ROG MAXIMUS Z690 EXTREME"
? ? #芯片組
? ? ?CHIP="Intel"
? ? ?CHIP1="Intel Z690"
? ? #內(nèi)存
? ? ?MEMMODEL="Samsung"
? ? ?MEMDODEL1="DDR5"
? ? ?MEMMHZ="4800"
? ? ?MEMID="1248DC"
? ? #硬盤(pán)
? ? ?DISKMODEL="Samsung PM9A1"
? ? ?DISKID="By.XZBJ"
? ? #CPU
? ? ?CPUMODEL="12th Gen Intel(R) Core(TM) i9-12900KS @ 5.50GHz"
}
{
#####核心#####
#
#虛擬機(jī)核心設(shè)置
#
#####核心#####
? ? #機(jī)器上總CPU數(shù) 8 個(gè)
? ? ?SMP="8"
? ? #共 1 個(gè)插槽
? ? ?SOCKETS="1"
? ? #每個(gè)插槽 8 個(gè)內(nèi)核
? ? ?CORES="8"
? ? #每個(gè)內(nèi)核 1 個(gè)線程
? ? ?THREADS="1"
}
{
#####加速#####
#
#虛擬機(jī)TCG設(shè)置
#
#####注意#####
? ? #控制 TCG 線程數(shù)
? ? ?THREAD="multi"
? ? #轉(zhuǎn)換塊緩存的大小
? ? ?TBSIZE="8192"
}
{
#####雜項(xiàng)#####
#
#一些不建議修改的內(nèi)容
#
#####注意#####
? ? #VMWare IO 端口的模擬
? ? ?VMPORT="off"
? ? #內(nèi)核中斷
? ? ?KERNELIRQCHIP="off"
? ? #在核心轉(zhuǎn)儲(chǔ)中包含來(lái)賓內(nèi)存
? ? ?DUMPGUESTCORE="off"
? ? #進(jìn)程名稱(chēng)
? ? ?PROCESS="Windows"
? ? #調(diào)試線程
? ? ?DEBUGTHREADS="off"
? ? #ACPI 異構(gòu)內(nèi)存屬性表
? ? ?HMAT="on"
? ? #內(nèi)存合并支持
? ? ?MEMMERGE="off"
? ? #UUID
? ? ?UUID="1f8e6f7e-5a70-4780-89c1-464dc0e7f308"
? ? #CPU設(shè)置
? ? ?LEVEL="0xEC"
? ? ?XLEVEL="0x8000001E",
? ? ?FAMILY="6",
? ? ?MODEL="7",
? ? ?STEPPING="2",
? ? ?VENDOR="GenuineIntel",
? ? #三緩
? ? ?L3CACHE="true"
}
{
#####磁盤(pán)#####
#
#虛擬機(jī)磁盤(pán)鏡像
#
#####注意#####
? ? VMDISK="/sd/Windows 7 x64.XBZJ"
}
{
#####內(nèi)存#####
#
#總內(nèi)存=交換內(nèi)存+實(shí)時(shí)內(nèi)存
#
#####注意#####
? ? #總內(nèi)存
? ? ?MEM="4096M"
? ? #交換內(nèi)存
? ? ?MEM02="2048M"
? ? #交換內(nèi)存位置
? ? ?MEMDISK="/sd/DRAM"
? ? #實(shí)時(shí)內(nèi)存
? ? ?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' \