Windows 7 to Windows 10 upgrade

Now might be the right time to update to Windows 10 if you have a virtual machine running Windows 7. You don’t really want to keep on running with a VM that is no longer receiving Windows Updates.

Upgrading from Windows 7 (or 8) is as simple as downloading and running the installer from This is still free, even today in Januari 2020.

This week at the VMware Forums there was a few people who had problems upgrading to Windows 10. The error is as follows:

“This device isn’t compatible in Windows 10. Contact the manufacturer for more info.

LSI Adapter, Ultra320 SCSI 2000 series, w/1020/1030″

You would see a similar error if you happen to use a Buslogic scsi adapter. Neither of those adapters have drivers for Windows 10 and as such the update gets stuck in a continuous loop.

Luckily though we are running a VM and changing hardware is therefor relatively easy and comes at a minimum cost (it is free!) But, you can’t just change the adapter as then you will end up with problems booting. There is however an easy way around that issue.

So cancel the upgrade and follow these steps. The screenshots below are for Windows 8, but it will also work for Windows 7. This article is written for VMware Fusion, but the same trick also works for VMware Workstation Professional and VMware Workstation Player.


  • Make sure your Windows is activated,
  • that the virtual hardware is up-to-date and
  • that VMware Tools is installed and the most recent version.

Step 1: Shut down your VM and make a backup

You can make a backup by closing VMware Fusion (or VMware Workstation) and make a copy of the complete VM to an external disk.

Step 2: Add the LSI SCSI SAS controller to the VM.

With the VM shut down and the VM window closed, go to Virtual Machine Library in VMware Fusion. Then select the VM, use right click (Ctrl+click) and hold down the option key. In the context menu, the option “Show in Finder” will change into “Open Config File in Editor”

Edit Configuration vmx file in TextEdit
Hold down the option key to edit the config file

In TextEdit, make sure you do not have smart quotes enabled. (File menu -> Preferences, the checkbox should not be ticked)

Smart quotes disabled in TextEdit

With all that out of the way, now look for the following bit of text in your vmx file. Please be aware that the lines do not have to be in this order, they can be anywhere in the .vmx file.

If you have a buslogic scsi adapter you will have this snippet:

scsi0.present = "TRUE"
scsi0.virtualDev = "buslogic"
buslogic.noDriver = "FALSE"

If you have a parallel LSI scsi adapter, then you will have this snippet:

scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"

We need to be able to use the LSI Logic SAS scsi driver. We cannot change that here now as Windows will not be able to boot. So instead we are going to let Windows load the new driver for us.

Add the following line to your .vmx file.

scsi1.present = "TRUE"
scsi1.virtualDev = "lsisas1068"

Note that instead of scsi0 it now says scsi1. This is important!

We are adding a new LSI SAS adapter in addition of the scsi adapter we already had.

Now save the file and exit TextEdit.

Step 3: Load the drivers for the new scsi controller.

Boot your VM. If you followed the directions carefully, then the VM should still boot without any issues. Log in and verify that we have indeed loaded a new SCSI adapter. (Start menu -> right click -> Device Manager)

Storage conttrollers now has an LSI SAS Adapter listed
LSI SAS Adapter

That was the tricky part.

Step 4: Remove the old scsi adapter and switch over to use the new one

Now shut down your VM again and go back to editing the .vmx file. (use our earlier steps).

Locate the lines for the old parallel LSI Logic or buslogic adapter and remove those lines. This will remove the adapter that is incompatible with Windows 10.

Then change the lines we added from scsi adapter 1 to scsi adapter 0.

Eg. change from:

scsi1.present = "TRUE"
scsi1.virtualDev = "lsisas1068"


scsi0.present = "TRUE"
scsi0.virtualDev = "lsisas1068"

… and that’s it.

You should now be able to boot your VM with a new LSI SAS controller.

A scsi controller that is compatible with Windows 10.

Beware that changing the scsi controller might trigger the Windows Activation logic. Adding a controller and swapping them appears to be less of an issue. So if you trip up the activation Gods then that is my suggestion to try next.

Another problem you might bump into is:

“VMware SVGA 3D is not compatible with Windows 10.”

Normally that is just a warning with a button next to it that you can use to tell the installer to ignore this warning. After ignoring that you should be able to proceed. If there’s no “ignore this button” then have a look at the following KB article:

