有固定格式:
对现在的虚拟(假设):If条件句谓语动词用一般过去时(be用were);主句用:would/should/might/could+动词原形.
对将来的虚拟:If条件句谓语动词可用三种情况:一般过去时,should+动词原形,were to+动词原形.主句也用:would/should/might/could+动词原形.
对过去的虚拟:if条件句的谓语动词用过去完成时,即had+过去分词;主句用:would/should/might/could+have +过去分词.
对于以上的if条件句,如果含有had/should/were,则可以把if省略,把had/should/were提前.
楼主说的这套题是讲述对过去的虚拟,故主句用might have+过去分词.本句用had he known...=If he had known...
请采纳为“满意答案”.祝进步.