Error Code 0x80070057 When Trying to Enable Hyper-V on Windows 10 [FIXED]

McAfee VirusScan Enterprise 8.8 Patch 5 contains a critical security update for Windows Server 2012 R2 Hyper-V virtual machines. If you’re running one of those servers, you’ll want to patch it ASAP.

The update fixes a bug where the operating system fails to load due to a 0x80070057 exception. This occurs because the mfedisk.sys driver is missing from the registry. To fix the problem, disable the mfedisk.System driver under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mfeddisk. You can do this by deleting the entry named mfedisk from the upper filters key.

Error 0x80070005 prevents the Hyper-V virtual machine from starting.

McAfee VirusScan Enterprise patch version 5 causes problems with Hyper-V virtual machines running on Windows 10. This issue affects both 32-bit and 64-bit versions of Windows 10. Microsoft provides a workaround for this issue.

There’s an easy fix. Delete the mfedisk.sys file from the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization directory.

The problem is caused by Mcafee VirusScan Enterprise patch 5, which contains changes to the Virtual Machine Disk Service. When you install this update, it installs a driver named mfedsk.sys into the system32 folder. If you delete this file, the Hyper-V virtual machine won’t start. To resolve this issue, you must delete the mfedisk.exe file from the HKEY\Software\Microsoft\WindowsNT\CurrentVersion\Virtual Machines subkey.

If you want to prevent this issue from happening again, make sure you apply the latest security patches. You can check for updates here.

Upgrade virtual machine version in Hyper-V on Windows or Windows Server

This problem occurs after installing Mcafee VirusScan Enterprise patch 5.0. If you are running a hypervisor such as VMware ESXi or Microsoft Virtual Machine Manager, you must upgrade the virtual machine version to prevent the issue from occurring again.

When you attempt to start a VM, it fails to start. Disabling the mfedisk.sys driver in the registry fixes the problem.

The registry key is located here HKEY_LOCAL _MACHINE\SYSTEM\CurrentControlSet\Control\Class{4d36e967-e325-11ce-bfcf-00a08002be10} \Modify the upperfiltersvalue by deleting mfediskfrom this string.

Restarting the computer will resolve the issue.

Windows Server has poor network performance on virtual machines.

This article describes how you can improve the networking performance of VMs running on Windows Server 2016.

Frequently Asked Questions

How do I know if my PC meets the requirements for Windows 10?

If it does, you’ll need to upgrade to Windows 10 Pro or Enterprise.

What happens if I already have Windows 10 installed?

You won’t lose anything except for the free upgrades. However, we recommend that you uninstall Windows 10 before upgrading because there are many things that change during the upgrade process. For example, Windows Defender no longer runs automatically.

Will I be able to use my current apps and settings after upgrading?

Yes. Your files, programs, music, photos, videos, documents, etc., will still be where you left them. You might even be able to open some older versions of Office applications. But you won’t be able to access everything like you could before.

The meaning of result code E Invalidarg 0x80070057

This article explains what the result code E_InvalidArgument 0x80070057 means.

The Microsoft Windows operating system provides many functions to help developers build applications. One such function is the Win32 API. This article describes how to use the GetLastError() function to determine why the application failed.

GetLastError returns the most recent error code generated by the kernel. If the call succeeds, it returns zero. You can use this information to find out why the application failed. For example, if the application fails because of invalid arguments passed to a function, you can use GetLastError to retrieve the error code associated with the invalid argument.

To obtain the error code, pass the value returned by GetLastError into FormatMessage(). Then display the error message using MessageBox().

int main(void) {

DWORD err GetLastError(); // Obtain the error code.