I started having major problems with my 10.04 Ubuntu system recently with dirty filesystems having to be checked at each boot up slowing things down and I have finally found the culprit - VMware Workstation Version 8 (VMware-Workstation-Full-8.0.0-471780.x86_64.bundle).
The problem is that the VMware install process renames ALL the file links in /etc/rc0.d & /etc/rc6.d. The end result is that Ubuntu no longer shuts down correctly and the system closes before all filesystems are cleanly unmounted.
As an example this is what /etc/rc0.d should have in it:
K20boinc-client
K20clamav-freshclam
K20hddtemp
K20postfix
K20samba4
K20xrdp
K31atieventsd
K50pcscd
K74bluetooth
K80openvpn
K99policycoreutils
README
S10unattended-upgrades
S15wpa-ifupdown
S20sendsigs
S30urandom
S31umountnfs.sh
S35networking
S40umountfs
S60umountroot
S90halt
And this is what is is after the VMware install:
K01bluetooth
K01boinc-client
K01hddtemp
K01openvpn
K01pcscd
K01policycoreutils
K01postfix
K01samba4
K01vmware-workstation-server
K01xrdp
K02atieventsd
K02vmware
K05clamav-freshclam
README
S01halt
S01networking
S01sendsigs
S01umountfs
S01umountnfs.sh
S01umountroot
S01unattended-upgrades
S02urandom
S02wpa-ifupdown
As you can see, the critical digits which determine what order each script is executed in are now totally changed.
Here is what a correct /etc/rc6.d folder should contain:
K20boinc-client
K20clamav-freshclam
K20hddtemp
K20postfix
K20samba4
K20xrdp
K31atieventsd
K50pcscd
K74bluetooth
K80openvpn
K99policycoreutils
README
S10unattended-upgrades
S15wpa-ifupdown
S20sendsigs
S30urandom
S31umountnfs.sh
S35networking
S40umountfs
S60umountroot
S90reboot
If you have installed VMware Workstation/Player on your Ubuntu system you may want to check your system for this problem and manually rename the relevant file links (ignore links that do not apply to your system).