Since , then the order of 2 (mod q) is a divisor of p (why?) and so, the order is either 1 or p. It must be p.
So since the order of 2 is p, we know , i.e. .
See if you can finish it off from there.
I can also show that a product of two factors of the form 2pk+1 is of the same form (i.e. the product is of the form 2pm+1 for some integer m).
So by induction, we can say that ANY divisor(not necessarily prime) of (2^p)-1 is also of the form 2pk+1? Am I right?