Win7 won't boot after having uninstalled Samsung's NVMe driver

Good Evening,

Since a few days, I have a very serious problem with my Win7 installation (x64, SP1, GPT-partitioned, UEFI-Installation, CSM enabled) on my Samsung NVMe drive (Samsung SSD 970 Evo Plus): After uninstalling the older Samsung NVMe driver (version 3.1 or 3.2) via "Programs & Features" in order to install the newer version 3.3, I decided to fully wipe any remaining drivers to achieve a clean install of the new driver - so I went to Device Manager (with administrative previlegies) and manually uninstalled the corresponding driver for the drive "NVMe Samsung SSD 970 Evo Plus SCSI Disk Device" in the "Disk Drives" section of the Device Manager:

(These Screenshots were actually taken on Win10, since I can’t access Win7 anymore)

(PS: Win10 is actually installed on the HDD, not the NVMe-SSD - still, I managed to run the Samsung NVMe driver installer on W10 and successfully install the NVMe drivers on the HDD. I did this, because I wanted to find out the files & their names - so I can tell them here, if they’re necessary for a walkthrough)



This is what I did AFTER uninstalling the driver in "Programs & Features" - the blue highlighted button is, what I clicked on:



And this is apparently the driver, that was uninstalled by the uninstall action of "Programs & Features":



After being done with that, Win7 prompted me for a reboot in order for the changes to take effect - so, I did as prompted…

…and then BSOD with Error Code 0x0000007B every time I try to boot into Win7! And the BSOD message itself always lasts less than 1 second before shutting off/rebooting - so needed multiple BSODs in order to fully see the Error Code.

Since then, I tried the following steps to get Win7 booting again:

1.) Booting into Safe Mode -> failed with BSOD (same Error Code), before even reaching/booting Safe Mode
2.) Booting into Safe Mode with Command Prompt -> same result as in 1.)
3.) Booting with "Last Known Working Configuration" -> again, same result as in 1.)
4.) Starting Win7 installation disk in UEFI mode and trying the following:
- Startup Repair -> no success, same result
- System Restore -> not possible, because apparently "there are no system restore points available" (I doubt that…)

I want to prevent an Inplace Upgrade ("Repair Install") or applying a previous Macrium backup at all costs - because the former would mean, my Windows settings/configurations would get lost/resetted (it took me weeks or even months to do these settings) and the latter would mean, I would lose a lot of data AND installed programs (because that backup is pretty old and I didn’t do another backup since then).

The ideas/solutions, that come to my mind:

  1. Is it possible to "inject" the missing drivers during a PE session or during Windows Setup (both methods using a Windows installation media) or with some other sort of external booting media?
  2. Can I "inject" the necessary driver files from a W10 session to Win7? I can’t boot W7, but I do have access to the drive where it’s installed on and it’s folders via W10 File Manager!
  3. Is it possible to run the Samsung driver installer from a Win10 session to actually apply the drivers to a different offline OS (Win7 in my case)?

Option 3 would be very convenient…

Thanks for any support!
AZ

Edit by Fernando: Thread moved into the Win7 Forum section and thread title shortened

@AbsoluteZero

When a driver installs a class filter driver (in case of storage drivers), this affects all devices in that class.
If you uninstall the driver, the filter entries remain there.

Windows won’t load any drivers that have missing filter drivers linked to them, which simply means it won’t boot, be in Normal or any Safe Mode.

I see that you’re running a single HDD as a boot drive, must be running in AHCI mode, so it’s easier to fix:

- Boot with any Windows PE disc or even Win7 installation and open a Command Prompt (Shift+F10)

- Run Regedit, select HKEY_LOCAL_MACHINE -> Load Hive

- Browse your boot disk for the following file (no extension) \Windows\System32\Config\SYSTEM and open it, type any name when prompted (ie: Win7).

- Under ControlSet1 and ControlSet2 key, search for secnvmeF lines found in LowerFilters values. This is a REG_MULTI_SZ type, delete just the offending line.
You’ll probably find only find them in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4D36E967-E325-11CE-BFC1-08002BE10318}

- When done, select the the key you named earlier (Win7) and unload it.

- Restart your system and enjoy!

Hey daniel_k,

First off, Thanks for responding - I really appreciate it!

I did exactly as you told me, fired up my W7 installation disc in UEFI mode, opened command prompt, opened the registry, loaded a hive (“Win7”) for HKEY_LOCAL_MACHINE and deleted ALL “lowerfilter” keys, which contained “secnvmeF” entries (I continously pressed “F3” button until no more entries could be found - I probably wiped the entire registry of these entries) and then unloaded the “Win7” hive and finally rebooted my computer, as you instructed.

Result:

The same problem occurs again when I try to boot W7 (the BSOD occurs amidst the animation of the W7 logo during boot process) with the same Error Code (“STOP 0x0000007B”).

