I have a card reader that causes this sometimes. Unplugging the card reader when it is stuck then makes windows continue to boot up entirely. It's sporadic though
It may be a driver issue. The only thing I can think of is to either update the usb driver from the manufacturer or if you are using that one, uninstall it and try getting windows to load the default Windows 7 one. Completely uninstalling a driver though means removing the driver INI from the windows driver cache so it won't instantly reinstall it again on reboot. If the USB driver has an ununstall entry in remove programs it might work. Otherwise it can take some hand work to do manually.
My fix was to buy a different brand of card reader, but yours seems more serious