VMware Communities
agoodpub
Contributor
Contributor

Can't Upgrade to Windows 8.1 on Fusion 5

I tried (many times now) to upgrade from Windows 8 to 8.1 using the download from the Windows store.  When it asks to restart it comes up with an error saying

Couldn't update to Windows 8.1

Sorry, we couldn't complete the update to Windows 8.1. We've restored your previous version of Windows to this PC.

0xC1900101 - 0x20017

Searching on google for that error I see several people getting that error (although not using vmware) and Microsoft's response is that it is a driver problem.  They say to make sure all Windows updates are done (I have done)

Anyone else got this and fixed it?

I'm using Fusion 5.0.3 on a 2012 Macbook Retina

(I have been able to update my Parallels Windows 8 VM on the same machine, but when I import the Parallells 8.1 into Fusion it juts goes into a reboot loop)

I have also got a running 8.1 preview in Fusion.

62 Replies
dariusd
VMware Employee
VMware Employee

Nice work, docangle!  It seems like you have found a winner.

In response to your post, yesterday we started more internal testing, but we still remain unable to reproduce the issue in-house, no matter which storage controller we use, or which version of Windows we start upgrading from.  We've done many installations of the Windows 8.1 update and none of them have encountered this problem.  With such an opaque error message coming from the upgrade process, and nothing useful we can find in any of the log files, there is not much more we are able to do unless we can reproduce the problem here.  This is super frustrating for all of us.

We have no reason to believe the problem lies with the virtual SCSI controller or driver itself, since many of our tests have also used the same virtual LSI Logic SAS 1068 controller and they have worked fine.  The default LSI Logic SAS 1068 controller uses a driver built in to Windows.  There is something else about the configuration or contents of affected VMs which is triggering the failure, and we still haven't narrowed down what it is.

We'll continue trying to investigate the problem, but – again – we can't really post anything meaningful until we have actually determined something of use, which so far has not yet happened from our side of the fence, at least...

Thanks again, docangle, for coming up with a good workaround and posting it here, and thanks to everyone else who's posted back with your success stories!

Cheers,

--

Darius

Reply
0 Kudos
DRG2013
Contributor
Contributor

Interesting !!!  Today I'm getting an update to Fusion from 6.01 to 6.02. Wonder if this is fixing this particular Windows problem? Oh Well ! Either way it's really no longer a problem.

Reply
0 Kudos
dariusd
VMware Employee
VMware Employee

I'm not aware of anything in Fusion 6.0.2 which is intended to address this particular problem.

Cheers,

--

Darius

Reply
0 Kudos
MickeyP
Contributor
Contributor

I would be happy to stage a VM for you that consistently fails during upgrade.

Reply
0 Kudos
lingenfr
Contributor
Contributor

Obviously, VMW's testing environment does not represent the customer environment. For my development teams, that would be a problem. I doubt that VMW has done the research, but if you assume that there are 1) people who read the instructions and solved their problem but didn't post and 2) a group that is still having the problem or got a solution elsewhere, then this problem affects a not insignificant portion of users. Hopefully, VMW will get a sense of urgency about replicating this problem in their environment and developing an actual fix. It may be worth a reminder that in addition to using these products at home, some of us also do this for a living and purchase, specify (or not) VMW's products for our enterprise and our customers. Had this been a customer issue, we would be out looking at VMW alternatives.

Reply
0 Kudos
mcg1969
Contributor
Contributor

Just a word of warning: making the change from SCSI to IDE apparently triggers the need to reactivate Windows---at least it did for me. This involves calling an automated system, giving it some 50-digit number that shows on the screen, and entering another 40-digit number they give you over the phone. Tedious, but straightforward.

Reply
0 Kudos
dariusd
VMware Employee
VMware Employee

OK, following up on this, we've determined that:

  • Virtual machines created with certain versions of Windows XP and Windows Vista, or possibly created using older versions of Fusion, will have their boot disk attached via a virtual LSI Logic Parallel SCSI controller.  Newer VMs are created with a virtual LSI Logic SAS 1068 controller.
  • Microsoft have removed the LSI Logic Parallel SCSI driver from Windows 8.1 (see VMware KB: Windows 8.1 and Windows Server 2012 R2 guest operating systems are unable to access stora...).
  • The Windows 8.1 upgrade assistant fails to alert the user that upgrading the OS will leave the system with no available driver for the boot volume when the boot volume is on an LSI Logic Parallel SCSI controller.  I expect we will shortly be reporting that issue to Microsoft... It seems to be a rather glaring and catastrophic omission in the fundamental purpose of the upgrade assistant...
  • Continuing with the Windows 8.1 upgrade yields the error described in this thread.

