Well, the reference manual states that the only difference between ADC2 and the others is that it doesnot have DMA. I am using single conversions (no DMA). The setup and code i use for ADC1 was tweaked for ADC2 and ADC3. ADC3 worked with the tweak. One observation i made was the ADC input pins have voltages on them without any input.
In an earlier post you mentioned that you had ''not'' properly tied your ADC input signal to common (board) ground. In this process - you may have damaged (over-stressed) the ADC inputs (spec has a max ADC value). However - since you likely fed that signal to ''all'' of your ADC inputs (perhaps in sequence) I suspect that multiple ADC inputs would have been damaged - not just ADC2.
Perhaps ADC2 requires a different set-up than the others. Don't believe you state ''which'' STM32 device you're using - be sure that the ADC feature is available on your device - and is properly and sequentially enabled.
There are a variety of STM32s. Different package sizes, different performance grades - my guess is that your particular device (we don't know which one you are using)may be treating ADC2 in a different manner.
Be sure you're reading/following the most current spec for ''your particular device!'' (has caught me/cohorts) If you allow ADC inputs to float the voltages you measure are without real meaning - this is not good practice. If your device has a valid ADC2 - and you've not damaged that pin - again I bet that you have typo in ADC2 set-up. Get someone else to stare at your code - same guy can miss simple mistake repeatedly...