You need to identify what part of the boot process is taking so long.
After the boot loader reads the necessary files, the kernel starts. This is the beginning of the operating system starting to run.
Optimizing the time for loading the operating system is achieved by overlapping device initialization with the required disk I/Os, and removing or delaying the loading all other processes and services from boot that are unnecessary at boot time.
This can be achieved by setting most of the services (Start/Control Panel/Administrative Tools/Services) to manual as opposed to Automatic.
Then download the BootVis.exe toll that will show on boot what is taking up processor/boot time from www.microsoft.com/hwdev/platform/performance/fastboot/BootVisdwn.asp? remembering to remove the space from 'fastboot' if you copy and paste.