Surface Pro 3 hangs at UEFI settings, and you encounter Stop errors, disk errors, and performance issues

Applies to: Surface Pro 3

Symptoms


When you use a Surface Pro 3 device, you may encounter one or more of the following issues:
  • The device unexpectedly starts or restarts to the UEFI settings screen and becomes unresponsive (hangs). However, the device can be reimaged, or Windows can be reinstalled, and the disk appears in Windows PE or Diskpart. 
  • The device unexpectedly starts or restarts to the UEFI settings screen and becomes unresponsive (hangs). Additionally, the device cannot be reimaged, nor can Windows be reinstalled, and the disk does not appear in Windows PE or Diskpart.
  • The system crashes with Stop error 0x0000007a.
  • Disk time-out errors are logged in the System log.
  • The system exhibits performance issues and runs slowly.
  • Other disk-related issues occur.

Cause


This problem may occur if an incorrect storage controller driver is currently installed or if part of a reference image is deployed to Surface Pro 3.

If the device starts only to the UEFI settings screen, use the following steps to verify that the disk is still accessible: 
  1. Restart from the USB recovery image or the WINPE/WINRE image on a USB flash drive.  
  2. Turn on the device by pressing the power button + Volume Down. 
  3. Select English.
  4. Select US.
  5. Select Troubleshoot.
  6. Select Advanced options.
  7. Select Command Prompt.
  8. Type Diskpart.
  9. Type List disk, and then press Enter.
You should see a disk 0 and a disk 1. If you see only the USB drive, the disk is not available.  

If you can start Windows, follow these steps to determine which driver is installed:
  1. Press the Windows key + R.
  2. Run Devmgmt.msc to open Device Manager.
  3. Expand the IDE ATA/ATAPI controllers branch.
  4. Examine the driver name.
The correct driver is "Intel(R) 8 Series SATA AHCI Controller - 9C03." The driver name should be Storahci.sys. If the driver name differs from this name (for example, if the driver name is iastora.sys), the incorrect driver is installed. 

Any driver other than the driver that was originally installed on the Surface Pro 3 or that came from the Surface Pro 3 firmware driver pack could cause the issues that are described in the "Symptoms" section.

Resolution


To resolve this issue if you can start Windows, follow these steps:
  1. Download the latest SurfacePro3_<date>.msi file from the following website: 
  2. Double click the .msi file to install.
  3. Restart the device.
This will install the correct driver for Surface Pro 3.

If you are restarting to the UEFI settings screen and the disk is available, you should reinstall Windows or deploy a new reference image. However, before you deploy a new reference image, you should check the image or deployment tool to determine which Intel SATA drivers are present and remove any incorrect drivers. This may involve using methods to make sure that only drivers from the Surface Software, Firmware, and Drivers pack are available during deployment.

If you are restarting to the UEFI settings screen and the disk is not available, you should open a support incident at http://www.microsoft.com/surface/en-us/support to have the device exchanged and then check the reference image or deployment tool to determine which Intel SATA drivers are present and remove any incorrect drivers. This may involve using methods to make sure that only drivers from the Surface Software, Firmware, and Drivers pack are available during deployment.

For some best practices, see the more information section. 


More Information


This problem may occur if the reference image that is deployed is used for multiple hardware platforms and contains an older version of the Intel SATA driver that was obtained from another manufacturer's website. Although the driver may work together with other hardware, it may not work with Surface Pro 3. As a best practice, make sure that the reference image contains the latest version of the driver and that it does not contain older or duplicate versions.

To prevent this issue, use strategies such as selection profiles in the Microsoft Deployment Toolkit or other methods in ConfigMgr to install the correct driver on a platform that is based on the make and model. For example, if you are using the Microsoft Deployment Toolkit, you can follow the recommendations that are provided in the following Server and Management Blog post: