Windows 8.1 SOFTWARE registry hive load failed on Windows Server 2012

I am participated in a custom Windows Software backup/restore project development that requires the loading of Windows SOFTWARE/SYSTEM registry hives from an "external" target OS system drive connected to a Windows host system.

On all Windows versions except Windows 8.1 program works correctly, but when host system (on which the program is run on) is Windows Server 2012 or Windows 8 and target system is Windows 8.1 the registry hive load failed with the following error:

Failed to load f:\Windows\System32\config\software: [1009] The configuration registry database is corrupt.

After run of 'chkdsk /r' error still remained. All required security privileges (SE_BACKUP, SE_RESTORE) are applied. All systems are 64-bit.

Generally even system registry editor (regedit) could not open SOFTWARE hive  from Windows 8.1 with following error:

Cannot Load f:\Windows\System32\config\software: Error while loading hive.

But when host system is Windows 7 or Windows Server 2008 then SOFTWARE hive  loaded without any problem.

So is there some Windows 8/8.1 registry hives validation mechanism or additional security checks that prevents load of registry hives from another OS instance?
Who is Participating?
McKnifeConnect With a Mentor Commented:
Ok, had the time to start procmon myself:
It returns the result "REGISTRY CORRUPT" for operation RegLoadKey.

This must be a bug, not a Feature.
Your description confuses me a bit.
On what OS do you start regedit?
And the mounting of the system file of what OS is failing?

The following works for me: 8.1 could mount both system and software of a 2012 R2 server using regedit.
qv1Author Commented:
The host OS is Windows 8 (not 8.1) and Windows server 2012 (not r2).
The hives attempted to be loaded are 8.1
When back a the office in 12 hours, I will test with 2012->8.1.
You are right, I can reproduce it.
On 2012 Server, I get the same error trying to mount the Software/System file of the 2012R2 registry, neither it works with the 8.1 registry. I don't know why, you may use procmon, maybe it reveals something.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.