Estou executando um convidado do Windows no Proxmox VE 8.2 (no Debian 12) e gostaria de ocultar do convidado informações sobre o hardware físico subjacente.
Motivação
Paguei o preço total por uma licença perpétua para alguns softwares de gerenciamento de inventário que chegaram ao "fim da vida útil" para suporte e o fornecedor decidiu desligar seu servidor de licenças. Eles me emitiram um certificado de acesso offline, mas o problema é que:
- o certificado será invalidado se o aplicativo Windows (na minha máquina) detectar alterações no hardware subjacente.
- se eu reinstalar o aplicativo, não tenho conhecimento de nenhum mecanismo para importar um certificado emitido anteriormente.
Para reduzir as chances de o aplicativo detectar grandes alterações de hardware, instalei o aplicativo em uma máquina virtual Windows. (O host é KVM no Linux.) Gostaria de ter liberdade para migrar a VM para diferentes máquinas físicas, atualizar o hardware no PC que executa o hipervisor etc., sempre que necessário.
Hardware conforme percebido pela VM
Desconheço o algoritmo usado pelo aplicativo para detectar alterações de hardware, mas suspeito que ele possa analisar coisas como:
- Número de série da CPU
- endereços MAC de interface de rede
- Sequências do BIOS
- UUID do disco rígido
Algumas dessas informações (por exemplo, as informações da CPU vistas no aplicativo Informações do sistema do Windows) parecem ser obtidas do host da VM e transmitidas ao convidado pelo hipervisor.
Você pode me dizer quais configurações do Proxmox (ou Qemu/KVM) devo ajustar para ocultar (ou substituir ou congelar) os identificadores de hardware visíveis para o convidado da VM?
No Proxmox VE você pode definir um subconjunto de "identificadores" do Qemu, incluindo estes:
dmidecode
utilitários para visualizar isso, não posso sugerir um utilitário abrangente para Windows.O Qemu é capaz de configurar diversos dados para outros dispositivos virtuais, mas o Proxmox não expõe essa possibilidade por meio de suas ferramentas. Você ainda pode usar isso editando manualmente o arquivo de configuração da VM, disponível como
/etc/pve/qemu-server/<VMID>.conf
; seu formato é bastante autodescritivo. Por exemplo, você pode adicionar um número de série ao seu disco rígido conforme descrito aqui : basta anexar,serial=524352134
à definição da sua unidade, que éscsiN
ouvirtioN
ou, se você for ignorante o suficiente para não apreciar os benefícios de desempenho que o VirtIO traz,sataN
ouideN
.Você também pode adicionar argumentos arbitrários à linha de comando do Qemu usando
args:
; seu valor será simplesmente anexado à linha de comando gerada. Foi assim que adicionei disquetes virtuais ou dispositivos flash USB virtuais às VMs no passado, para o licenciamento de software que dependia do "disquete de chave" ou "flash de chave".Tome cuidado; editar via GUI posteriormente não apagará seu arquivo
args:
, mas poderá apagar coisas que você adicionou a outros itens. Além disso, esteja ciente de que se você fizer referência a arquivos externos em suas adições personalizadas, esses arquivos não serão considerados para o backup padrão do Proxmox; Eu me deparei com essa lacuna uma vez, quando minha imagem de disquete virtual, referenciada emargs:
, não foi copiada junto com a máquina virtual. Você mesmo deve fazer backup desses arquivos separadamente.Você pode ver qual linha de comando ele está gerando com base no arquivo de configuração executando
qm showcmd <VMID>
; isso fará com que você entenda melhor a aparência da linha de comando do Qemu e como o arquivo de configuração é interpretado.