VMWARE → STACKIT · TUTORIAL
VMware Tools, network drivers and guest conversion for STACKIT
A converted disk boots on STACKIT with a guest that still expects VMware hardware. This walk-through assesses seven VMs with Linux and Windows guests, a legacy E1000 adapter, two end-of-life operating systems and a two-network proxy, and shows what the run flags per guest, what it leaves open, and which guest steps are plain practice that you carry out.
Adapters in the export and a two-network server in the draft
A demo estate written for this page and assessed by StackToIT on 4 November 2026: seven VMs, two port groups. Left: the whole vNetwork sheet; note the adapter types vmxnet3, E1000 and E1000E. Right: the draft for fw-proxy01, which has two adapters; review comment lines are left out.
VM,NIC label,Adapter,Network,Switch,Connected,IPv4 Address,VM UUID
web-rhel9,Network adapter 1,Vmxnet3,PG-Prod,dvs-prod,True,10.50.1.11,4205-e014-0001
app-deb12,Network adapter 1,Vmxnet3,PG-Prod,dvs-prod,True,10.50.1.21,4205-e014-0002
win-ad01,Network adapter 1,Vmxnet3,PG-Infra,dvs-prod,True,10.50.2.11,4205-e014-0003
win-app02,Network adapter 1,E1000E,PG-Prod,dvs-prod,True,10.50.1.31,4205-e014-0004
legacy-c7,Network adapter 1,E1000,PG-Prod,dvs-prod,True,10.50.1.41,4205-e014-0005
fw-proxy01,Network adapter 1,Vmxnet3,PG-Prod,dvs-prod,True,10.50.1.51,4205-e014-0006
fw-proxy01,Network adapter 2,Vmxnet3,PG-Infra,dvs-prod,True,10.50.2.51,4205-e014-0006
tpl-rhel9,Network adapter 1,Vmxnet3,PG-Prod,dvs-prod,False,,4205-e014-0007resource "stackit_network_interface" "vm_fw_proxy01_nic1" {
project_id = var.project_id
network_id = stackit_network.network_PG_Prod.network_id
ipv4 = "10.50.1.51"
}
resource "stackit_network_interface" "vm_fw_proxy01_nic2" {
project_id = var.project_id
network_id = stackit_network.network_PG_Infra.network_id
ipv4 = "10.50.2.51"
}
resource "stackit_server" "vm_fw_proxy01" {
project_id = var.project_id
name = "fw-proxy01"
machine_type = var.vm_fw_proxy01_machine_type
availability_zone = var.availability_zone
boot_volume = {
source_type = "image"
source_id = var.vm_fw_proxy01_image_id
size = 60
}
network_interfaces = [stackit_network_interface.vm_fw_proxy01_nic1.network_interface_id, stackit_network_interface.vm_fw_proxy01_nic2.network_interface_id]
}One interface per adapter
Each adapter becomes a network interface in the network that replaces its port group, with the address from the export as a fixed IPv4. The server lists both interfaces.
The adapter type does not reach the file
The run lists the adapter type among the properties the draft does not carry. It reaches you through a finding for the legacy adapters instead, so read the findings, not the Terraform, for driver work.
Guest by guest: what the run says
| VM and guest | In the export | What the run reports |
|---|---|---|
| web-rhel9: Red Hat Enterprise Linux 9 | vmxnet3, UEFI | No finding. Still on the open list: guest tools, firmware, power state. |
| app-deb12: Debian 12 | vmxnet3, UEFI | No finding. Same open list. |
| win-ad01: Windows Server 2019 | vmxnet3 | Information: prepare the image for the new virtual hardware and check Windows licensing. |
| win-app02: Windows Server 2012 R2 | E1000E, one snapshot | Warning: the operating system is past its vendor's end of support and not covered by STACKIT public images. Also the Windows note, the snapshot note and the legacy adapter note. |
| legacy-c7: CentOS 7 | E1000, tools OS column empty | Warning for end of support, note for the legacy adapter. The tools setting is not stated because the export has no tools OS for this VM. |
| fw-proxy01: Ubuntu 22.04 | two vmxnet3 adapters | Information: several adapters, each becomes an interface. |
| tpl-rhel9: template | powered off | REPLATFORM: convert it to a STACKIT image or rebuild it from a STACKIT public image; no Terraform block. |
Run figures: 9 units, 8 drafted and 1 left for the architect. The only manual unit is the template.
Preparing a guest, step by step
The first steps follow what the run reports. The commands and the order inside the guest are common practice and not something StackToIT runs.
Sort the estate by guest family
Read the two OS columns of vInfo: the OS from the configuration file and the OS reported by VMware Tools. The run's checks read the configuration-file column only, so a guest whose tools report something else, or nothing, needs a person.
Linux: remove or replace VMware Tools
Broadcom documents running vmware-uninstall-tools.pl as root, followed by a restart of the guest. A guest that runs open-vm-tools from its distribution packages is handled with the package manager instead (common practice). STACKIT lists Debian, Ubuntu, RHEL, Rocky, AlmaLinux, Fedora, CentOS Stream and openSUSE as provided images; its page does not cover custom image requirements.
Windows: uninstall VMware Tools
Broadcom documents Programs and Features, select VMware Tools, Uninstall, then a restart. Do it on the guest that you convert, before the final export, and keep the console of the source VM until the target has booted.
Drivers: follow STACKIT’s example, then test
The run states that the VMware-specific components, VMware Tools and the vmxnet3 and PVSCSI drivers, are replaced by the drivers the STACKIT image needs. The STACKIT documentation pages read for this guide do not list driver requirements. STACKIT’s own professional-services example for a Windows image installs the three VirtIO drivers NetKVM, Viostor and Vioscsi, installs Cloudbase-Init and runs Sysprep before it converts the disk to qcow2. That example starts from Hyper-V, so use it as a model, confirm the requirements for your guests with STACKIT and test on a copy of each VMware guest. For Linux guests no STACKIT page read here states driver or cloud-init requirements.
Firmware
BIOS or UEFI is a property of the uploaded image, the run says, and the architect creates it. The export has a Firmware column; read it for every VM and set the image to match.
Network configuration
The draft sets a fixed IPv4 on each interface. A guest with its own static configuration or a legacy adapter must be checked after the first boot, because adapter names and driver can change.
Start without the source network
Boot the first copy in an isolated network or with the interface disabled, so two servers with one address never meet.
Firmware and the image the draft expects
Left: the open firmware setting from the action list. Right: the image variable for win-app02, which the draft declares and leaves without a value.
- `boot-firmware` (Platform Architect; decision register record DEC-OPS-VM-APP-DEB12)
- Why: The mapping rule for this kind of unit recognises the unit but only passes this setting to a person; it does not decide its value. BIOS or EFI is a property of the uploaded image (stackit_image.config.uefi, secure_boot), which the architect creates.variable "vm_win_app02_image_id" {
type = string
description = "STACKIT image converted from the boot disk of VM win-app02 (qcow2 or raw)."
}Decisions for the architect
End-of-life guests
win-app02 (Windows Server 2012 R2) and legacy-c7 (CentOS 7) are outside the images STACKIT provides, which list Windows Server 2016, 2019, 2022 and 2025 and CentOS Stream. Upgrade first, or upload a custom image and carry the risk.
Windows licences
STACKIT provides no Windows licence for an uploaded image. Its licensing page names the Flexible Virtualization Benefit and asks for subscription licences or Software Assurance; it states that you are fully responsible for the licensing of your own image.
Rebuild instead of convert
For stateless Linux guests such as web-rhel9, starting from a STACKIT image and reinstalling the application is often less work than converting a disk. Decide per guest.
Legacy adapters
Plan a console path in case the network does not come up after the first boot on E1000 guests.
Snapshots
win-app02 has a snapshot. Consolidate it before export.
Questions about VMware Tools and drivers
Does StackToIT remove VMware Tools?
No. It reads the export and writes a plan and a draft. Removal and driver work happen in the guest, by you.
Do I need to uninstall VMware Tools before the export?
The run says the VMware-specific components are replaced by what the STACKIT image needs. Broadcom documents how to remove them; whether to remove them before or after conversion depends on how you boot and test the first copy.
Why is the adapter type missing from the Terraform?
The run does not carry the adapter type into the draft; the network interface it writes names a network and an address. It warns about legacy adapters instead, so the guest check is yours.
Can I keep Windows Server 2012 R2?
STACKIT's own images start at 2016. A custom image is possible, but then licensing and support are yours.
Sources
Your next move: STACKIT.
Tell us about your estate. We show you what StackToIT delivers for it: target architecture, Terraform artifacts and a structured migration plan.