2. Here is an attempt. It seems you are not trying to use Heine-Borel theorem. Which makes is harder. Let $\displaystyle C$ be defined as in the hint. This set is non-empty because $\displaystyle a\in C$. And it has an upper bound, ii.e. $\displaystyle b$. Thus, by completeness there is a least upper bound $\displaystyle c$. Note, $\displaystyle c\leq b$, we will show $\displaystyle c<b$ is impossible. Let $\displaystyle \mathcal{C}$ be an open covering of $\displaystyle [a,b]$. By construction of $\displaystyle C$ it means there exists finitely many open sets $\displaystyle \mathcal{U}_1,...,\mathcal{U}_k$ which cover $\displaystyle [a,c]$. So it means $\displaystyle c\in \mathcal{U}_1$ without lose of generality. But since it is an open set it means there is $\displaystyle \epsilon > 0$ such that $\displaystyle (c-\epsilon,c+\epsilon)\subset \mathcal{U}_1$. Also since $\displaystyle a<c<b$ it means there is $\displaystyle \delta > 0$ such that $\displaystyle a<c-\delta <c+\delta < b$. Let $\displaystyle \eta = \min\{ \delta, \epsilon \}$. Then by construction $\displaystyle (c-\eta,c+\eta)\in \mathcal{U}_1$ and $\displaystyle [a,c+\eta]$ can be covered too. So $\displaystyle c+\eta \in C$. Which contradicts that $\displaystyle c$ is the least upper bound. Thus, it means $\displaystyle c=b$. And so $\displaystyle [a,b]$ is covering compact.