It sounds like the video-card is trying to use a mode that the monitor does not support. Because safe-mode uses a simple, basic mode which the monitor does support, it works, but booting normally tries to set the bad resolution, so the monitor just ignores it.
To make sure this is what is happening, you can do a simple test:
- Boot into normal mode
- Press Win+R
cmd and press Enter
echo then press Space, Ctrl+G, and Enter
Do you hear a beep? If you do, then Windows is indeed running, but the video-mode is bad so you simply cannot see anything.
In this case, you need to manually (blindly) set the resolution to one that the monitor supports.
Surprisingly, there is no single, easy registry entry that you can change to set the resolution the next time you boot.
An easy way that you can set the resolution is to select the Low Resolution (640x480) mode in the boot menu instead of Safe Mode, however, this may not allow you to set the resolution for normal mode.
The easiest and more reliable way is to boot into normal mode and just use a program to set the resolution:
- Boot into Safe Mode with Networking
- Download a command-line resolution setting program (QRes is a good one)
- Extract the program to somewhere easy to remember (for example
- Reboot into normal mode
- Run the program:
- Type the program and its parameters
- With QRes extracted to
c:\res, it would be:
c:\res\qres /x:640 /y:480 /c:32 /r:60
You should now be able to see your desktop. Set the resolution to a proper resolution that your monitor supports, like normal. (Right-click the monitor in the Resolution dialog and select Identify first.)
Make sure that your monitor driver is correct to ensure that Windows does not try to set a resolution that the monitor does not support.