Couple things:
1. Check your RAM Memory.
Vista requires 1GB just to run the operating system, start up programs will slow your system to a crawl. optimal ram should be 2GB-4GB
start>control panel>system and maintenance>system-click "view amount of ram and processor speed"
2.Download ALL updates for SP1. This may require multiple downloads/installs. Keep going back untill there are no updates left for you.
This service pack (and subsequent updates) fixes alot of the issues that caused slow boot/shutdown
start>all programs>click "Windows update" click "check for updates"
3.Check your system for unecessary start up programs
start>type in search msconfig>click "continue" at prompt>click "startup" tab>remove checkmark from all unneccesary startup programs
4.Do a full defrag of your system.
(default defrag in windows does not include defrag files larger than 64mb in the fragmentation statisics- full defrag will defrag all files regardless of size and will result in a faster system) do not close command prompt untill defrag is finished.
start> in search type cmd>right click program and "run as administrator">type/copy this command defrag c: -w> hit enter
note- command is: consolidate (defrag) all files on (c) drive regardless of size (-w)
5.Check for and fix any hard disk drive/file errors.
start>computer>right click drive that windows is installed on (usually C drive)>properties>Tools>under error checking click "check now">click "continue">check "autmatically fix file system errors" and "scan for and attempt recovery of bad sectors">schedule scan at restart> restart computer
6.If startup still hangs, check performance monitor for trouble issues.
start>in search type perfmon>click continue at prompt>click "reliability monitor">check stability report for hardware/software/application failures