I did NOT delete the remaining “secnvme” entries in the registry - because you didn’t tell me to. Only the “lowerfilter” entries. So, quite a lot “secnvme” keys or entries are stll present in my registry - shouldn’t I delete them, too?

AZ

@AbsoluteZero

I think you also need to delete the following keys:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#VEN_144D&DEV_A802
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#VEN_144D&DEV_A804
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#VEN_144D&DEV_A808&SUBSYS_A801144D

And to make sure, also the services entries:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\secnvme
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\secnvmeF

I deleted the new Ones, too - still BSOD!

I forgot to mention 2 things:

1.) Prior to starting this thread, I also tried to restore Win7 with “fixmbr”, “fixboot” and “BCD Edit” via command prompt from Windows 7 install disc (UEFI Mode). However, apparently the changes I made were restored by startup repair (again, from W7 install disc) and now both W7 and W10 show up in the bootmenu/bootloader like this:

- “Windows 7 Ultimate (restored)”
- "Windows 10 Pro (restored)"

Those “restored” exclamation marks DID NOT exist prior to this action - just, so you know…

2.) Other than the Samsung NVMe driver, there are NO OTHER native Windows NVMe drivers (this KB and Hotfix stuff…) integrated in my customized W7 install disc (at least I can’t remember anymore, whether I integrated them, too…) and I also cannot remember whether I installed them afterwards (AFTER successfully installing W7) - my W7 installation is almost 1 year old…

So I assume these native/MS drivers are NOT installed on my current W7… (but the opposite could also be the case!)

Just so you know that…

I also found several more “secnvme” entries in the registry by querying the words “nvme” and “secnvme” - so, I want to ask it straight: Can I safely delete ALL those entries (containing “secnvme”) from the registry - so, You don’t need tell me them one by one…

AZ

For NVME/Win7 those NVME KB’s must be installed (KB3087873 + KB2990941), otherwise OS can’t see the drive let alone boot to it

How can I know, whether these patches are installed or not?

And if they are indeed not installed, how can I install them to an offline W7 system? Can I "inject" them somehow?

AZ


This.

I thought @AbsoluteZero had the NVMe hotfix installed and just wanted to get rid of Samsung driver.

In this case, the easier method is to restore the Samsung NVMe driver.

Save the following as a simple text file renamed as a .reg and copy to your Win7 HDD drive.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\Win7\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#VEN_144D&DEV_A802]
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"
"Service"="secnvme"
 