After you completed your upgrade to Windows 10 do not forget to change the guest OS type in VMware Fusion / Workstation from “Windows 7” to “Windows 10” and then re-install VMware Tools.

Now that you are here. Please check out our product “Vimalin“. It has been designed for making your life easier to get good backups of your VMs. We support VM’s running in VMware Fusion and VMware Workstation Professional.

More info at our main page

Backup your VMware Fusion VMs, even when they are still running

Making a backup can be problematic

Taking care of the data and time you invested in a virtual machine (VM) is one of the problems. In other words make sure to have good backups. For Time Machine, VMware recommends you to exclude virtual machines as you can’t make good backups with it (see [1] and [2]). The problem is similar with normal backup products on Windows.

You cannot normally make a backup of a machine that is still running. The reason is that the copy of the virtual disk would likely end up being corrupted. This is because there is a high chance that the disk is changed while you are copying the virtual disk file(s). File systems do not like that.

Some alternative solutions

A suggestion is to move your data out of the VM and save it at your host while accessing it via shared folders. This by itself breaks the encapsulation of a VM – have everything in one package. On top of that, shared folders aren’t very performant. Not an ideal solution either.

Of course you can make a manual copy of the VM when it has been shut down, but that means having to set aside time to do so. Now you also have to make sure to not forget doing so on a regular time.

Wouldn’t it be neat if you could make easy backups of your VMs in an automatic way and not having to worry if you left them running or not?

Enter Vimalin

The above got me thinking and work on a product called “Vimalin”.

With Vimalin you can schedule backups of your virtual machines. Vimalin uses VMware automation to detect if the virtual machine is running or not. If the VM is running at a time when the backup is scheduled then Vimalin knows about that. In that scenario it uses VMware snapshot technology to be able to make a consistent virtual disk copy. In that case it also copies the machine state and memory contents from your VM.

As a result when restoring the VM, you end up with a restored machine that looks exactly like it was suspended at the time of the backup. It does this all by using VMware automation and does not require you to install an agent in the VM. Both VMware Fusion as well as VMware Workstation Professional are supported.

You can read more about how to use Vimalin (including screen shots) in the online documentation

or you can download the latest version from our download page and test drive it for yourself.

There is a 60 day trial period. After 60 days it changes into the free version which still allows you to make backups or restore them, but it disables the scheduling and email notifications feature.

Free Vimalin 2.0 license for vExperts

Congratulations with your 2019 VMware vExpert award!

We do appreciate your efforts and contributions to the VMware community and therefor like to give you a free NFR license to Vimalin 2.0.

Whether you use VMware Fusion or VMware Workstation Professional, Vimalin can help you with automatic backups of your virtual machines.

With Vimalin you can run the backups of your VMs automatically without worrying that you forgot to make that manual copy. You don’t even have to stop your VM as it happily makes a backup while the VM is running.

More details can be found at the main site.

Please fill in your details below

Please use the same email address as for your vExpert communications.

and after verification of your details we will try to send a free license to your email ASAP.

Import backup targets

With our latest release (version 1.0.298 see download page) one of the main new features is the ability to import backups.

Normally Vimalin keeps track of all your backups in a database and based on the data in there it will show you an overview of all the backups you currently have. Those backups can be on different disks and/or network locations.

That works great. But what now if you happen to do a fresh install of macOS and you don’t have that old database available? Then Vimalin would not be able to locate those previously made backups. Until now.

Another scenario is if you have multiple machines that you backup via Vimalin. Normally you only see your own backups. Vimalin stores the backups per host, and the database is stored locally so normally you do not see backups from other hosts.

If you want to put back a backup from another host then there was no easy way to do that. This new feature also makes this much easier.

So how does it work?

If you add a backup Disk Target then Vimalin will now verify if it has been used by Vimalin before and if it has it displays the following popup:

If you select “Yes” then it will scan the contents of the Disk target and report back what if found.

You can then verify what backup have been found in the backup archive screen:

As you can see in our example it found 2 backups of 2 VMs. The first one is a backup that was made onDemand earlier today while the other one is a backup of Win98 made yesterday.

Note that it will only add backups not already in your database and that it will verify if all the files that make up the database are available. You can even remove the target and add it back to sync with the disk target.