If you have no good BIOS screen I would agree that it is almost certainly hardware. I want to post an answer that won't fix yours if that is the case, but because I spent 6 hours on an identical problem that was a driver that simply defied all fixes (BIOS and safe boot worked fine).
When diagnosing a driver problem, one of the first things I do is boot from an Ubuntu LiveCD to test hardware. In my case it booted and worked fine so now I am leaning heavily toward driver. I boot in safe mode and try all the typical fixes, new driver, old driver, roll back, etc. I barely notice (because I'm impatient and don't read closely enough) that at some point the driver install is seemingly completing but with a message "system not modified". So I have a screwed up system and something is blocking the ability to fix it normally.
In this case it was a registry permission error that was solved by a microsoft tool called SubInACL.exe which was used with a command file that looked like the following.
Future reader: If you find this and have a simiilar problem, don't just run off and try it. Do the research, read the blog posts, google "nvidea subinacl reset permission" and make sure you understand what is going on. I have run this on several systems with update and install errors with no ill effect, but caveat emptor.
@echo off
title Resetting ACLs...
echo.
echo Determine whether we are on an 32 or 64 bit machine
echo.
if "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" goto x86
set ProgramFilesPath=%ProgramFiles(x86)%
goto startResetting
:x86
set ProgramFilesPath=%ProgramFiles%
:startResetting
echo.
cd /d "%ProgramFilesPath%\Windows Resource Kits\Tools"
echo.
echo Resetting ACLs...
echo (this may take several minutes to complete)
echo.
echo IMPORTANT NOTE: For this script to run correctly, you must change
echo the values named YOURUSERNAME to be the Windows user account that
echo you are logged in with.
echo.
echo ==========================================================================
echo.
echo.
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=man=f /setowner=administrators > %temp%\subinacl_output.txt
echo.
echo.
subinacl /keyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=man=f /setowner=administrators >> %temp%\subinacl_output.txt
echo.
echo.
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=users=r /grant=everyone=r /grant=restricted=r /setowner=administrators >> %temp%\subinacl_output.txt
echo.
echo.
subinacl /keyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=users=r /grant=everyone=r /grant=restricted=r /setowner=administrators >> %temp%\subinacl_output.txt
echo.
echo.
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=users=r /setowner=administrators >> %temp%\subinacl_output.txt
echo.
echo.
subinacl /keyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=users=r /setowner=administrators >> %temp%\subinacl_output.txt
echo.
echo.
echo System Drive...
subinacl /subdirectories %ProgramFilesPath%\ /grant=administrators=f /grant=system=f /grant=users=e >> %temp%\subinacl_output.txt
echo.
echo.
echo Windows Directory...
subinacl /subdirectories %windir%\ /grant=administrators=f /grant=system=f /grant=users=e >> %temp%\subinacl_output.txt
echo.
echo.
echo ==========================================================================
echo.
echo FINISHED.
echo.
echo Press any key to exit . . .
pause >NUL