Marius's Personal site

My personal blog & gallery
Welcome to Marius's Personal site Sign in | Join | Help
in Search

Blogging About .NET

Upgrading from Windows 2000 to Windows 2003

In the past couple of weeks I've been busy trying to update a Windows 2000 installation to Windows 2003. Apparently something went very wrong, so the upgrade took about a week in total or so, because setup program failed to do some steps apparently required in order to complete the upgrade.

After running WINNT32.EXE in the working Windows 2000 installation, program asked for a reboot, I agreed and BOOM! blue screen. The famous BSOD stating stop 7F (aka INACCESIBLE_BOOT_DEVICE). Trying to debug the issue via WINDBG and serial cable (yeah, I had to run to COMPUSA, they are closing the stores in my region and get a plain old serial cable) didn't revealed anything terribly wrong. After long sessions of registry compare revealed that the culprit was VIAAGP1.SYS driver. If you are wondering what has to do VIAAGP1 with disk access (INACCESSIBLE_BOOT_DEVICE is directly tied with disk access), well, the only explanation I came up with is that VIAAGP1 is marked in UpperFilters key for the AGP bus which has PCI.SYS as a driver, and apparently VIAAGP1 failure was tearing down the entire PCI bus access.

If you think it's the end you are terribly wrong. After that, SETUP was crashing with access violation at the "Installing Devices" step. The culprit? Apparently, MS_NDISWANBH instance which is the network monitor filter driver for WAN.

And after a week of rebooting and debugging, Windows 2003 finally came up, with the fenomenal problem of not starting TCPIP driver. Reinstalling the protocol fixed the issue.

The short conclusion: now it works fine!

So if someone face similar problems this is what I've done (standard disclaimers apply, I'm not responsible if anything fails on your machine, make backups, you know the story):

  • Delete VIAAGP1 from UpperFilters entry in HKLM\SYSTEM\ControlSetxxx\ENUM subtree. More specifically the AGP bus, but there is no standard location. Just search here for VIAAGP1
  • Delete CDR4_2K entries UpperFIlters from HKLM\SYSTEM\ControlSetxxx\Control\Classes subtree
  • Delete all the entries for NDISWANBH in HKLM\SYSTEM\ControlSetxxx. This might was the cause for TCPIP driver not starting, however since setup kept crashing I could find a better solution at that moment. You might want to backup all the keys you are deleting, and restore them after the setup completes, YMMV

And a side note: kernel debugging via WinDBG / serial cable at 115200 bps is not that bad. However the best is not to need such a debug.

Published Thursday, April 05, 2007 8:33 PM by cchrism
Filed Under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS


No Comments

What do you think?


This Blog

Post Calendar

<April 2007>


Listed on BlogShares


Powered by Community Server, by Telligent Systems