Well. the first thing I would do would be to rule out an HD problem. It could be that a bad sector has developed on a file required for booting or the disk itself is failing. You need to remove the HD and run a disk test on it in another machine, you'll need a 2.5" USB cage to do this or you could make a bootable USB stick with some disk utilities on it. There are other possible causes, bad memory stick, corrupt file(s), missing file(s) or a virus.
Pete