Index: /trunk/src/VBox/ValidationKit/testmanager/batch/virtual_test_sheriff.py
===================================================================
--- /trunk/src/VBox/ValidationKit/testmanager/batch/virtual_test_sheriff.py	(revision 64941)
+++ /trunk/src/VBox/ValidationKit/testmanager/batch/virtual_test_sheriff.py	(revision 64942)
@@ -692,6 +692,12 @@
         ( True,  ktReason_Host_HostMemoryLow,                       'HostMemoryLow' ),
         ( True,  ktReason_Host_HostMemoryLow,                       'Failed to procure handy pages; rc=VERR_NO_MEMORY' ),
+    ];
+
+    ## Things we search a VBoxHardening.log file for to figure out why something went bust.
+    katSimpleVBoxHardeningLogReasons = [
+        # ( Whether to stop on hit, reason tuple, needle text. )
         ( True,  ktReason_Host_DriverNotLoaded,                     'Error opening VBoxDrvStub:  STATUS_OBJECT_NAME_NOT_FOUND' ),
     ];
+
 
     ## Things we search the _RIGHT_ _STRIPPED_ vgatext for.
@@ -803,4 +809,13 @@
                         fFoundSomething = True;
 
+            # Check VBoxHardening.log.
+            if sNtHardLog is not None:
+                for fStopOnHit, tReason, sNeedle in self.katSimpleVBoxHardeningLogReasons:
+                    if sNtHardLog.find(sNeedle) > 0:
+                        oCaseFile.noteReasonForId(tReason, oFailedResult.idTestResult);
+                        if fStopOnHit:
+                            return True;
+                        fFoundSomething = True;
+
             #
             # Check for repeated reboots...
@@ -819,4 +834,5 @@
         #
         sVMLog      = None;
+        sNtHardLog  = None;
         sScreenHash = None;
         sKrnlLog    = None;
@@ -825,12 +841,16 @@
         for oFile in oFailedResult.aoFiles:
             if oFile.sKind == TestResultFileData.ksKind_LogReleaseVm:
-                if sVMLog is not None:
-                    if investigateLogSet() is True:
-                        return True;
-                sKrnlLog    = None;
-                sScreenHash = None;
-                sVgaText    = None;
-                sInfoText   = None;
-                sVMLog      = oCaseFile.getLogFile(oFile);
+                if 'VBoxHardening.log' not in oFile.sFile:
+                    if sVMLog is not None:
+                        if investigateLogSet() is True:
+                            return True;
+                    sInfoText   = None;
+                    sVgaText    = None;
+                    sKrnlLog    = None;
+                    sScreenHash = None;
+                    sNtHardLog  = None;
+                    sVMLog      = oCaseFile.getLogFile(oFile);
+                else:
+                    sNtHardLog  = oCaseFile.getLogFile(oFile);
             elif oFile.sKind == TestResultFileData.ksKind_LogGuestKernel:
                 sKrnlLog  = oCaseFile.getLogFile(oFile);
@@ -844,5 +864,8 @@
                     sScreenHash = sScreenHash.lower();
                     self.vprint(u'%s  %s' % ( sScreenHash, oFile.sFile,));
-        if sVMLog is not None and investigateLogSet() is True:
+
+        if    (   sVMLog     is not None \
+               or sNtHardLog is not None) \
+          and investigateLogSet() is True:
             return True;
 
