Ive had these problems in the past, but there are a lot of things you can do to greatly improve the boot performance. Be glad you have win8.1, because win10 is a nightmare to fix boot problems.
First, uninstall programs and apps you don't need. then delete all temporary files. use TFC by oldtimer or another temp file cleaner.
Next, defrag. don't use the built in windows defrag, cause it stinks and its slower than congress. I like to use auslogics disk defrag. its free, fast, and it has optimize features, and can move your boot files to fast areas of your disk based on the prefetch layout. these settings aren't enabled by default, so you have to enable them manually, but then run a good defrag and optimize, or run several in succession.
Next, shortstroke your hard drive. shrink the system partition to about a fourth of your hdd size. or as small as it will let you. make sure to move your big data files to another partition.
next, compress hyberfil.sys by opening an elevated cmd prompt and type this:
POWERCFG -H SIZE 50
this changes the compression ratio of the hibernation file to allow a quicker read time, improving the fast boot feature of win8.1
then disable these services:
SuperFetch
Background intelligent Transfer Service
Windows Search
these services hog your disk at boot
then, use regedit to disable superfetcher in the registry
navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
set EnableSuperfetcher key to 0
reboot
hope this helps