Monday, October 4, 2010

Windows 7 Black Screen After Login, no Desktop Show Up

Perfect710 Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals

Hi everybody, I'm having trouble with my Windows 7 right now, it's an ultimate version, I just shut it off last night and opened it up this morning. Everything seems to be normal until I logged in to my user. The old things happened after that, only the black screen showed up and an window pop up which shows "my computer" the mouse can be moved regularly.
I tried several ways to get it back to normal:
reboot.
reboot and login to safe mode.
change the resolution and multiple monitor settings.
uninstall and reinstall the graphic driver.
ctrl+alt+del will allow me go to the regular screen which I could go to the task manager, switch user, lock the pc, signoff, change pass word, and reboot or restart etc.
I ended the "dwm.exe" in process which would not work.

That window seems like the only hope I could access the computer which pop up everytime I reboot.

I can use that pop up window to go online and go control panel and all that, I can also run all the program just like normal. Everythings sames normal besides I cannot get the normal screen, no starup, no destop icons, no quick lunch. I could change my background picture, but I cannot use right click on the background.

Does anybody know how to solve this? I really don't want to reinstall the Windows again which I just did a week ago.
I will appreciate any solution to this problem.

Answers

Friday, December 04, 2009 10:58 AMBrian Grunkemeyer - MSFT Users MedalsUsers MedalsUsers MedalsUsers MedalsUsers Medals
 Answer
This isn't an authoritative answer - I've just had this problem, sifted through the initial bogus media coverage, found a solution, and started speculating on the real cause.

Here's a workaround for the problem, though this company mis-diagnosed the problem (it wasn't an ACL problem).  This fix is opaque and comes from a third party, but it fixed the problem for me:
http://www.prevx.com/blog/140/Black-Screen-woes-could-affect-millions-on-Windows--Vista-and-XP.html
Note their fix is an exe and they don't tell you what it does.  I appreciate that they are helping, but they should fully disclose their fix so at least advanced users can have confidence in their good intentions.

Here's a better possible reason for why the problem occurred (a registry key telling Windows which shell to run on login was corrupted - a REG_SZ key was missing a '\0'.  Sounds somewhat plausible, but the fishy part is what caused that?):
http://www.prevx.com/blog/141/Windows-Black-Screen-Root-Cause.html

My symptoms & observations:
I ran into this problem on a Win7 laptop that was upgraded from Windows Vista Ultimate.  I log in, get a black screen, and Windows never proceeds to setting up my desktop, etc (ie, Windows never launches explorer).  Running the fixing tool from Prevx did solve the problem, however their diagnosis for the cause of the problem was wrong (their initial hypothesis was the ACL's were incorrect and implied Windows Update patches broke it, but that was wrong.  They followed up with the non-null-terminated string hypothesis).  Before running Prevx's tool, the registry key existed, RegEdit visually displayed the expected value (explorer.exe), and the ACL's were fine.  Yet, of course, I couldn't successfully log in. 

My pure speculation about the cause:
So if the missing '\0' hypothesis is correct, and if the Prevx tool deletes & recreates the value in the registry key, obviously that should fix the problem.  (FYI - look at the MSDN docs for RegSetValueEx for a note about the lpData parameter needing a '\0'.)  But that doesn't explain how the value got messed up in the first place - I don't go around removing terminating zeros from REG_SZ values for fun nor profit.  Sounds like either random corruption, or more likely, something wanted to run something when Windows boots then incorrectly undid their change to the registry. 

I saw that some MS security folks suggested this could be caused by malware (http://blogs.technet.com/msrc/archive/2009/12/01/reports-of-issues-with-november-security-updates.aspx).  Operating under that hypothesis, I ran Forefront on Wednesday using the current signatures, but it didn't report anything.  That may not spot a novel virus or rootkit, of course.

Another wild guess - perhaps the act of installing certain classes of patches could cause the problem, due to a (hypothetical) bug in Windows Update.  Windows Update does something on boot up to configure patches, and it looks like this happens after login but before Explorer is running.  Perhaps Windows Update itself could be editing this registry key to replace the shell with another program that configures patches (or options to explorer.exe?), then replaces the registry key again to point back to explorer after patches have been installed?  If that's how it works (which is a big guess), then maybe when WU restores the registry key value to explorer.exe, it doesn't reset this reg key appropriately on Win7.  Of course, I would have expect to see a bad value for this reg key in RegEdit if this were the case.  I didn't - perhaps there were some unprintable characters in the string, or I've empirically shot down my own wild guess. 

Note - my problem occurred on a Windows 7 Ultimate machine that was upgraded from Vista Ultimate.  Perhaps something during upgrade may have introduced some registry corruption that didn't show up until another value in the registry was changed later? 

BTW, to confirm the fix & narrow down this fix, perhaps someone w/ a broken machine can reboot into Safe Mode, run RegEdit, delete HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell then recreate the Shell key as a REG_SZ key, with the value explorer.exe.  If that works, that could help confirm the cause and allow us to give standalone instructions for a fix that we can have more confidence in (as opposed to telling people to run an exe from a third party).

No comments:

Post a Comment