I had this issue recently after I noticed one of my hard drives making an odd noise as it mounted and unmounted itself. I thought there could be a faulty cable or connection, so I Shut Down the computer to investigate. Once I reboot, I ran into this issue. I should note that the system tried to check the drive in question, and after an extremely brief attempt, the computer started.
Here's what I did to fix this issue:
1) Downloaded a copy of my Operating System (Windows 7 Home Premium, 64-bit)
2) Booted the computer up with the disc in the machine, and booted from disc
3) Clicked "Repair this computer" (or whatever it says after the main splash screen)
4) Selected the Operating System I wanted to repair and clicked "Next"
5) Chose the "Command Prompt" option from the list
---Here's where some people might have got lost---
---You should see something like "X:\Sources"---
6) Typed "cd .." until I was in the root "X:\" directory
---The repair utility had renamed my operating system's disk drive letter, so yours may not be "C:\", as my drive wasn't---
7) Typed different drive letters in until I found the right one (You should see folders like Program Files, Windows, Users, etc once you've found the right hard disk)
a) For example, "E:", "G:", "I:" and check each one to see the content by typing "dir"... also, be careful not to include the back-slash after the colon... I don't know why, but this utility doesn't like it when you include that, so make sure you're only typing in the drive letter followed by a colon
b) My drive letter the first time I went in here was G, and then it was H the second time, so I typed "H:"
---I think people who've tried chkdsk /r in the past may have done so when they were located in the "X:\Sources" directory, and their disk check would have rendered no useful result---
---One of my first attempts left me stumped because I couldn't navigate correctly using the commands I was familiar with, so pay attention to how you're asking it do things---
---This recovery program renames the system's drive letter, you have to make sure you're in that directory to run the check disk program---
8) I typed "chkdsk /r" and the system began checking the disk
9) It asked me if I wanted to unmount the drive, I typed "Y" and hit enter to continue
10) Typed "exit" and restarted the computer
That's all I had to do and my issue with the forever "Welcome" loop was fixed. My system did start once while in this viciously annoying cycle, and it when it did, I also encountered the issue with nothing really working/running correctly.
I hope this helps someone else, as it was really simple once I figured it out. I'm sure there are more complicated versions of this bug, but if you're just starting out, try what I did and you may be as lucky as I was with the easy fix.