The link below may help, it's all about how to set the fsck schedule
and other things related to it. If you set the check to every 30 boots
as is the default and it still runs every time then it's either not
finishing correctly or there are errors it cannot fix so tries to do
it all over again the next boot.
http://ubuntuforums.org/showthread.php?t=300477
Also go to [ System / Administration / Disc Utility ] and check the
SMART information for the drive to see if there's anything untoward in
there such as high read/write errors or sector re-allocation count.
HD checking every boot may be the system warning you that it's dying
on you !!