How to change the network adapter to VMXNET3 for a Windows guest

VMware offers several types of virtual network adapters that you can add to your virtual machines. Depending on the operating system you install it will select a default adapter when you create a VM. For Windows the default adapter type is the Intel E1000. There is however an adapter that will give you a better performance, which is the VMware VMXNET3 adapter. More information about choosing the right adapter, supported operating systems and the performance benefits of this adapter can be found in these locations:

Choosing a network adapter for your virtual machine (1001805) (also lists OS support for VMXNET3)

Performance Best Practices for VMware vSphere® 5.5

Performance Evaluation of VMXNET3 Virtual Network Device

So you might ask why this adapter is not chosen by default for the supported operating systems? The reason is that a default OS installation disc for Windows (and also for other operating systems) does not contain the driver for this VMware VMXNET adapter. Therefor it defaults to the Intel E1000 NIC that is supported by all operating systems. Once the virtual machine is finished and the OS is installed fully you can switch from the E1000 to the VMXNET adapter. 

You could do this in all your virtual machines after installing Windows but you probably are going to use a template to deploy Windows-servers. Therefor I suggest that you perform the tasks described here in your master virtual machine that will become your template.

Remove the current NIC from Windows first

The best approach is to first remove the NIC that is currently in the virtual machine. If you don't then the adapter's configuration will still be in the Windows-configuration and might conflict with your future networking configuration. 

TipFirst make a note of the current IP-configuration so you can use that same configuration for the new adapter. If it is configured with DHCP then it doesn't matter. But be aware that the new vmxnet3-adapter will have a new MAC address so it will not get the same address from your DHCP-server.

To remove the adapter open Device Manager and expand the Network adapters category. Next right-click the Intel adapter and from the menu select Uninstall.

Remove Intel E1000 from Device Manager

When you don't first remove the current adapter and use the IP-address for the new adapter this is the message you would see to inform you about the possible future problem:

IP address in use

The error message is: The IP address XXX.XXX.XXX.XXX you have entered for this network adapter is already assigned to another adapter. This problem is described in more detail in a VMware Knowledge base article: Networking Error: IP address already assigned to another adapter (1179)

But as I mentioned before: If you first remove the current NIC then you will not have this problem.

Remove the current NIC from the VM and add the VMXNET3-adapter

​The next step is to remove the current virtual NIC from the virtual machine and add a new NIC of the type VMXNET3.

For Windows Server 2003 it is better to power off the VM when removing the NIC, for later versions of Windows Server it is possible to remove the NIC while the VM is in a power on state.

In the vSphere Web Client browse to your VM and edit the settings. At the bottom of the Edit Settings-screen you see the possibility to add a device. Choose a Network adapter and click Add. Don't forget to open the new adapter's configuration settings to set the type to VMXNET3.

Remove current adapter and add VMXNET3

If you click Ok the new VMXNET3-adapter will be added to your system and be available instantly. At the same time the old adapter will be removed. You can do this while the virtual machine is powered on. 

If you did not first uninstall the old adapter from Windows then you can still do it at this time from device manager. You will however have to enable Windows to show nonpresent devices. I have found that you can do this from Device Manager in Windows Server 2012 without any extra settings, but for older Windows versions you might first need to set an environment variable: 

set devmgr_show_nonpresent_devices=1

Then start Device Manager and from the View-menu select Show hidden devices. You can then see and uninstall the old adapter.

Show Hidden Device in Device Manager




Follow us on LinkedIn




Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer