davosian
Contributor
Contributor

Fusion 11 - Switch from SCSI to NVMe for Win 10

Jump to solution

I am trying to take advantage of the new NVMe hard drive option (Hard Disk -> Advanced Options -> Bus Type: NVMe). However, when I switch this from SCSI to NVMe for an existing Windows 10 VM, I cannot boot the VM anymore since Windows  cannot find the boot drive. I understand why this is happening (and Fusion also gives you a warning when changing this setting), however I do not know how to resolve it / migrate it over to NVMe.

What would be the correct procedure for migrating an existing Windows 10 VM from SCSI to NVMe in order to take advantage of the speed increase under Fusion 11?

Tags (3)
1 Solution

Accepted Solutions
RickShu
VMware Employee
VMware Employee

Hi davosian,

Yes, you can not simply switch the bus type from SCSI to NVMe against a disk in which the Operating System is installed.

However, maybe you can try the following workaround, but please remember, BACKUP your data before you start to do this.

1. Create a custom virtual machine. Click menu File==>New==>Create a custom virtual machine

2. Select your guest system (i.e. Windows 10 x64)

3. Click Continue button, in 'Choose a Virtual Disk' UI, choose 'Use an existing virtual disk' option.

4. Choose the disk file you want to migrate from SCSI to NVMe.

5. Choose 'Make a separate copy of the virtual disk' option  and go ahead.

6. In Finish UI panel, click 'Customize settings' button. Name your new VM and save it.

7. After the disk copy process is done, click 'Hard Disk' icon in Settings panel.

8. Now change the bus type from SCSI to NVMe. Click Apply button.

9. Boot up the new created VM.

I hope it helps.

Regards,

-Rick

View solution in original post

11 Replies
RickShu
VMware Employee
VMware Employee

Hi davosian,

Yes, you can not simply switch the bus type from SCSI to NVMe against a disk in which the Operating System is installed.

However, maybe you can try the following workaround, but please remember, BACKUP your data before you start to do this.

1. Create a custom virtual machine. Click menu File==>New==>Create a custom virtual machine

2. Select your guest system (i.e. Windows 10 x64)

3. Click Continue button, in 'Choose a Virtual Disk' UI, choose 'Use an existing virtual disk' option.

4. Choose the disk file you want to migrate from SCSI to NVMe.

5. Choose 'Make a separate copy of the virtual disk' option  and go ahead.

6. In Finish UI panel, click 'Customize settings' button. Name your new VM and save it.

7. After the disk copy process is done, click 'Hard Disk' icon in Settings panel.

8. Now change the bus type from SCSI to NVMe. Click Apply button.

9. Boot up the new created VM.

I hope it helps.

Regards,

-Rick

davosian
Contributor
Contributor

Hi Rick,

I followed your instructions and they worked beautifully. Thanks, RickShu​!

I am not sure whether it matters, but before going through your steps, I booted up my existing VM and made sure the latest VMWare Tools were installed (matching Fusion 11).

Best,

davosian

0 Kudos
c6ten
Contributor
Contributor

So I'm guessing I'm missing something but this didn't go well for me, boot clone and failed immediately couldn't find disk. So is there an extra step? For example do I enable Secure Boot? I did set it up using UEFI. Also not sure what magic there is to cloning the disk isn't there a way of fixing the vmx manually?

MacOS 10.13.6 Fusion 11

0 Kudos
RickShu
VMware Employee
VMware Employee

Hi c6ten,

Please confirm the firmware type of source VM and target VM are consistent. For example, if the firmware of source VM is Legacy BIOS, then you need to create a new VM based on Legacy BIOS as well.

Regards,

-Rick

0 Kudos
davosian
Contributor
Contributor

I successfully tried this approach with a Win 10 VM and a Win Server 2012 VM. In both cases I first updated the VMWare tools to the matching (latest) version of Fusion 11. For the Win 10 VM I was using the UEFI bootloader (without the "secure" option) and for the Win Server 2012 machine, I had to use the legacy bootloader (I first tried the UEFI bootloader as well, but that one resulted in errors during boot time).

0 Kudos
c6ten
Contributor
Contributor

You set me on the right path it was indeed legacy BIOS it was originally upgraded from Win 7. So an extra step was required convert to EFI before changing to NVMe these instructions  have it for Windows 10 Converting Windows® Installation from Legacy to UEFI without Data Loss also don't forget to add firmware = "efi" to the vmx

0 Kudos
c6ten
Contributor
Contributor

Something changed with Windows 10 1803 and these instructions don't work for me, something about not being able to read the start up disk. Does anyone have any fail-safe instructions? I have sorted out the disk format (it is definitely GPT) and I am using UEFI secure boot, but somehow what worked last October no longer works.

IlDavo
Enthusiast
Enthusiast

I believe I got past the "An operating system wasn't found" error that c6ten​ reported.

Taking a clue from the article at: VMware Knowledge Base ...

I inserted:

bios.hddorder = "nvme0:0,scsi0:0,ide0:0"

... into my .vmx.  This effectively instructed the VM's BIOS to attempt to book from NVME before SCSI, IDE, etc.  I can only assume that the "default" setting attempts to boot from SCSI (and others) and never attempts to use NVME.

See also  https://www.besttechie.com/how-to-convert-vmware-fusion-virtual-sata-disk-to-virtual-nvme-disk/  for a simpler way to convert an existing disk from SATA or SCSI to NVME.

I'm far from certain that I've covered all bases, but I hope this helps someone else get farther down the road.

0 Kudos
c6ten
Contributor
Contributor

Those instructions did it for me thank you. My only addition is that it does well to remove the secondary drive before you edit the vmx, probably too silly to mention but I corrupted the vmx first time I tried. But the instructions basically do the trick. Also thanks for highlighting the boot order property, seems to me that the nvme drive is just ignored without it.

0 Kudos
nathanielcarter
Contributor
Contributor

I have attempted this process with my Win 10 VM on Fusion 12.1 but am getting a BIOS error. Please see the attached screenshot.

0 Kudos
VerdeCapucho
Contributor
Contributor

I am getting the same error with exact same screen

 

 

0 Kudos