Portál AbcLinuxu, 6. května 2025 06:06
Hele tohle je spis fabulace, protoze to neznam do detailu, ale neni nahodou prave kombinace qemu-kvm o tom, ze ten virtual vidi na fyzicky CPU? A tudiz je to vykonejsi, nez samotny qemu, ktery ten CPU emuluje? Jinak receno, musel by terminovat KVMko a "vyrobit" virtualni CPU v qemu, ktery by se tvarilo jako ten puvodni, fyzicky? A kdovi jestli jen CPU.CPUID se dá trapovat. Ještě by asi musel třeba vypnout AVX, protože ten software může teoreticky zkoušet použít instrukce a čekat, jestli dostane chybu. Ale to bych neviděl jako moc pravděpodobné.
Dá se nějak docílit toho, aby uvnitř virtuálu nebylo možné poznat, že došlo k přesunu?Logicky vždy platilo že se musí stávající deaktivovat a teprve pak ji aktivovat jinde pokud nejde o OEM, druhá věc je jestli to MS ještě dělá u OS s ukončenou podporou. Pokud tohle chceš obejít v podstatě je to porušení licence.
sudo virsh qemu-monitor-command <jméno_vm> --hmp "info qom-tree" | grep cpu
zjistíš jaký cpu se používá na staré VM (na Centos 5.11) a ten nadefinuj do XML, aby se používal i na nové VM (na Centos 7).
Typ stroje - verze Qemu:
Zkontroluj jestli v XML máš uveden "type machine", něco jako:
<os> <type arch="x86_64" machine="pc-i440fx-4.1">hvm</type>Bios: Předpoládám, že je použit typ stroje i440fx, takže se používá Seabios. U mě je uložen zde: /usr/share/qemu/bios.bin . Můžeš ho zkusit zkopírovat ze starého Centos do nového. uuid: Zkontroluj jestli v XML máš pořád zachováno stejné číslo v <uuid>. Jestli se ti třeba na novém stroji nenahradilo novým číslem. Pokud nic z toho nepomůže, tak můžeš příkazem
sudo virsh qemu-monitor-command <jméno_vm> --hmp "info qom-tree"
nebo sudo virsh qemu-monitor-command <jméno_vm> --hmp "info qtree"
vypsat celý strom virtuálního HW na novém i starém stroji a porovnat je mezi sebou, abys viděl co se změnilo.
Doufám, že v tom XML máš nadefinované PCI adresy, něco jako <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/>
. Pokud jsi XML vytvářel v libvirtu, tak by to mělo být OK, protože libvirt to dělá automaticky při vytváření nové VM.
SMBIOS:
Ještě mě napadá ve WinXP vypsat údaje co poskytuje BIOS (na linux viz dmidecode, u WinXP bys musel najit obdobý nástroj) a zase je porovnat na starém a novém stroji. Je možnost na starém WinXP údaje dumpnout a podstrčit je WinXP na Centos 7 pomocí parametru -smbios file=./dmi.bin
Zanořená virtualizace:
Je taky varianta se na výše uvedené vyprdnout a zkusit WinXP jako zanořenou virtualizaci - udělat ze starého Centos 5.11 virtuálku a tu přenést na Centos 7. Uvnitř virtuálky Centos 5.11 by byla další virtuálka s WinXP.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.