Very strange issue....

(Update included at the bottom of post)

I have an MSI GS40 6QE Phantom laptop running on Windows 10 and I've been having problems booting it. For some reason, on the first attempt to boot it, it shows the MSI logo and freezes there seemingly infintely, but if I hold down the power button to shut it off and then turn it back on again, it starts up perfectly fine. It's leading to issues with things that require restarts such as installing programs or Windows updates.

The problem seemed to originate when I was attempting to install a windows update a few months ago. I constantly got prompts to install a windows update and they'd eventually install themselves automatically, but would always get stuck at the restart and I'd have to power it off and back on as I mentioned to start it up again which would cause the update to fail. At this time it only seemed to happen during Windows update attempts though.

At that point I tried a few fixes from the internet to no avail and eventually ended up with another error which was that when I tried to boot it would show a blue screen with the error code 0xc000000f and some recovery options, but if I tried any of the options none would do anything at all. It would just stay on the same screen. However after powering it off and on again like I used to did when it got stuck on the MSI logo it would again boot into the blue screen with the error code, but this time if I followed the option which was something along the lines of 'Press esc for recovery' it would boot the PC normally. Just like when it was stuck on the MSI logo it would only ever boot up on the second attempt. I also tried some fixes like this one from online, but again nothing worked. I'd get something like "file not found" "directory not found" "access denied" or something along those lines when trying this method and other BCD rebuilding methods from the internet.

Surprisingly though after reinstalling Windows 10 this 0xc000000f error went away, but the MSI logo freezing on the first boot attempt came back.

I've tried a number of things to fix it such as reinstalling Windows 10 as I mentioned which didn't help except for getting rid of the 0xc000000f error, going through each of my drivers in the device manager and making sure they're up to date, and updating the bios, I've tried start-up repair also but it seemed to get stuck at "please wait". I tried a few more things but nothing seemed to work.
Sorry for the essay but I just wanted to be thorough. Any help would be massively appreciated.

UPDATE: So I've just noticed that now that I've updated the BIOS(which I assume to be the cause of this change) that now when I shut down the laptop it starts up afterwards on the first try, but if I use the Restart option the problem happens again and I have to boot up twice to get it to start.