Is the equation $\vec{B}=\mu\vec{H}$ correct in general? How shall we derive it?

The relation between magnetic flux density $(\vec{B})$ and magnetic field intensity $(\vec{H})$, in general, is:

\begin{equation} \vec{B}=\mu_0(\vec{H}+\vec{M}) \tag{1} \end{equation}

One of my colleagues told equation (1) can be written as:

\begin{equation} \vec{B}=\mu\vec{H} \tag{2} \end{equation} where $\mu$ is the permeability of the medium.

Is this correct in general? If yes, how can we derive $(2)$ from $(1)$?

Your equation $\mathbf{B} = \mu \mathbf{H}$ is only correct in linear homogeneous isotropic magnetic materials. "Linear" means that the magnetization is in the same direction as the magnetic field (i.e. the tensor function reduces to a scalar function), "homogeneous" means that the susceptibility is the same throughout, and "isotropic" means that susceptibility is the same in all directions. So, to answer your question, it is not correct in general. Most materials, however, do behave in this way when the applied magnetic field is not too strong.
In such a material, the magnetization is directly proportional to the applied magnetic field: $$\mathbf{M} = \chi_m \mathbf{H}$$ where $\chi_m$ is the magnetic susceptibility. So we have $$\mathbf{B} = \mu_0 (\mathbf{H} + \mathbf{M}) = \mu_0 (1 + \chi_m) \mathbf{H} = \mu \mathbf{H}$$ The quantity $(1 + \chi_m)$ is known as the relative permeability.