so i found a way to fix this i had this issue for almost 5 months now , so what i did is when i click restart holding the shift key i turn off the monitor i wait for about 10 seconds ( depends on how fast your pc is on restarting )
when the pc boots up again i turn the monitor back on and this time i get display and everything works fine
extra note : i switched my refresh rate to 60hz and did all of the above
another fix for this is that i when i use my old amd6700 gpu it works perfectly fine and loads into bios normally
so try using your built in gpu if you dont have an extra gpu