You may have to let it run for a long time. Sometimes they get weirded out on some drive detection. Don't know why, and it can be for more than one reason (if memory serves), such as a slow controller, a drive that's slightly different (could be odd partition, going bad, weird geometry, and some drives just don't like to cooperate sometimes (hello, Seagate)), an empty drive (usually a floppy or CD reader, even though that still shouldn't happen), another external device, and so on.
Also, just because it looks like it's stopping at a point, you can't always assume that's really where it's stopping. For instance, I had one boot that appeared to have already detecetd all of the drives. Or maybe not. It wasn't clear if it was stuck at the end of drive detection or on the next step. Yet it would hang forever. It turned out I had a phone (not a smart phone) plugged in for charging. It got to that device and stopped. Once unplugged it booted up quickly. The phone wasn't sharing as a USB drive, but it was connecting itself as a media device. The particular distro didn't like that for some reason. But not a word was offered as to why everything halted. I had to find it through experimentation.
I've had similar oddiities for other hardware. Including internal drives not being cooperative. I've had RAM problems that linux didn't like. Once I had a bad stick that appeare dto be OK in Windows, but would kernel panic during boot on linux. I thought that particular linux install had aproblem. Tt turned out Windows would finally lock up solid after I used it long enough, too. Linux just detected the problem earlier and refused to move until everythng was fixed.