Windows boot error 0xc0000359 in an Azure VM

Applies to: ✔️ Windows VMs

Original KB number:   4010135

This article provides a solution to an issue where Windows VM doesn't start with 0xc0000359 error code.

Symptoms

Windows doesn't start. Instead, the system generates an error that resembles the following:

File: \Windows\System32\drivers\<BINARY>
Status: 0xc0000359
Info: Windows failed to load because a critical system driver is missing or corrupt.

In this message, <BINARY> represents the actual binary file that's found.

Cause

The issue occurs because the binary file is the 32-bit version and it needs to be replaced by the 64-bit version.

Resolution

Tip

If you have a recent backup of the VM, you may try restoring the VM from the backup to fix the boot problem.

To fix the issue, follow these steps.

Step 1: Attach the OS disk of the VM to another VM as a data disk

  1. Delete the virtual machine (VM). Make sure that you select the Keep the disks option when you do this.
  2. Attach the OS disk as a data disk to another VM (a troubleshooting VM). For more information, see How to attach a data disk to a Windows VM in the Azure portal.
  3. Connect to the troubleshooting VM. Open Computer management > Disk management. Make sure that the OS disk is online and that its partitions have drive letters assigned.

Step 2: Repair or replace the corrupted file

Repair or replace the corrupted system binary (.sys) file by following these steps:

Repair the corrupt binary file

Open an elevated CMD prompt and run chkdsk on the disk:

Windows Command Prompt
chkdsk <drive-letter>: /F

Replace the corrupt binary file

  1. On the attached disk, browse to the location of the binary file that's displayed in the error message.

  2. Rename the file from <binary-name>.sys to <binary-name>.sys.old.

  3. On the attached disk, browse to the \Windows\WinSxS folder. Then, search for the binary file that's displayed in the error message. To do this, run the following command at a command prompt:

    Windows Command Prompt
    dir <binary-name> /s
    

    The command lists all the different versions of the binary file together with the created date. Copy the latest version of the binary file to the \Windows\System32\Drivers folder by running the following command:

    Windows Command Prompt
    copy <drive>:\Windows\WinSxS\<directory-where-file-is>\<binary-name>.sys <drive>:\Windows\System32\Drivers\
    

    For example, see the following console output:

    Output
    E:\Windows\WinSxS>dir ACPI.sys /s 
     Volume in drive E has no label. 
     Volume Serial Number is A0B1-C2D3 
    
     Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_cdef0123456789ab 
    
    11/21/2014  07:48 PM            94,989 acpi.sys 
                   1 File(s)         94,989 bytes 
    
     Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_89abcdef01234567 
    
    11/21/2014  07:48 PM           119,547 acpi.sys 
                   1 File(s)        119,547 bytes 
    
     Directory of E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_456789abcdef0123 
    
    11/21/2014  04:06 PM           533,824 acpi.sys 
                   1 File(s)        533,824 bytes 
    
         Total Files Listed: 
                   3 File(s)        748,360 bytes 
                   0 Dir(s)  123,967,512,576 bytes free 
    
    E:\Windows\WinSxS>copy E:\Windows\WinSxS\amd64_acpi.inf_0123456789abcdef_6.3.9600.16384_none_cdef0123456789ab\acpi.sys E:\Windows\System32\Drivers\ 
            1 file(s) copied. 
    
    E:\Windows\WinSxS> 
    

    Note

    • If the system binary file can't be renamed, take ownership of the file. This action gives you full access to this file.

    • The example console output shows volume E as an example. The actual letter should reflect the faulty drive (the OS disk attached as a data disk on the troubleshooting VM).

    • If the latest binary doesn't work, you can try the previous file version to obtain an earlier system update level on that component.

    • If the only binary that's returned in this step matches the file that you're trying to replace on the affected VM, and if both files have the same size and time stamp, you can replace the corrupted file by copying it from another working VM that has the same OS and, if possible, the same system update level.

  4. Detach the repaired disk from the troubleshooting VM. Then, create a VM from the OS disk.

Contact us for help

If you have questions or need help, create a support request, or ask Azure community support. You can also submit product feedback to Azure feedback community.