This happens to me too sometimes as I connect my keyboard and mouse via a KVM switch. Sometimes a chkdsk can't be aborted because it hasn't fully attached my keyboard in time.
This will happen because of the asynchronous approach Windows has had to loading drivers since Windows XP, meaning that all drivers are just told to load at the same time and Windows waits until they're all done without caring which order they finish in. The results are never the same.
In Windows 2000 all drivers were loaded synchronously, as in, each driver was loaded in order and only when the previous driver had finished loading. This is why Windows 2000 was able to have an accurate progress bar during boot time, rather than just one that keeps scrolling across forever until it's done. This behaviour was stopped as the asynchronous approach pretty much always resulted in a quicker boot.