[HKEY_LOCAL_MACHINE\Win7\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#VEN_144D&DEV_A804]
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"
"Service"="secnvme"
 
[HKEY_LOCAL_MACHINE\Win7\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\PCI#VEN_144D&DEV_A808&SUBSYS_A801144D]
"ClassGUID"="{4d36e97b-e325-11ce-bfc1-08002be10318}"
"Service"="secnvme"
 
[HKEY_LOCAL_MACHINE\Win7\SYSTEM\CurrentControlSet\services\secnvme]
"Start"=dword:00000000
"Type"=dword:00000001
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,\
72,00,69,00,76,00,65,00,72,00,73,00,5c,00,73,00,65,00,63,00,6e,00,76,00,6d,\
00,65,00,2e,00,73,00,79,00,73,00,00,00
"Group"="SCSI miniport"
 
[HKEY_LOCAL_MACHINE\Win7\SYSTEM\CurrentControlSet\services\secnvme\Parameters]
"BusType"=dword:00000011
 
[HKEY_LOCAL_MACHINE\Win7\SYSTEM\CurrentControlSet\services\secnvme\Parameters\PnpInterface]
"5"=dword:00000001
 


Make sure secnvme.sys is in the \Windows\System32\Drivers folder.

Load the Hive of your installation named as "Win7"

Merge the .reg file you saved earlier.

Unload the Hive, restart and cross your fingers.

By the way, you should never, ever uninstall the storage driver of your system/boot drive.

Done.

The secnvme.sys driver already was exactly on the location you pinpointed.

Again, I start Win7 installation disc in UEFI mode, open command prompt, open registry, focus/highlight HKEY_LOCAL_MACHINE, create a hive from the same location & same file you told me in your earlier post and name it “Win7”. Then I import your script, which I previously converted into a .reg file named “Win7.reg”, via registry editor -> message “registry file/registry settings have been successfully imported/applied” occurs. After that I unload the “Win7” hive and finally restart my computer.

Result: still the same error (BSOD, “STOP 0x0000007B”)

I ask it again: isn’t it possible to install driver executables for a (offline) Win7 installation, but from a Win10 session from a different drive (HDD) ?

AZ

It appears, I won’t come around a repair install (Inplace Upgrade) of Win7 anymore - unless I get any more suggestions here…

The problem with the Inplace Upgrade: it needs to be done from an online W7, which necessitates successfully booting into W7 first - so, I can’t do that. I’ve tried to perform the Inplace Upgrade from an online W10 session, but then the W7 setup program tells me it’s not possible to upgrade from W10 to W7 (which is not my intention, of course - I only need W10 to be able to run the setup program).

Is it possible to do an Inplace Upgrade or at least something else with the same effect without the need to boot W7 first?

Thanks for any help…

AZ

@AbsoluteZero :
Although I don’t know how you got Win7 installed onto the NVMe SSD, you obviously made at least 3 mistakes:

  1. You didn’t integrate the MS NVMe Hotfixes into the Win7 image before going to install Win7 onto the SSD. This is the reason why the OS couldn’t boot into Win7 anymore after you had uninstalled the formerly used Samsung NVMe Installer Set v3.1 or v3.2.
  2. Instead of installing just the “pure” Samsung NVMe driver (can be done on top of the previously used Samsung NVMe driver) you had installed the complete Samsung NVMe Drivers & Software Set, which has to be uninstalled before going to install a new Set.
  3. Worst mistake: You uninstalled the device named “Samsung SSD 970 EVO Plus 1TB”, which was listed within the “Disk drives” section of the Device Manager. The users should never touch the “Disk Drives” section of the Device Manager, which is exclusively controlled by the OS (all used drivers are in-box MS drivers!).





I don’t recall it anymore, because it’s been over a year since I created those customized W7 install discs - I do remember, that I integrated the Intel USB 3.0 drivers (latest official version 5.0.4.4.3v2) and then the original Samsung NVMe driver 3.1 (only the .inf, .cat and .sys files). Then I installed Win7 and after that re-installed the same version of the Samsung NVMe driver - but this time, I ran the executable in order to install the complete driver package. However, for the NVMe hotfixes - I really can’t tell whether I integrated them or not, (probably not).

BUT I’m pretty sure, I did install them after installing Win7 - probably immediately after installing the Samsung NVMe driver executable.



What do you mean with “Software Set” ? If you mean Samsung Magician, then I can tell you that I installed that separately (immediately after installing the Samsung & MS NVMe stuff) - the Samsung NVMe driver & Samsung Magician are NOT bundled together; the executable of the Samsung NVMe driver contains only the drivers. Magician is standalone software and has it’s own executable.

If you did not mean “Samsung Magician”: What’s wrong with installing the complete Driver Set from an executable? That’s the most complete & safest way to install a driver and offers maximum functionality. I only install just the pure driver files (.inf, .cat, .sys), when I really have to - namely, when I want to integrate/inject them into a Windows image or if an installer/executable does not install a driver correctly or the way I want it to be. Other than that, I always use the installer with the complete driver & software set…



In order to do a clean install of the newer driver version (3.3), I wanted to make sure that really everything (drivers, entries, etc.) is wiped out - that’s why I uninstalled the disk driver for the Samsung NVMe disk drive in device manager (and additionally from the Windows Component/Driver Store via “pnputil”). Initially, I did not want to restart W7 after uninstalling the disk driver and instead wanted to immediately install the new driver without restart - however, Windows telling me “changes need a restart in order to take effect” was gnawing on me, so I finally decided to do a restart first… and that’s done it. Since then, W7 does not boot anymore. I knew about the possibility of this outcome, but still didn’t expect it to actually happen - with the confidence, that it will still work anyway. However, it didn’t work…

For me, one thing is certain: I’ll never play Roulette on such matters again…

AZ

@AbsoluteZero :
I didn’t mean the tool “Samsung Magician”, but Samsung’s NVMe drivers *.EXE file (each installer is software). To be able to remove the installer you have to use the “Add/remove Programs” option of the Control Panel and by doing this the complete installation (installer + driver had been uninstalled!
This doesn’t happen, if you install the “pure” NVMe driver via Device Manager and update it by simply installing the new driver on top of the formerly used one.

12 posts were split to a new topic: [Problem] How to Boot off an NVMe SSD

@AbsoluteZero @daniel_k
Since the specific boot problem of this thread is mainly OS related (due to the missing native NVMe support of Win7) and to avoid any misunderstandings by Win10/11 users, I have moved this thread into the Win7 Forum section. Additionally I have shortened the thread title and hope for your understanding.

One workaround for missing drivers for the storage device needed for boot (Stop 0x0000007b inaccessible boot device) is using a USB docking station at least for SATA disks and SSDs. Never tried NVME SSDs in a dock or external usb case, but those should work identically.
This way the storage device is accessed by an usb- driver, the translation to sata (or nvme) is done within the docking station/ adapter.

You possibly have to edit the BootDriverFlags registry key to make windows load the usb drivers at boot, see:

(If you already have a non- bootable situation you’d have to mount the registry hive in another system to edit/add BootDriverFlags as described before.)

@lfb6
Thanks for your advices about how to solve the “Unaccessable Boot Device” problem.
Unfortunately the Forum member AbsoluteZero may not benefit from your tips. He started this thread already in August 2020.

I don’t care. This is just an easy solution for some of these boot problems and someone else might find the post when running into it.