Solution 1:

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

Solution 2:

You could use a Hard Disk Utility like HDTune to analyze your hard disk once.
I do not suspect your HDD yet, but HDTune is good to keep handy for regular checks.