To work around the issue, you can switch the drive to IDE, as docangle mentioned, or if you are confident with editing the VM's configuration file, it should also suffice to power off the VM, change the line

   scsi0.virtualDev = "lsilogic"

to

   scsi0.virtualDev = "lsisas1068"

and try the upgrade again.

I'm hopeful that this will cover the majority of upgrade problems relating to this particular error message, but it is always possible that there will be other failure scenarios we are yet to discover, so please do post back here if this doesn't describe your situation (you're already using the lsisas1068 controller) or the workaround doesn't work for you.

Thanks again for your patience and assistance,

--

Darius

mcg1969
Contributor
Contributor

This is really interesting, Darius, thank you for posting this. Now, here's a question: or two or three.

  • For those of us who did the SCSI->IDE trick, it seems like switching back to SCSI has rendered the VM inoperable. Is this because somehow it is reverting to the unsupported "lsilogic" device? If we manually ensure that "lsisas1068" is used instead, will this allow us to switch back to SCSI?
  • And is there a compelling reason to make the switch back to SCSI anyway? I'm probably risking another activation cycle if I do the switch, so unless there is a real performance gain, I'll probably pass.
Reply
0 Kudos
mthused
Contributor
Contributor

FWIW, I just edited my vmx file to change to the appropriate SCSI/SAS controller, and attempted to change back to SCSI from IDE- still crashes on boot.  This particular VM started life as a 32-bit Vista installation, so that's consistent with Darius's post.

Reply
0 Kudos
dariusd
VMware Employee
VMware Employee

You may want to double-check that the .vmx file still says "lsisas1068"... particularly if Fusion was still running when you edited the config file, it's possible that it was written back to "lsilogic" by the Fusion UI.

Historically, Windows has been extremely sensitive about changing its boot device.  I'm actually surprised that changing it from SCSI to IDE doesn't cause more problems than it solves, but the evidence here demonstrates that it works.  Now, once you're on IDE, I have no idea what will happen if you switch back to LSI Logic SAS... that is a mystery, and I have not tried it.  It might be that you run back into the usual Windows boot driver sensitivity by doing that.

Cheers,

--

Darius

Reply
0 Kudos
mthused
Contributor
Contributor

Yes, double-checked just now- Fusion wasn't running when I changed it originally, so it was correct ('lsisas1068').  I'm sure it's just Windows being cranky about boot devices again...

Reply
0 Kudos
dariusd
VMware Employee
VMware Employee

SCSI will generally offer some improvement in performance, but the level of performance gain depends entirely on the workload and may be negligible.  Weighed up against the risk of consuming another activation, in your shoes I'd probably stick with IDE unless a disk I/O performance problem becomes evident.

There is another option, if you're game: Although you can't change disk types while a VM has snapshots, you can always make a full copy of your VM (not a Time Machine backup, and assuming you have available disk space), disconnect it from the network, try changing the disk type, and restore your backup if it fails or wants activation... that way the VM will never know what happened to it... (If you do this, please be careful about ensuring that you have a full backup and that you have the knowledge and ability to restore it if things go wrong!)

Cheers,

--

Darius

Reply
0 Kudos
usaf890
Contributor
Contributor

Darius,

The change from

  scsi0.virtualDev = "lsilogic"

to

   scsi0.virtualDev = "lsisas1068"


looked like the condition that might be causing my system not to upgrade to 8.1.  However, when I edited the file to change to "lsisas1068" VM would not start and said file was corrupt.  Carefully checked the edit 3 times and tried. Finally rolled it back to the "lsilogic" setting and at least my machine will run in Windows 8 again.  I think you may be on to what the issue is, but somehow the edit would not work for my situation.


Any further refined help certainly welcome.


Any idea when VMWare may have a supported update that fixes this issue?


Jeff

Reply
0 Kudos
jw4
Contributor
Contributor

Darius,

I also changed the vmx file to lsasas1068 and it still will not boot.  My installation was Vista 32 and then upgraded to Win 8 Pro via the special upgrade program.

I changed the vmx file while VM was shut down, verified he change was still still there, rebooted and verified the vmx change, and then started VM and Win 8.  Win 8 goes in to a long delay before saying there is a problem with the system.  Then Win 8 tries to fix it and that fails.  Subsequent boots to Win 8 just hang with no further Win 8 attempts to fix.

I reverted the vmx change and the now Win 8 boots normally.

Any ideas?

Reply
0 Kudos
kevgor
Contributor
Contributor

Folks:

Regarding in-place upgrade of an x86 Windows 8 Enterprise to Windows 8.1 Enterprise VM terminating after selecting keyboard layout:

1) I changed the Hard disk type to IDE, and the Windows 8.1 upgrade went perfectly.

