SECDRV.SYS Not Loading in Windows 10; this will break thousands of older games.

Hello,

I have discovered an unfortunate problem with Windows 10.

Many games from the early-mid 2000's used Macrovision's SafeDisc (version 2) as a means of copy protection. At game startup, Windows loaded SECDRV.SYS to verify an original game disc was in the drive, after which the game would start.

When you try to run ANY game which uses this SafeDisc form of copy protection in Windows 10, the following happens:

 - You get an error window that tells you to log in with Administrator Privileges and to try again. This happens on any account, even those with Administrator access. The game fails to start.

 - If you then set "Run as Admin" compatibility mode on the game's startup file, the message disappears, but the game doesn't start.

 - Keeping a window open for C:\WINDOWS\SYSWOW64\DRIVERS shows SECDRV.SYS appearing at the moment you try to start the game. Based on its size, it appears to be the file that is present on the game disc (tested across several games), even though I see no disc activity and cannot find the file elsewhere on my system.

 - The Windows event log shows that SECDRV.SYS failed to load.


 - This happens both with an upgraded install (Windows 8.1 > Windows 10) and with a fresh Windows 10 install, with one of the games being installed immediately upon the fresh install completing.

 - On my Windows 64-bit 8.1 system, C:\WINDOWS\WINSXS has a folder called amd64_macrovision-protection-safedisc_31bf3856ad364e35_6.3.9600.16384_none_4e6b3758913c9240 with a SECDRV.SYS in it, presumably the one that ships with Windows. Windows 10 had such a folder in early builds, but it is missing from the release build. It appears SafeDisc support is missing entirely.

OTHER TESTING I HAVE DONE:

 - I updated one of the games to a version that no longer required the CD check, and it started immediately and ran perfectly once the check was removed. However, this is possible only with a very limited number of games, or resorting to fixes that violate the game's EULA or put the user's system security at risk.

 - I tried disabling driver signature verification and installing one of the games again; same problem.

 - Multiple compatibility modes; same problem. XP (Service Pack 3) mode and / or Run as Administrator mode make the error message go away, but the games still fail to launch.

SIGNIFICANCE:

Unless this is fixed in Windows 10, a massive catalog of older games will cease to function in Windows 10 for the simple reason that they cannot pass the SafeDisc copy protection check. I am accustomed to some games breaking with every new version of Windows as technology progresses (for example, the loss of the ability to run 16-bit programs in 64-bit Windows), but this seems to be an unnecessarily harsh change.

* Please try a lower page number.

* Please enter only numbers.

* Please try a lower page number.

* Please enter only numbers.

I have found a solution that may work for some of you.  It appears to be due to the problem that the system file SECDRV.SYS is not loading in Windows 10.  If you create a text file with the following contents, and save it to your Desktop, you can execute it when you are about to run one of the older CD-based games that require SECDRV.SYS to be active.

@echo off
sc config secdrv start= demand
sc start secdrv
echo SECDRV is active!
echo on
pause

You can name the file SECDRV.BAT to remind you what it is.  You might need to right-click the file and adjust some of its properties in order for it to do the job it was intended to do.

Dr. Technical

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Yes, this is the solution given by most of the people who have solved the problem.

But the problem is that this is very difficult to understand.

Where is the famous x86 Free Build Environment?

I have installed Visual Studio yet but I don't find this.

I think Microsoft should solve this...

... or (if the game is signed by Microsoft, as Age Of Mithology) give us freely the digital copy of the game for those who have the original cd game.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

I created this .BAT file but the game still don't run.

Can you explain a little more how this file is supposed to work?

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

I have found a solution that may work for some of you.  It appears to be due to the problem that the system file SECDRV.SYS is not loading in Windows 10.  If you create a text file with the following contents, and save it to your Desktop, you can execute it when you are about to run one of the older CD-based games that require SECDRV.SYS to be active.

@echo off
sc config secdrv start= demand
sc start secdrv
echo SECDRV is active!
echo on
pause

