情态动词的被动语态: can\ may\ must\ should be 动词的过去分词
过去将来完成时∶should / would have done sth.
两个结构并不相同,自然也不一样。 虚拟语气中是要用were,但也有可能填原型be。
有,拿can来做个例子,can的过去式是could,一般表过去的能力时就用它,但could也可以用作现在时用来表示委婉语气的,could have done表示对过去事情的猜测,以及表示责备的语气——(表本该做某事,却没有做)
至于虚拟语气的话,书面表达的时候be动词是要用were的,平时口语的话也有用was的,望采纳