Windows can be really picky in the strangest ways. Recently I've had to figure out why a computer refuses to proceed past the "Setup is starting Windows" message in Windows XP Setup. Apparently it's a fairly common issue though I admit this is the first time I remember encountering this. Microsoft has a KB article which points to numerous known reasons for this issue.
In my case, it was the USB controller on the motherboard that was giving trouble. I simply disabled the USB function in BIOS and Windows Setup proceeded smoothly afterwards.
Based on various sites I've read while researching the issue there are numerous possible causes. Here's some of the things you could try to resolve this:
- disable USB controller in BIOS
- disable network controller in BIOS
- use F5 key to specify a third party HAL
- change your GPU, or use only one GPU if you have a multi-GPU setup
- change/swap your RAM
- update the BIOS if there's a newer version out
- temporarily remove all unnecessary devices during setup (PCI devices, USB devices, printers, scanners, etc)
- change to PS/2 mouse/keyboard, if you are using USB keyboard/mouse
I'm sure there's more I've missed out, but these are the more common ones. The most widely accepted reason for this behaviour seems to be that Windows Setup comes across a problem during hardware detection, encounters a problem, doesn't know what to do, and so it simply stops responding. Brilliant.
By contrast, Ubuntu 10.04 LiveCD boot up just fine with the USB controller enabled.
Fixing Windows boot problems