I am working on setting up a new server for a client (accountant office).
The main problem is that their systems/software runs on a +12yo Celeron with Windows 7. And the software cant be migrated to newer versions of Windows nor Linux.
The hardware is starting to fail: some caps bulged on the mobo, running out of ram, so on.
The original idea was to migrate to a new server, however newer hardware doesn’t support W7 natively.
So I was thinking on moving to Fedora Server an virtualize the W7.
My questions are:
Wich software would you recommend to do virtualization on Fedora server and run the W7 in it?
I might not be able to access the router configuration and I need to set up a fixed ip on the W7 or change the mac address of the W7 ethernet interface. Any idea how?
The W7 only runs as a file sharing server + contability software (for 2 clients only). How much RAM would you recommend for the server?
Intel or AMD platform? Any prefference or advantage of one over the other in this case?
Do those tools copy the boot sector as well? I’d probably use dd if=/dev/sdX of=w7.raw bs=1MiB in this case to be sure I had a bit-for-bit identical copy.
You might want to try matching the emulated CPU with whatever the OS was originally installed on. QEMU is capable of emulating many different kinds of CPUs:
$ qemu-system-i386 -cpu help
Available CPUs:
486 (alias configured by machine type)
486-v1
Broadwell (alias configured by machine type)
Broadwell-IBRS (alias of Broadwell-v3)
Broadwell-noTSX (alias of Broadwell-v2)
Broadwell-noTSX-IBRS (alias of Broadwell-v4)
Broadwell-v1 Intel Core Processor (Broadwell)
Broadwell-v2 Intel Core Processor (Broadwell, no TSX)
Broadwell-v3 Intel Core Processor (Broadwell, IBRS)
Broadwell-v4 Intel Core Processor (Broadwell, no TSX, IBRS)
Cascadelake-Server (alias configured by machine type)
Cascadelake-Server-noTSX (alias of Cascadelake-Server-v3)
Cascadelake-Server-v1 Intel Xeon Processor (Cascadelake)
Cascadelake-Server-v2 Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES]
Cascadelake-Server-v3 Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, no TSX]
Cascadelake-Server-v4 Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, no TSX]
Cascadelake-Server-v5 Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, EPT switching, XSAVES, no TSX]
Conroe (alias configured by machine type)
Conroe-v1 Intel Celeron_4x0 (Conroe/Merom Class Core 2)
Cooperlake (alias configured by machine type)
Cooperlake-v1 Intel Xeon Processor (Cooperlake)
Cooperlake-v2 Intel Xeon Processor (Cooperlake) [XSAVES]
Denverton (alias configured by machine type)
Denverton-v1 Intel Atom Processor (Denverton)
Denverton-v2 Intel Atom Processor (Denverton) [no MPX, no MONITOR]
Denverton-v3 Intel Atom Processor (Denverton) [XSAVES, no MPX, no MONITOR]
Dhyana (alias configured by machine type)
Dhyana-v1 Hygon Dhyana Processor
Dhyana-v2 Hygon Dhyana Processor [XSAVES]
EPYC (alias configured by machine type)
EPYC-Genoa (alias configured by machine type)
EPYC-Genoa-v1 AMD EPYC-Genoa Processor
EPYC-IBPB (alias of EPYC-v2)
EPYC-Milan (alias configured by machine type)
EPYC-Milan-v1 AMD EPYC-Milan Processor
EPYC-Milan-v2 AMD EPYC-Milan-v2 Processor
EPYC-Rome (alias configured by machine type)
EPYC-Rome-v1 AMD EPYC-Rome Processor
EPYC-Rome-v2 AMD EPYC-Rome Processor
EPYC-Rome-v3 AMD EPYC-Rome-v3 Processor
EPYC-Rome-v4 AMD EPYC-Rome-v4 Processor (no XSAVES)
EPYC-v1 AMD EPYC Processor
EPYC-v2 AMD EPYC Processor (with IBPB)
EPYC-v3 AMD EPYC Processor
EPYC-v4 AMD EPYC-v4 Processor
GraniteRapids (alias configured by machine type)
GraniteRapids-v1 Intel Xeon Processor (GraniteRapids)
Haswell (alias configured by machine type)
Haswell-IBRS (alias of Haswell-v3)
Haswell-noTSX (alias of Haswell-v2)
Haswell-noTSX-IBRS (alias of Haswell-v4)
Haswell-v1 Intel Core Processor (Haswell)
Haswell-v2 Intel Core Processor (Haswell, no TSX)
Haswell-v3 Intel Core Processor (Haswell, IBRS)
Haswell-v4 Intel Core Processor (Haswell, no TSX, IBRS)
Icelake-Server (alias configured by machine type)
Icelake-Server-noTSX (alias of Icelake-Server-v2)
Icelake-Server-v1 Intel Xeon Processor (Icelake)
Icelake-Server-v2 Intel Xeon Processor (Icelake) [no TSX]
Icelake-Server-v3 Intel Xeon Processor (Icelake)
Icelake-Server-v4 Intel Xeon Processor (Icelake)
Icelake-Server-v5 Intel Xeon Processor (Icelake) [XSAVES]
Icelake-Server-v6 Intel Xeon Processor (Icelake) [5-level EPT]
Icelake-Server-v7 Intel Xeon Processor (Icelake) [TSX, taa-no]
IvyBridge (alias configured by machine type)
IvyBridge-IBRS (alias of IvyBridge-v2)
IvyBridge-v1 Intel Xeon E3-12xx v2 (Ivy Bridge)
IvyBridge-v2 Intel Xeon E3-12xx v2 (Ivy Bridge, IBRS)
KnightsMill (alias configured by machine type)
KnightsMill-v1 Intel Xeon Phi Processor (Knights Mill)
Nehalem (alias configured by machine type)
Nehalem-IBRS (alias of Nehalem-v2)
Nehalem-v1 Intel Core i7 9xx (Nehalem Class Core i7)
Nehalem-v2 Intel Core i7 9xx (Nehalem Core i7, IBRS update)
Opteron_G1 (alias configured by machine type)
Opteron_G1-v1 AMD Opteron 240 (Gen 1 Class Opteron)
Opteron_G2 (alias configured by machine type)
Opteron_G2-v1 AMD Opteron 22xx (Gen 2 Class Opteron)
Opteron_G3 (alias configured by machine type)
Opteron_G3-v1 AMD Opteron 23xx (Gen 3 Class Opteron)
Opteron_G4 (alias configured by machine type)
Opteron_G4-v1 AMD Opteron 62xx class CPU
Opteron_G5 (alias configured by machine type)
Opteron_G5-v1 AMD Opteron 63xx class CPU
Penryn (alias configured by machine type)
Penryn-v1 Intel Core 2 Duo P9xxx (Penryn Class Core 2)
SandyBridge (alias configured by machine type)
SandyBridge-IBRS (alias of SandyBridge-v2)
SandyBridge-v1 Intel Xeon E312xx (Sandy Bridge)
SandyBridge-v2 Intel Xeon E312xx (Sandy Bridge, IBRS update)
SapphireRapids (alias configured by machine type)
SapphireRapids-v1 Intel Xeon Processor (SapphireRapids)
SapphireRapids-v2 Intel Xeon Processor (SapphireRapids)
SapphireRapids-v3 Intel Xeon Processor (SapphireRapids)
SierraForest (alias configured by machine type)
SierraForest-v1 Intel Xeon Processor (SierraForest)
Skylake-Client (alias configured by machine type)
Skylake-Client-IBRS (alias of Skylake-Client-v2)
Skylake-Client-noTSX-IBRS (alias of Skylake-Client-v3)
Skylake-Client-v1 Intel Core Processor (Skylake)
Skylake-Client-v2 Intel Core Processor (Skylake, IBRS)
Skylake-Client-v3 Intel Core Processor (Skylake, IBRS, no TSX)
Skylake-Client-v4 Intel Core Processor (Skylake, IBRS, no TSX) [IBRS, XSAVES, no TSX]
Skylake-Server (alias configured by machine type)
Skylake-Server-IBRS (alias of Skylake-Server-v2)
Skylake-Server-noTSX-IBRS (alias of Skylake-Server-v3)
Skylake-Server-v1 Intel Xeon Processor (Skylake)
Skylake-Server-v2 Intel Xeon Processor (Skylake, IBRS)
Skylake-Server-v3 Intel Xeon Processor (Skylake, IBRS, no TSX)
Skylake-Server-v4 Intel Xeon Processor (Skylake, IBRS, no TSX)
Skylake-Server-v5 Intel Xeon Processor (Skylake, IBRS, no TSX) [IBRS, XSAVES, EPT switching, no TSX]
Snowridge (alias configured by machine type)
Snowridge-v1 Intel Atom Processor (SnowRidge)
Snowridge-v2 Intel Atom Processor (Snowridge, no MPX)
Snowridge-v3 Intel Atom Processor (Snowridge, no MPX) [XSAVES, no MPX]
Snowridge-v4 Intel Atom Processor (Snowridge, no MPX) [no split lock detect, no core-capability]
Westmere (alias configured by machine type)
Westmere-IBRS (alias of Westmere-v2)
Westmere-v1 Westmere E56xx/L56xx/X56xx (Nehalem-C)
Westmere-v2 Westmere E56xx/L56xx/X56xx (IBRS update)
athlon (alias configured by machine type)
athlon-v1 QEMU Virtual CPU version 2.5+
core2duo (alias configured by machine type)
core2duo-v1 Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
coreduo (alias configured by machine type)
coreduo-v1 Genuine Intel(R) CPU T2600 @ 2.16GHz
kvm32 (alias configured by machine type)
kvm32-v1 Common 32-bit KVM processor
kvm64 (alias configured by machine type)
kvm64-v1 Common KVM processor
n270 (alias configured by machine type)
n270-v1 Intel(R) Atom(TM) CPU N270 @ 1.60GHz
pentium (alias configured by machine type)
pentium-v1
pentium2 (alias configured by machine type)
pentium2-v1
pentium3 (alias configured by machine type)
pentium3-v1
phenom (alias configured by machine type)
phenom-v1 AMD Phenom(tm) 9550 Quad-Core Processor
qemu32 (alias configured by machine type)
qemu32-v1 QEMU Virtual CPU version 2.5+
qemu64 (alias configured by machine type)
qemu64-v1 QEMU Virtual CPU version 2.5+
base base CPU model type with no features enabled
host processor with all supported host features
max Enables all features supported by the accelerator in the current host
Converting an existing Windows installation to a VM is a non-trivial task.
As far as I remember, it requires to install specific drivers and apply certain registry modifications to the working system before migration.
Did a new raw image with dd. Converted it to Qcow2. Created new VM and imported image.
Same error.
Also, try’d changing cpu model to more accurate to the original (conroe). Did nothing.
Same error.
On Oracle VM works flawlessly at first boot.
On the driver situacion: I cant find the proper drivers for W7 x86.
Sadly creating a brand new VM and reinstall everything aint an option.
I have to virtualize this PC ASAP since the original motherboard has started to degrade (blown caps) plus the owner doesnt want to pay for a new license for his invoice software (wich is outdated too).
The tool to do that in Windows is called sysprep. But be warned that MS will only let you attempt it three times.
You’ll want to make another dd copy of your SSD after sysprep shuts down the machine and before you boot it again. When it boots back up, the hardware auditing will run and undo the “generalized” mode that sysprep set just before shutdown.
Edit: I’d keep that original raw dd image you made as a backup. You might be able to use that to revert Windows to its previous state after you’ve run sysprep. I’m not sure if sysprep will invalidate the license on your installed software. It might.