When restart takes hours, what exactly it is doing all this time? Does it run checkdisk? Because I can think of no other restart activity that could take that much time.
If so, do you have an old mechanical HDD, or SSD / NVMe? It might make sense to run a thorough hardware diagnostic on it - chances are, your disk is going to give up ghost in a foreseeable future.
Another reason may be your memory isn't exactly up to that frequency, so it causes data corruption which is being persisted onto the disk. The advice stands, give your machine a full diagnostic scan.