It is possible Windows 7 isn't able to read your profile during those occasions when it shows you the default screen.
This in turn might be due to issues with reading certain HDD sectors. I'd advice you to check your HDD's health as nik suggests.
I'm assuming you have Windows and Ubuntu dual-boot, and if so, I don't see why that would cause Windows 7 to boot into the default screen sometimes.
Ubuntu provides a smartmontools package to check any modern ATA/SCSI drive that supports the Self-Monitoring, Analysis and Reporting Technology System (SMART).
Install this smartmontools package
sudo apt-get install smartmontools
View the information provided by smartctl for your drive (assuming /dev/sda)
sudo smartctl -a /dev/sda
Run a self-test on the drive
sudo smartctl -t long /dev/sda
View the result of the selftest
sudo smartctl -l selftest /dev/sda
Before you start the diagnosis, have a quick look through the fairly extensive man page provided for smartctl. You can choose to customize the verbosity and error-tolerance of the tool.
You can also check the disk using badblocks. However, be careful of two issues:
- Do not run badblocks on a mounted partition. The preferred way to use this command is by invoking it on your HDD through a live CD.
- Ensure it does a non-destructive scan of the disk surface. Check the man pages to understand which options ( -w, -f ) can cause badblocks to write to the disk as part of the examination. The Ubuntu community document on handling faulty hardware recommends to run this version
sudo badblocks -nvs /dev/sda