HAve you let it run the disk check?
If yes and it still pops up then see:
Check Disk Prevent Upon Boot (Line 294) click here if the volume dirty bit is set, eachtime Windows XP starts, autochk.exe is called by the kernel to scan all volumes. If the dirty bit is set, autochk performs an immediate chkdsk /f on that volume. Chkdsk /f verifies file system integrity and attempts to fix any problems with the volume. It is usually caused by a hard shut down or a power loss during a read-write operation on that particular drive.
First click Start> Run> and bring up a command prompt by typing in "CMD" and then type "fsutil dirty query d:" but without the quotes. This queries the drive, and more than likely it will tell you that it is dirty. Next, type "CHKNTFS /X D:". The X tells Windows to NOT check that particular drive on the next reboot. At this time, manually reboot your computer, it should not do a Chkdsk and take you directly to Windows.
Once Windows has fully loaded, bring up another CMD prompt and now you want to do a Chkdsk manually by typing "Chkdsk /f /r d:". This should take you through 5 stages of the scan and will unset that dirty bit. Finally, type "fsutil dirty query d:" and Windows will confirm that the dirty bit is not set on that drive. Good luck!