【仮定法の基本形】
① If+S+過去V ... , S'+助+原V … .
例)If I were a bird,I could fly freely.
「もし僕が鳥なら、僕は自由に飛べるのに。」
② If+S+had+p.p. ... ,S'+助+have+p.p. ... .
例) If you had not taken plenty of Vitamin C,you might have caught a cold.
「もし十分なビタミンCを摂取しなかったのなら、君は風邪をひいていたかもしれない。」
③If+S+had+p.p. ... ,S'+助+原V ... .(※主節のどこかに「現在」を表す単語がある場合はこの形)
例) If I had finished my homework,I would play video game today.
「もし宿題を終わらしていたら、僕は今日テレビゲームで遊べていたのに。」
この3つは基本中の基本なので覚えてください。
お分かりかとは思いますが、②の例文は質問なさってる問題の、答えとなる文の倒置されてない形です。
倒置は、Ifを消してhadを先頭に持ってくれば完成です。倒置する前の形を書き出してから答えると解きやすいですよ。
ちなみに、選択肢2,3,4が間違っている理由は
2→訳がおかしくなるため×。itとはなにかを示すものもないため無生物主語の可能性もない。
3,4→主節が「S+助+have+p.p.」の形であり、基本形を見ると主節がその形を取るのは②しかなく、②の従属節は必ず「If+S+had+p.p.」の形を取る。しかし3,4共に「If+S+過去V」となっているため×。
当たり前ですが、文法だけで判断できない問題もあるので、訳で判断もできるようになりましょう。