You can name the file SECDRV.BAT to remind you what it is.  You might need to right-click the file and adjust some of its properties in order for it to do the job it was intended to do.

I see what could be my problem.

The console cmd shows me this message (I'll translate from my spanish computer so maybe it is not the exact message):

[SC] ChageServiceConfig CORRECT

[SC] StartService ERROR 577:

'Windows can't verify the digital sign in this filie. A recent change in the hardware or software could have installed a file with an incorrect or damaged sign, or maybe it could be a malware from an unknown origin.'

SECDRV is active! Obvioulsy this is not true... ¬¬

Could you help me please?

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

The batch file is supposed to execute a "demand start" of the SECDRV.SYS service in Windows 10, because Windows 10 will not start the service automatically. After the service is started, older CD-ROM based games which depend on the SECDRV.SYS file should start.
Dr. Technical

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Hi,

I tried to run this batch file, and got the following response:

//==========================

[SC] OpenService FAILED 5;

Access is denied.

[SC] StartService FAILED 1275:

This driver has been blocked from loading

//===========================

does this need an admin exec?

cheers

Alan

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

I tried to run this as an admin, receive the following output:

// ===================================

[SC] ChangeServiceConfig SUCCESS

[SC] StartService FAILED 1275

This driver has been blocked from loading

//===================================

something not quite right?

cheers

Alan

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Most likely Microsoft saw Andrés992 post and pushed an update to defeat it.  Microsoft still hasn't gotten over whatever snit they have with Rovi (formerly Macrovision) and will do WHATEVER IT TAKES to keep Rovi / Macrovision products from running on / with / instead of Windows or MS products.  So any publicly posted workaround for SECDRV.sys will get an immediately pushed update to defeat that workaround.

Your only safe bet is to set up a Windows XP SP 2 or SP3 system THAT IS NOT CONNECTED TO THE INTERNET OR ANOTHER WINDOWS MACHINE CONNECTED TO THE INTERNET and install legacy games there.  Otherwise Microsoft can get their 'virtual hands' on the system and screw you out of running content for which you paid good money and legitimately own - including Microsoft games like Combat Flight Simulator.  (Thats how much they HATE Rovi / Macrovision for some odd reason.  Kind of small minded and very "Trumpy" attitude, IMHO).

4 people were helped by this reply

·

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

You need to shoot holes in your system to circumvent driver security

- Make sure you do not have BitLocker enabled and Secure Boot is off in your BIOS (hole #1 and #2)

- Install a game which includes SECDRV.sys (you need the file on your system)

- Setup minimal install of the Windows 10 SDK (just pick Install, Yes or No to send feedback, Accept on the license screen, then uncheck everything except 'Windows Software Development Kit' and click Install)

- Run the script (see below)

- Reboot

- Play games

The script will do this:

- Find SECDRV.sys on your system and copy it to C:\Users\<yourusername>

- Generate a certificate that is private to you and your computer

- Sign SECDRV.sys and install that signed copy on your system

- Shoot hole #3 in your system (enable test signing which disables certificate validation for drivers)

- Shoot hole #4 in your system (install SECDRV.sys and mark it as a Automatic Start service)

How to run it:

- Start, type PowerShell, right click, Run as Administrator

- Copy and paste this:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

curl -UseBasicParsing -Uri https://raw.githubusercontent.com/ericwj/PsSecDrv/master/src/Scripts/QuickFix.ps1 -outfile QuickFix.ps1

.\QuickFix.ps1

1 person was helped by this reply

·

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

All the instructions and links to get SECDRV working have been in this thread for over a year is my guess. The bat file is missing entirely how to get SECDRV installed - it is only about starting it when it is installed.

It's just beyond most people to get that vital part done, so I wrote that powershell script - check it out.

My advice is to just run Windows Insider Preview and keep your main OS encrypted or better yet on another computer entirely so it can do secure boot while your gaming machine runs all the 15 year old software.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

* Please try a lower page number.

* Please enter only numbers.

* Please try a lower page number.

* Please enter only numbers.

 
 

Question Info


Last updated July 6, 2020 Views 218,057 Applies to: