This question basically tests your knowledge of the words "accept", "halt" and "reject" in context of Turing Machines.
Turing Machines can accept a language in just one way — halting.
Turing Machines can reject a language in two ways — 1) falling in an infinite loop. 2) Halting (and saying "no")
If M1 doesn't halt on a language, ie, it rejects the language by falling in an infinite loop; M2 can possibly reject it by halting.
Option A eliminated.
If M1 halts on an input to reject the string, M2 might reject it by infinite loop.
Option B eliminated.
Whatever string M1 accepts, M2 accepts it, too. Hence, M2 halts on it.
Option C is correct.