App Layering/Unidesk: Boot failure after windows updates cmimcext.sys

App Layering/Unidesk: Boot failure after windows updates cmimcext.sys

book

Article ID: CTX224323

calendar_today

Updated On:

Description

Windows updates causes server to fail boot with error message file missing cmimcext.sys. BSOD with 0xc000000f stop code.  This can apply to a newly imported OS layer or to a new version of an existing OS layer.

Environment

Citrix is not responsible for and does not endorse or accept any responsibility for the contents or your use of these third party Web sites. Citrix is providing these links to you only as a convenience, and the inclusion of any link does not imply endorsement by Citrix of the linked Web site. It is your responsibility to take precautions to ensure that whatever Web site you use is free of viruses or other harmful items.

Resolution

If this is a newly imported OS layer, then the right way to fix it is to delete the OS layer, go back to the Gold VM, update the boot files there, and reimport.  But if this is a new version of an existing OS layer, especially if you have existing app layers associated with it, that may not be useful.

To fix a Gold VM, you just need to make sure cmimcext.sys is present in the right folder and listed in bootfiles.txt.  First, make sure your updates are all complete, and then run:

C:\Program Files\Unidesk\Uniservice -B

Just to make sure we've completed our own boot file scan.  Then bring up a command prompt and change to c:\windows. Run a command like this to find where the system file is located (one customer reported it was in the update download folders)

dir cmim* /s

Copy the file to:

C:\windows\system32\drivers

Add the path to the list of boot driver files here (note the directory separators are / and not \):

C:\Program Files\Unidesk\Uniservice\bootfile.txt

Then retry the import.

For versioning an OS layer, you need to make sure the problem is fixed before you reboot and get the BSOD.  After a reboot, you can not get to many of the Windows folders, even in rescue mode, because of Unidesk layering.  After the update, but before any reboot, first check as above to make sure that C:\windows\system32\drivers\cmimcext.sys exists.  Copy it in if it doesn't.

The other possible option is that we missed detecting the file as a boot-time system file, and you can just create a temporary boot-time service to tell us about the file.
  1. Create a new version of the OS layer (if you're not already in it) and apply updates as necessary.
  2. Open up RegEdit and navigate to: HKLM/SYSTEM\CurrentControlSet\services
  3. Create new key and call it whatever you'd like - it's temporary
  4. Inside that new key, create an Expandable String Value called "ImagePath" and set the Data value to the file name you are looking to add.  (In this case, "C:\Windows\System32\drivers\cmimcext.sys")
  5. Create a new DWORD value called "Start" and make sure it's set to 0
  6. Delete the new, temporary key.  The detection has already happened.
If you need to apply this technique to multiple files for some other, similar problem, simply edit the ImagePath key in step 4 and change it to the second file path, then edit it again for the third path, and so forth. Our service will add the new path as soon as you have changed that key. Or you could create separate fake services. So in effect you would do steps 1 through 5 multiple times, each one with a different fake service name.
 

Problem Cause

It appears this is a Microsoft issue...
https://social.technet.microsoft.com/Forums/windowsserver/en-US/6b56be3c-bf68-42fd-8bcb-0b9d90215138/boot-manager-giving-error-cmimcextsys-help-someone?forum=winservergen