BSOD when deploying Windows 7 to NVMe drives

Good morning!  Today I am in the process of certifying new Dell models for Windows 7.  This is normally a pretty simply task but the Dell Precision 7710 is fighting back.  I have created a driver package using the latest drivers available and set it up in OSD.  However, after installing the drivers and rebooting into the OS it gives me a BSOD 0x0000007B error.  At first glance it appears to be an issue with the disk drivers.  I did some more research and found a Microsoft hotfix (KB2990941) specifically for Windows 7 and Server 2008 R2 machines with NVMe disk controller.  Bingo!  This hotfix resolved the issue and I can move on with my day.  If you are interested in how I applied this hotfix in my ConfigMgr task sequence keep reading.

BSOD NVMe drives (1)

  1. Download hotfix KB2990941 and KB3087873 and extract the .msu files.
    Note: You should only apply KB2990941 and if you receive “0x0000007E” Stop errors then also apply KB3087873.
  2. Create a package with both of these hotfixes at the root of the package directory.
  3. Add a new group just after the OS install to apply the hotfix.  It is necessary to apply the hotfix before rebooting since you cannot boot into Windows without getting the BSOD error.
    BSOD NVMe drives (2)
  4. Add the following WMI query to only run this group on the Precision 7710.  You can also add any other models to this query that require this NVMe hotfix.
    SELECT * FROM Win32_ComputerSystem WHERE Model LIKE “%Precision 7710%”
    BSOD NVMe 05
  5. Add a Run Command Line step to this group.
    BSOD NVMe 06
  6. Reference the package you created in step 2 and add the following DISM command.
    DISM /Image:C:\ /Add-Package /PackagePath:”.\KB2990941.msu”
    BSOD NVMe drives (3)
  7. If you experience “0x0000007E” Stop errors after applying this hotfix, add another step to install hotfix KB3087873 using the same technique.





  • September 29, 2016 - 1:06 am

    Bo Nygren - Hi,

    BIG thanks for this blogpost 🙂

    I have applied the “fixes” but i can’t find my NVMEdrive (NO C:).
    All drivers are applied as usual but no luck.

    So i got my ipadress but i can’t get a systemdrive, my TS can’t continue and goes to the black hole.

    Do you have any clue what i done wrong?ReplyCancel

    • September 29, 2016 - 9:26 am

      Todd - Hey, if you’re not seeing your local disks when booting to the SCCM boot media you’ll need to add the proper mass storage controller drivers to your boot media. It’s the same process if you were missing network drivers. 1) Download the correct drivers from the vendors site. 2) Test the drivers to confirm they indeed function in WinPE. 3) Import the drivers and add to your boot media. 4) Update the content for the boot media you modified.

      Note: It’s always advised to check the logs to get a better idea of what’s happening. In your case you should review the smsts.log file.

      Hope this helps!ReplyCancel

  • April 3, 2017 - 5:58 pm

    Tim - Hi – Awesome Blog and guide.

    Ive encountered this same issue for our new HP probook 640 G3

    I get the same BSOD screen above, during the Bootup (in safe mode) the last driver it gets stuck on is the amdkmpfd.sys – AMD PCI Root Bus Lower Filter.

    I have updated, chipset and graphics. Im having trouble finding the correct NVME driver for it (if thats even what im needing)

    any ideas?ReplyCancel

    • April 3, 2017 - 7:10 pm

      Todd - hey, thanks Tim. I have some steps I was going to recommend but then stumbled across this HP KB document. This seems spot on, let me know if this resolves your issue. You’ll also want to confirm the hotfix I described above installs successfully. If you are getting the 0x0000007E (not 7B) then you’ll also need to install KB2990941.

      To workaround this issue, perform the following steps.
      F10 BIOS Settings

      Set Fast Boot disabled
      Set Secure Boot disabled
      Set Legacy Support enabled

      Download the softpaqs (aka. updated drivers)

      USB 3.0 Driver
      Network Driver

      HP Document ID: c05040446ReplyCancel

      • April 5, 2017 - 1:49 am

        Tim - Thanks mate, I know its definitely the hot fix that is required to run. (have tested it manually and win7 proceeds to install)

        however when im running the package via the TS it will stall, then fail with the error code x00000003

        what steps did you take to create the package?
        Ive done a “standard program” with the command line
        wusa.exe filename.msu \quiet \norestartReplyCancel

        • April 5, 2017 - 11:10 am

          Todd - I would first review the smsts log file as that will give you more details on why it failed to run. Looking at your command (maybe it was a typo in your message), you need forward slashes with the command line switches (/quiet /norestart).

          I had created a package with the hotfix files but did not create a program…instead I used the ‘Run Command Line’ step in the task sequence. I referenced the package that I created and installed using DISM.
          DISM /Image=C:\ /Add-Package /PackagePath:”.\KB2990941.msu”ReplyCancel

  • April 6, 2017 - 8:02 pm

    Tim - Found what it is. in the task sequence the ” ” in this part (DISM /Image=C:\ /Add-Package /PackagePath:”.\KB2990941.msu”) were causing it to fail.

    deleted the quotation marks and it imaged successfully.

    thanks for your help! and hopefully it helps others with this model HP as well.ReplyCancel

    • April 6, 2017 - 8:12 pm

      Todd - That’s great!!! Thanks for the update…glad you were able to get it working!ReplyCancel

    • June 20, 2018 - 7:56 am

      Jakub - The same help me 🙂 ThanksReplyCancel

  • April 24, 2017 - 3:01 pm

    Patrick - So, this may be en elementary question, but I’m getting a task sequence error when it gets to the point of the TS where I’ve added this step. I’m trying to image a Precision 5510 w/ a NVMe SSD.

    The error on the smsts.log isthis:

    Failed to run the last action; Error in the task sequence. Execution of task sequence failed. The system cannot find the file spedified. (Error: 00000002; Source: Windows)

    I’m guessing it’s because I didn’t package the .msu file correctly in step 2 above. Could you assist with how you did that? I removed the quotation marks from the DISM cmd as noted in the comments above as well.ReplyCancel

    • April 24, 2017 - 3:22 pm

      Todd - Hey, sure lets see if we can figure this out. There are several things that could be causing your issue…basically the task sequence step isn’t finding the hotfix where it should be. Here are a few things to try.
      1) Is the hotfix at the root of your package source directory?
      2) Did you distribute the package content to your DPs?
      3) Is your task sequence deployment set to access content directly from a distribution point? If so, you’ll want to make sure the hotfix package content was also copied to the package share on the DP. A lot of people miss this one.
      4) If everything above looks good, double check the task sequence step to make sure you’re referencing the correct package and there are no typos in the command. Shoot me a screenshot and I can review with you. todd@thecramers.usReplyCancel

  • July 12, 2017 - 8:54 pm

    Manisha - HI
    I am facing same problem with Lenovo T470 model and I have applied KB2990941 hotfix as you have mentioned. But i am still getting this error. So let me know is there anything else need to do.

    • July 12, 2017 - 9:25 pm

      Todd - Hey, what STOP code are you getting…0x0000007B or 0x0000007E? Are you installing the hotfix just after applying the OS and before any reboots? I would verify that the patch is installing properly. You could pause the task sequence just after the hotfix install and confirm. Another solution would be to create an updated Win7 WIM including this hotfix. That way it’s already present in the image.ReplyCancel

      • July 12, 2017 - 11:39 pm

        Manisha - Thanks for your response. I just checked above responses and I did one mistake, I have created Hotfix package with installtion program.

        I’ll now create a package without program and test again. Will keep you pasted.

        BTW i am getting 0x0000007B error.ReplyCancel

  • July 13, 2017 - 4:43 am

    Manisha - Hi,

    I have tried again but no luck. Same error is coming. Can you suggest further.ReplyCancel

    • July 13, 2017 - 7:57 am

      Todd - The hotfix may not be installing successfully. I would pause the task sequence just after the hotfix install to confirm it’s installed and review logs.ReplyCancel

      • July 13, 2017 - 10:47 am

        Manisha - Thanks, I’ll check SMSTS.log after this step for installation status. Just let know DISM command will be same or it can be differ.

        Just want to know what I have done:-
        1. I have created a Hotfix package without program. Only file is mentioned in its package property.
        2. And then add Run command line step in TS just after Apply OS step. And provided the exact command line(DISM /Image:C:\ /Add-Package /PackagePath:”.\KB2990941.msu”) mentioned by you.

        I have noticed that in article you have mentioned this command line DISM /Image:C:\ /Add-Package /PackagePath:”.\KB2990941.msu” and in TS screenshot you have mentioned DISM /Image=C:\ /Add-Package /PackagePath:”.\KB2990941.msu”

        So let me know which one is the correct.ReplyCancel

  • July 13, 2017 - 11:32 am

    Todd - You should be able to use the command using either. I checked my current task sequence and I have it set per the screenshot (DISM /Image=C:\ /Add-Package /PackagePath:”.\KB2990941.msu”).

    Someone else had problems running the command. They removed the quotes and it installed successfully. Give this a try.ReplyCancel

  • July 14, 2017 - 7:55 am

    Mark - Todd — Just got a HP Elitedesk 800 G3 and I receive the 0x0000007B error. Looking at how my task sequence is setup, would I create an Install Package or Install Application sequence to apply the KB2990941 fix, and may it run anywhere prior to the initial restart of the system.

    I looked out on the HP site and they do not offer any drivers that would fix this, and I tried looking out at Intel’s site and had similar results. If you would, let me know. MarkReplyCancel

    • July 14, 2017 - 8:37 am

      Todd - Hey Mark, you can create a package with the hotfix at the root level. No need to create a program. Then in the task sequence add a Run Command Line step and reference the package using the appropriate command line to install. If you follow the instructions in my Blog you should be set to go. Yes you can add the install anywhere before the first reboot after the OS install. Give it a try and let me know how it goes.ReplyCancel

      • July 14, 2017 - 2:16 pm

        Mark - Todd — I created a package and used the command line wusa.exe “Windows6.1-KB2990941-v3-x64.msu” /quiet /norestart and I get a failure 0X00000032 The step (Win7 x64 NVMe Hotfix) must be running in full OS and Failed to run the action: Win7 x64 NVMe Hotfix. The request is not supported. (Error: 80070032; Source: Windows. I will update the task sequence to reflect what you posted and advise. MarkReplyCancel

        • July 14, 2017 - 2:28 pm

          Mark - Todd — How do I accomplish this — 2.Create a package with both of these hotfixes at the root of the package directory. ?? I created a package and its out where I have all the other packages. the unc path is: \\xxxyysccm\packagesource$\applications\800 G3 NVME Hotfix.


          • July 14, 2017 - 3:39 pm

            Todd - It sounds like you set it up right. If the hotfixes are at the root of \\xxxyysccm\packagesource$\applications\800 G3 NVME Hotfix, then create a package with this location as the package source. It’s that simple. Make sure to distribute the content. Then you can reference the package in your task sequence ‘Run Command Line’ step.

  • September 11, 2017 - 4:01 pm

    Gary - I haven’t been able to figure out the “dism error 2 unable to access image” either.
    That’s after analyzing the logs on the error “The system cannot find the file specified”
    When I run the command manually from WinPe I get the DISM ERROR 2.
    Not sure why this happens and it’s bothering me that no one on the web has an answer.ReplyCancel

    • September 11, 2017 - 10:05 pm

      Todd - Hi Gary, can you send me your smsts and dism logs? You can email to todd@thecramers.usReplyCancel

    • October 10, 2017 - 6:05 pm

      Craig - Try using a variable for the image parameter:

      DISM /Image:C:\ /Add-Package /PackagePath:”.\KB2990941.msu”

      DISM.exe /Image:%OSDTargetSystemDrive%\ /Add-Package /PackagePath:”.\KB2990941.msu”ReplyCancel

  • September 12, 2017 - 12:47 pm

    Gary - Hi Todd,

    I am trying this approach here for now :–81–or-10-image-in-a-vm-for-sccm—mdt-deployment?lang=en

    so I don’t have the DISM files anymore but I can circle back on this once the suggestion from DELL works.

    Thank you.ReplyCancel

  • November 19, 2017 - 7:05 pm

    Steven - Worked like a charm. Thank YouReplyCancel

    • November 19, 2017 - 9:06 pm

      Todd - You’re welcome!ReplyCancel

  • November 28, 2018 - 4:55 pm

    Nil - Hello, this article is great, whenever I try and run the TS I get an error message which is 0x00000003, I have deployed to all Distribution lists and currently have the below

    DISM /Image=D:\ /Add-Package /PackagePath:.\Windows6.1-KB2990941-v3-x64.msu

    does this look right?


    • November 30, 2018 - 2:48 pm

      Todd - hey, that error indicates it cannot find the path. Can you try adding quotes around the file.
      Example: DISM /Image=D:\ /Add-Package /PackagePath:”.\Windows6.1-KB2990941-v3-x64.msu”ReplyCancel

Your email is never published or shared. Required fields are marked *