try to boot into safe mode and see if it boots in a reasonable time. if it does then reboot back into your normal windows and download and run
https://technet.microsoft.com/en-us/sysinternals/bb9639...
it is a Microsoft tool that will show you what is being started on your computer, often you can disable start up of apps that you don't need.
if the machine has problems in safe mode then you might have some hardware conflict.
it can be something like a device plugged into a USB port that is causing the problem. Generally you want to be systematic about fixing the problems.
do a Malwarebytes scan,
then start cmd.exe as an admin and run
sfc.exe /scannow
then
Dism.exe /Online /Cleanup-Image /RestoreHealth
after that you would want to go to your motherboard vendors website and update the BIOS and the device drivers for your motherboard.
then reboot and see if the system still has problems. if it does you have to try to isolate the problem or run specific tests on various hardware.
the autoruns program will let you disable or remove programs from automatically starting. if is useful in isolating startup problems.
you can have hard drives that are starting to fail, or solid state drives that are full and take a long time to start up. you can run cleanmgr.exe and have the system remove unneeded files.