Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows 10 2004 VMLAUNCH failed #32

Open
Hulkstance opened this issue Jun 21, 2020 · 1 comment
Open

Windows 10 2004 VMLAUNCH failed #32

Hulkstance opened this issue Jun 21, 2020 · 1 comment

Comments

@Hulkstance
Copy link

Hulkstance commented Jun 21, 2020

I tested it on Windows 10 2004 release and it BSODd with:

EXIT_REASON_INVALID_GUEST_STATE
Arguments:
Arg1: 0000000000000001
Arg2: 0000000000000021
Arg3: 0000000000000000
Arg4: 0000000000000000

image

VOID VmExitStartFailed( IN PGUEST_STATE GuestState )
{
    DPRINT(
        "HyperBone: CPU %d: %s: Failed to enter VM, reason %d, code %d\n",
        CPU_IDX, __FUNCTION__, 
        GuestState->ExitReason, GuestState->ExitQualification 
        );

    KeBugCheckEx( HYPERVISOR_ERROR, BUG_CHECK_INVALID_VM, GuestState->ExitReason, GuestState->ExitQualification, 0 );
}
@nnnbbb
Copy link

nnnbbb commented Aug 13, 2024

Maybe you can try to modify these places to support win10, my system version is win10 1909

add

+ vmCpuCtl2Requested.Fields.EnableINVPCID = TRUE;

add

+ if (data->Fields.Register == 4)
+   {
+        INT64 RSP = 0;
+        __vmx_vmread(GUEST_RSP, &RSP);
+        *regPtr = RSP;
+   }

__vmx_vmwrite( GUEST_CR3, *regPtr );

change

- __vmx_vmwrite( GUEST_CR3, *regPtr );
+ __vmx_vmwrite( GUEST_CR3, ( *regPtr & ~(1ULL << 63) ) );

Refer to this Blog

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants