none
CDDB (CriticalDeviceDatabase) is removed completly in Windows 8/2012?

    Question

  • Hello everybody.


    Our software is working with CDDB to restore Windows bootability when restoring Windows to different hardware. One part of the job was working with CDDB - fixing entries within it.

    However, in new Windows 8/ Windows 2012 I noticed that CDDB is absent. The question is: What is new mechanism to load drivers in boot mode?

    Thanks in advance.

    PS: I also found out that if you ADD CriticalDeviceDatabase to Win 8 registry, it still tries to use it (probably for compatibility). Is it correct?

    Monday, November 05, 2012 12:11 PM

Answers

  • In general, we do not support moving a Windows image from one set of hardware to another unless the image is first generalized using sysprep so it goes through specialize on the first boot on the new hardware.  In many cases, it may work, but it will not work in 100% of scenarios. 

    Monday, November 05, 2012 11:20 PM

All replies

  • CDDB is completely gone in win8/server 2012.  trying to use it puts you in unsupported territory, we don't test with it anymore.

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Monday, November 05, 2012 5:40 PM
    Owner
  • Thank you very much for the reply!

    Still it is very importrant to know:

    - Is there any new way (instead of CDDB) to add boot drivers?

    - Is CDDB still working but not supported?(because you mentinoed "we don't test with it anymore")
    Monday, November 05, 2012 6:17 PM
  • Why did you need to alter the CDDB when restoring Windows to different hardware?  Prior to Windows 8, there may have been some situations where you would need to alter the start types of some services in order to restore Windows to different hardware, but what changes are you making to the CDDB?

    Have you tried your scenario on Windows 8/Windows Server 2012?  Do you still need to do anything to make it work? 

    The CDDB does not work with Windows 8 RTM.  It is gone.

    Monday, November 05, 2012 7:24 PM
  • As far as I undertand, we may restore to different boot device. For example, windows was on sata device, but we restored it on SCSI or RAID or something else I dont know what...

    So, after restore, SCSI and RAID drivers does not exist for this Windows, so to make it bootable we need to add them to CDDB in offline mode (mounting registry file)

    Monday, November 05, 2012 7:46 PM
  • I thied the scenario and everything is bootable in my environment, but I am thinking probably not all cases are covered, I am developer, not QA =)

    Does this mean Windows 8/2012 can boot on all types of devices without extra tweaks on CDDB?

    Monday, November 05, 2012 7:49 PM
  • In general, we do not support moving a Windows image from one set of hardware to another unless the image is first generalized using sysprep so it goes through specialize on the first boot on the new hardware.  In many cases, it may work, but it will not work in 100% of scenarios. 

    Monday, November 05, 2012 11:20 PM
  • Yes, I understand that you don't support moving but prior to Windows 8 it was ok to do following steps:

    1) Add drivers

    2) Modify "Services" registry key

    3) Modify CDDB poiinting to registry

    And it worked correctly on ALL environments

    Now CDDB is gone, I understand that. I just want to know what is used now INSTEAD of it. Because there must be a way to load a subset of drivers at boot mode. I just don't know this new way (I understand that it is not documented) and trying to find it out.

    Tuesday, November 06, 2012 7:55 AM
  • We have been relying on the CCDB as well to support booting off network devices. In one of our products we have an entirely virtualized storage stack. Basically we provide SCSI over Ethernet and have to boot off standard NIC devices. Traditionally NIC devices are not 'considered' boot devices. During Windows installation we install our won class co-installer and NDIS Notify object DLL that manages the fabric NIC devices we need for booting. Essentially it adds the NIC HW IDs and drivers to the CDDB, sets the NIC driver's service start option to 'Boot" and manages the NDIS bindings.

    On Windows Server 2008 R2 we can boot the same server image on hardware with different NIC models. The biggest benefit to our customer is to provide hardware failover capabilities. Customers may have a chassis with different blade models and frequently older blade models are selected as failover blades. In many cases the NICs in the different models have different HW IDs.

    We now encounter the issue that failover for Windows Server 2012 between blade different models no longer works. We tried adding the CDDB entries as we do for W2k8, but that does not work.

    Our question is as well:

    Is there a solution for Windows Server 2012.

    The suggestion to use Sysprep'ed images that are generalized doesn't work in the case of failover.

    Tuesday, November 06, 2012 4:33 PM
  • By the way I have found out (using procmon on sysprep that instead of fixing CDDB it patches somehow HKEY_LOCAL_MACHINE\SYSTEM\DriverDatabase key. Continuing investigation

    This is new key in Win8, so it seems it is used somehow instaed of CDDB

    • Edited by gburanov Monday, December 10, 2012 3:14 PM
    Monday, December 10, 2012 3:13 PM
  • this key is private to the OS, you are not allowed to touch the tek

    d -- This posting is provided "AS IS" with no warranties, and confers no rights.

    Monday, December 10, 2012 4:05 PM
    Owner
  • IMHO it is still better to share the knoweledge of how this actually done =)

    There are a lot of articles of CDDB in the internet despite the fact it is also internal

    Tuesday, December 11, 2012 7:41 AM
  • I came across article, https://rwmj.wordpress.com/2010/04/30/tip-install-a-device-driver-in-a-windows-vm/#comment-5754, describing method how to update registry for OS upto Windows 7 / 2008 R2. The article has description of a manul method of figuring out what changes are needed. I've not tried them but may work for 8 or 2012. If I a get a chance, I would try it and post my result.
    Thursday, December 13, 2012 3:01 PM