过去完成时
用于描述过去某个时间点之前已经发生了的事情。也就是“过去的过去”。
基本形式为主语+had+过去分词。

一般过去时
表示过去某个时间里发生的动作。是我们很熟悉的时态了。
基本形式为主语+动词过去式。

那么两者有什么区别和联系呢?请先看例句对比:

(1)
I did not have any money. 我没钱。
I did not have any money because I had lost my wallet. 因为我丢了钱包,所以没钱。(先丢了钱包)

(2)
We were not able to get a hotel room. 我们不能进到旅店房间里去。
We were not able to get a hotel room because we had not booked in advance. 我们不能进到旅店房间里去,因为我们事先没预定房间。(没预定房间这件事在前)

(3)
Alex finished his studies. 亚历克斯结束了他的学业。
By the time Alex finished his studies, he had been in London for over eight years. 亚历克斯结束他的学业的时候,他已经在伦敦待了超过8年了。(先来到了伦敦)

怎么样,是不是看出些什么了?过去完成时是不能独立存在的,句子里需要先有个发生在过去(又晚于过去完成时表达的动作)的动作。即经常和一般过去时或者表示过去的副词短语连用。

不过需要注意的是,如果句子里并没有具体时间,而只有before和after的时候,一般过去时可以替代过去完成时。

例如:
She had visited her Japanese relatives once in 1993 before she moved in with them in 1996.
She visited her Japanese relatives once in 1993 before she moved in with them in 1996.

以上两个句子都是正确的。因为只有before一个模糊的时间点,因此既可以用一般过去时,也可以用过去完成时。