Hello All,
This may well be a known issue that has not been addressed (for four years now).
Andrey Bazhan reported the problem here: https://github.com/microsoftfeedback/WinDbg-Feedback/issues/8
Someone, seemingly from Microsoft, responded: "The right people on the kernel side are aware of this, but I don't have an ETA for a change."
The problem seems to be with the PDB description of the _MI_SYSTEM_INFORMATION structure (this structure is mentioned in the Windows Internals book).
The !pte command tries to read and use the contents of the Vs.PagingLevels member but, since its PDB calculated offset is wrong, a different/incorrect value is used.
The difference between the calculated and actual offsets is often 0x40 (varies from build to build). If the difference in a particular build is 0x40, then reads of "MiState.Vs.PagingLevels" actually read the 5th byte of the pointer "MiState.Vs.SystemPteInfo.CachedPtes" (e.g. 0xffff9580`000160c8); if the actual PagingLevels value is 4 and this byte has a value of 4 or 0 (implies use default value of 4) then the !pte command works. This probably explains why rebooting the system (changing the pointer value) sometimes helps.
Gary