Can't hide 'VM' status in Windows guest

Asgarda

New Member
Sep 23, 2021
3
1
1
35
Hello!

After 4 hours of searching info into the Internet, i've found.. nothing. Many "how-to" with GPU passthrough are telling, what it possible in Proxmox, but I don't need to passthrough GPU, I just need to hide VM status of my Windows guest machine.

In documentation, in "Options" section, where is "cpu" option for VM. It contains "hidden=<x>" parameter, that shoud 'disable' VM status of guest, but.. It doesn't work!

As I know, Proxmox based on Debian. At my home, I've machine with Kubuntu 20.04 with QEMU and Virt-Manager. And it works fine. At my work, VM on the server with Proxmox, situation is reverse. Is where any difference between Proxmox QEMU and Ubutnu QEMU?

I've try everything. Setting "hidden", adding "args: -cpu 'host,kvm=off'" string, enables and disables KVM in VM config, switching BIOS type.. and nothing helps me. How can I disable VM status of my virtual Windows guest? I've started to guess what it doesn't possible without GPU. Is it possible for VM without GPU passthrough?

ps./ I using Proxmox 6.4 and 7.0 (for test)
 
its probably the automatic hv features we enable when you set the ostype to anything windows. try setting the ostype to linux or other and check if that helps

on another note: why do you want to hide it at all? even if windows task manager does not say 'virtual' it is not hard for a program to tell if it's running in a vm..
 
why do you want to hide it at all? even if windows task manager does not say 'virtual' it is not hard for a program to tell if it's running in a vm..
Some programs didn't start on VM or works not as expected. For example - drivers, games security systems and etc.

On my home WS I thought about switching my host Kubuntu to Proxmox and create two VMs with two separated GPUs: Linux for work purposes and Windows for gaming. With QEMU and VirtManager, as i wrote higher, I've achieved this and this works fine.

At my work I need to start software that are very critical sensitive where it starts: on VM or HW.

try setting the ostype to linux or other and check if that helps
This not helped... :(
 
I've found the solution. Just need to add "-hypervisor" key in "args: ..." string in VM configuration.

Hope it helps anybody who read this topic :)
 
Last edited:
  • Like
Reactions: Thorvi
I've found the solution. Just need to add "-hypervisor" key in "args: ..." string in VM configuration.

Hope it helps anybody who read this topic :)
one more question, how did you do it? can you paste here your example? not working for me, its saying:


"kvm: -hypervisor: invalid option
start failed: QEMU exited with code 1"

right after i start the VM.
 
We had issues with SolidWorks License Manager, fixed with:
args: -cpu host,hv_vapic,hv_stimer,hv_time,hv_synic,hv_vpindex,+invtsc,-hypervisor

(PVE 7.4)
 
We had issues with SolidWorks License Manager, fixed with:
args: -cpu host,hv_vapic,hv_stimer,hv_time,hv_synic,hv_vpindex,+invtsc,-hypervisor

(PVE 7.4)
Thanks, it works for me(PVE 8.0).
Tips: don't set "cpu: x86-64-v3" in config file in the meantime. I met GPU driver 43 error code If I set it.
 
We had issues with SolidWorks License Manager, fixed with:
args: -cpu host,hv_vapic,hv_stimer,hv_time,hv_synic,hv_vpindex,+invtsc,-hypervisor

(PVE 7.4)
I apologize for kicking an old thread here, but I'm a novice with PM myself, and am currently struggling with exactly this.
All of the posts suggesting how to add/edit args for virtual machines are confusing me, as the formatting doesn't seem to play nice with the formatting/style of /etc/pve/quemu-server/#.conf in my case, and adding -hypervisor seems to do roughly the opposite I'm trying to do and doesn't change the Windows server's state from "Virtual Machine: Yes"

I'm on 8.2.4, and the VM is Windows Server 2022.
 

Attachments

  • 101conf.png
    101conf.png
    36.4 KB · Views: 18
  • Taskmgr.png
    Taskmgr.png
    72.2 KB · Views: 18
Can you send your modified .conf? In our case, flags make look like VM is running on Hyper-V, which makes license manager happy...
 
I apologize for kicking an old thread here, but I'm a novice with PM myself, and am currently struggling with exactly this.
All of the posts suggesting how to add/edit args for virtual machines are confusing me, as the formatting doesn't seem to play nice with the formatting/style of /etc/pve/quemu-server/#.conf in my case, and adding -hypervisor seems to do roughly the opposite I'm trying to do and doesn't change the Windows server's state from "Virtual Machine: Yes"

I'm on 8.2.4, and the VM is Windows Server 2022.
The screenshot of your .conf file doesn't show an "args: ..." line. Did you add it in?
 
Can you send your modified .conf? In our case, flags make look like VM is running on Hyper-V, which makes license manager happy...
Thanks for the reply. The machine's 101.conf, from the /etc/pve/qemu-server folder reads
bios: ovmf
boot: order=ide0;ide2;net0
cores: 8
cpu: host
efidisk0: VMStorage:vm-101-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
ide0: VMStorage:vm-101-disk-1,size=1000G
ide2: none,media=cdrom
kvm: 1
machine: pc-q35-9.0
memory: 32768
meta: creation-qemu=9.0.0,ctime=1721228102
name: APP
net0: e1000=BC:24:11:62:B7:9F,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: win11
scsihw: virtio-scsi-single
smbios1: uuid=0b78b060-d0b6-4966-bee3-96e78b76d329
sockets: 1
startup: order=2
tpmstate0: VMStorage:vm-101-disk-2,size=4M,version=v2.0
vmgenid: 07be858c-ce6d-4559-a860-a208d4cbd7ff
The screenshot of your .conf file doesn't show an "args: ..." line. Did you add it in?
Part of my confusion is seeing other peoples' conf examples and I can't seem to understand how/where these entries go, as I don't see any "args:" string, and don't understand how to format it or where to place it.
Where should I add an args: line please?
 
You can add it to the top of the .conf file like:

Code:
args: -cpu host,hv_vapic,hv_stimer,hv_time,hv_synic,hv_vpindex,+invtsc,-hypervisor
bios: ovmf
boot: order=ide0;ide2;net0
cores: 8
cpu: host
efidisk0: VMStorage:vm-101-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
ide0: VMStorage:vm-101-disk-1,size=1000G
ide2: none,media=cdrom
kvm: 1
machine: pc-q35-9.0
memory: 32768
meta: creation-qemu=9.0.0,ctime=1721228102
name: APP
net0: e1000=BC:24:11:62:B7:9F,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: win11
scsihw: virtio-scsi-single
smbios1: uuid=0b78b060-d0b6-4966-bee3-96e78b76d329
sockets: 1
startup: order=2
tpmstate0: VMStorage:vm-101-disk-2,size=4M,version=v2.0
vmgenid: 07be858c-ce6d-4559-a860-a208d4cbd7ff
 
Thanks for the speedy response. With those args added to the first line, the guest OS still reports it's a virtual machine, (which may or may not be okay) and Solidworks SolidNetwork License Manager is still complaining it "cannot run in this virtual environment."
solidworks-license-manager-screenshot.png
 
Did you shut down the VM first then edit the .conf file?
I originally edited it, then restarted the server.
I've now edited it again while the VM was powered off and then powered it back up.

The OS guest no longer reports being a virtual machine in task manager/systeminfo, will ask the person who knows more about the licensing manager to try to resume their work.
Appreciate the help, will come back to the thread if I continue to have a problem.
 
Glad that worked.

When editing the .conf files manually, you should power down the VM as the PVE GUI will essentially overwrite any changes you make.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!