2) Changing back to SCSI caused the machine to be unusable.

3) Changing it back to IDE made the system work again.

4) Messing around with the ini file, as discussed above, brought no joy either when trying to change it back to SCSI.  One thing which was interesting was that sometimes the dobule-quote typed into the editor was the wrong code-page, so that rendered the ini file corrupt.  Be carefull of the double-quote, make sure it matches the same exact same character as the rest of the file 🙂

5) I remembered that on a non-Fusion ESX -much older- VM, I had to do some intricacies to make it boot properly into Windows Server 2008, and that was to actually downgrade the driver on the enumerated SCSI controller.  So I figured I would try the same technique on this Fusion VM, which too was created a long time ago as XP and gradually upgraded over time.  So, I grabbed the lsimpt_scsi_w2k8_1.2803.zip file from the LSI support site. (it's in the legacy section).  I then brought up this x86 VM set as an IDE hard disk type, went into device manager and updated the visible but unused SCSI controller driver, shown further down in the device list.  One must use the "Have Disk" technique, and point to the (already expanded), x86 driver file location. I chose x86 and non-RAID.  Then, I shut down, changed the hard drive advance settings back to SCSI, and voila, all is good.  Just remember, there is probably no need to do this on any new VM's originally created with Fusion 6, as it would appear that the default newer SCSI drivers work just fine.  I'm also not sure what will happen when the next Windows upgrade comes along, as those automatic driver updates might negate all this effort 🙂

Also, I really saw no performance hit on the machine between IDE and SCSI, so if one is uncomfortable doing this, leaving it as IDE seems to an OK work-around too.

Cheers

KG

Reply
0 Kudos
lingenfr
Contributor
Contributor

kevgor,

Thanks. Having been to the LSI site, not having much luck finding the file. Please either provide a link or some additional information to help find it. Thanks.

Reply
0 Kudos
kevgor
Contributor
Contributor

For downgrading the SCSI driver as discussed in my post above, here is the link to the agreement front page, which when you accept it should directly start the download....

Download Agreement

In the case you want to instead search from the support page, the drop-down entries one would choose are:

Storage

Legacy IC's

LSI53C1030

All Asset types

Once the search page comes up, click the + sign beside drivers, and select the following file

LSIMPT_SCSI_W2k8

As other posts have mentioned, changing the hard disk types can sometimes require a re-activation of windows.  I tend to do all of my playing around (until I get to the happy place) before reactivating, so that I don't have to do that process multiple times.

Cheers.

KG

Reply
0 Kudos
grafsolutions
Contributor
Contributor

Much thanks to docangle! 

Like many others I struggled with this for quite a while running into the typical 'we don't see a problem' both from VMW and M$ even though googling the error code shows myriad user problems.

I had the exact error as OP running 6.0.2.  Changing the drive to IDE worked immediately, no reactivation required in my case.

Reply
0 Kudos
bsk1n
Contributor
Contributor

For those having problems with Windows 8 after changing to lsisas1068:

  •     Open the .vmx file using a text editor. For more information, see Editing the .vmx file for your VMware Fusion virtual machine (1014782).
  •     Set scsi0.virtualDev back to lsilogic if it isn't already:

         scsi0.virtualDev = "lsilogic"

  •     Add these entries to the file:

         

        scsi3.present = "TRUE"

        scsi3.virtualDev = "lsisas1068"

  •     Save and close the file.
  •     Start the virtual machine and log in to Windows.
  •     The lsisas1068 driver should have now automatically loaded. To confirm go to Device Manager > Storage Controllers. You should see:

          LSI Adaptor, SAS 3000 series, 8-port with 1068

  •     Shut down the virtual machine and exit Fusion again.
  •     Open the .vmx file again using a text editor.
  •     Change the value of scsi3.present to "FALSE" .

         scsi3.present = "FALSE"

  •     Set scsi0.virtualDev to lsisas1068.

         scsi0.virtualDev = "lsisas1068"

  •     Start the virtual machine and log in to Windows.

.

Wammer
Contributor
Contributor

Does upgrading to Fusion 7 solve this problem, without the need to change to the IDE driver?

Reply
0 Kudos