Jump to content

Win2k "NT4-ified"


Recommended Posts

I've seen others managing to make NT4's Explorer run under XP or Vista, but as much as I struggled with Dependency Walker and RegEdit, I didn't manage to do much.

So I thought on doing a radical action: completely replace Win2k's Explorer (together with its dependencies - Shell/32.dll,Comctl,Comdlg, etc) with NT4s (no SP) Explorer and dependencies.

In my experiments, I realised that Winlogon depended on 2k's shell32.dll and because of it being replaced, the Logon procedure BSOD-ed.

At first, I tried to also replace Winlogon, msgina and everything that was related to accounts management and login/out.

The best result I obtained here was to bring to life NT4's "Press CTRL+ALT+DEL to log-in" messagebox. After that, it blabbered something about missing user account information and BSOD at the end.

I also thought that instead of trying to replace the entire login mechanism, which would lead to a entire chain of broken dependencies, I thought of trying to find a way to bypass the Logon procedure and sign-in automatically as System (I'm not worried about the potential security risks. I know the risks involved, but I'm not interested in that).

And so, I found XP Embedded's Minlogon which due to the fact that it throws down the garbage the entire accounts system and logs you in as System, it fitted the job perfectly. Plus it seems that it is more memory-friendly than the normal Winlogon.exe

After nailing the "Logon Procedure terminated unexpectedly" BSOD, I went on to implanting NT4's shell. To my surprise, it worked !

And here is the result of my labour :

th_Iasi-2009-07-08-01-52-54.png

As you can see, the System Applet clearly shows its NT5, not 4, in the background, you can see NT4's IE-free Explorer and also Taskmanager showing the very low memory usage of the system.

I had to change all the cpl's with the NT4 versions and I also had to expand NT4's sndvol32.exe because the 2k one failed to load (vanished from start-bar).

Known bugs : -keyboard dead when trying to write text and when typing a file's name for quick jump in explorer (short-keys work though -ie. CTRL+C/V/X, WinLogo+E, etc)

-My Computer desktop icon links not to Explorer.exe but to NT4's Find

-clicking on a folder in the right-hand window of Explorer will also open Find instead of the folder (although Find does open pointing at the folder that you tried to access)

-double-click doesn't work on opening stuff, instead pops-up the context menu with "Copy files Here/Create Shortcuts Here"

-deselecting a file from a selection group will paste all items selected in the current folder.

-default-installed Microsoft games (minesweeper, solitaire, etc.) and Outlook are erased. Other programs are missing short-cuts on the startbar (kinda expected that to happen)

-NT4 Explorer doesn't seem to use its default icons (probably it accesses a 2k-version library which contains newer icons and not the default NT4 set)

Other than that, everything works perfectly fine ! (Oh, and no IE whatsoever)

Comments, suggestions are welcome.

EDIT: Please excuse me! I put the image without the Task Manager. Fixed.

Edited by BogdanV
Link to comment
Share on other sites


I found out why double-clicking folders and My Computer opens Find. Its because of a registry screw-up that configures the default double-click action as "Search..." and not "Open". (when right-clicking, "Search..." was highlighted and not "Open".

Does anyone know, by chance what is the name of the reg key that configures the default action on double-clicking, for folders and My Computer ?

Link to comment
Share on other sites

Thanks for your suggestion, but I'm afraid that the KB's solution is only for "normal" files, while Folders and My Computer are a different story (no extension and you'll never get to choose with what to open them, unless changing the registry).

Well, maybe in the registry, they are treated the same as any other file, but still, I don't think I'd find folders in the File Associations tab.

Link to comment
Share on other sites

Thanks for your suggestion, but I'm afraid that the KB's solution is only for "normal" files, while Folders and My Computer are a different story (no extension and you'll never get to choose with what to open them, unless changing the registry).

Well, maybe in the registry, they are treated the same as any other file, but still, I don't think I'd find folders in the File Associations tab.

See if either of these help ;):

http://www.felgall.com/doswin58.htm

http://social.msdn.microsoft.com/Forums/en...e2-3c8b50ac550b

jaclaz

Link to comment
Share on other sites

Thanks for your suggestion, but I'm afraid that the KB's solution is only for "normal" files, while Folders and My Computer are a different story (no extension and you'll never get to choose with what to open them, unless changing the registry).

Well, maybe in the registry, they are treated the same as any other file, but still, I don't think I'd find folders in the File Associations tab.

See if either of these help ;):

http://www.felgall.com/doswin58.htm

http://social.msdn.microsoft.com/Forums/en...e2-3c8b50ac550b

jaclaz

Thanks for the links!

Mea culpa, it seems that indeed, Folder Options covers the problem for this one. Thanks Colonel O'Neill and jaclaz for your help on this one!

EDIT: Tried integrating Minlogon and the NT4 shell within 2K's Setup. Even with the .reg file included, it still BSODs at the Logon Procedure. It seems that Minlogon has to be applied manually, which also forces you to modify the shell manually, after Setup. An inconvenience, but nothing "mission-critical".

Edited by BogdanV
Link to comment
Share on other sites

EDIT: Tried integrating Minlogon and the NT4 shell within 2K's Setup. Even with the .reg file included, it still BSODs at the Logon Procedure. It seems that Minlogon has to be applied manually, which also forces you to modify the shell manually, after Setup. An inconvenience, but nothing "mission-critical".

I know that it may make you "deviate" from your original goal :unsure:, but maybe, just maybe, you can find in this thread something that could be of use:

http://www.boot-land.net/forums/index.php?showtopic=3717

In any case, these could give you some hints on how to perrform the integration:

http://www.msfn.org/board/index.php?showtopic=72864

http://www.mp3car.com/vbulletin/winnt-base...lite-image.html

jaclaz

Link to comment
Share on other sites

The minimal XP project is pretty cool. I might be tempted into doing something similar for 2K, but the abomination that is the Registry really frightens me (to be more precise, the gory task of trimming tons of reg keys really keeps me away).

If I'd have a bare-bones template of the Registry containing just enough to get you past the loading screen and dump you on the empty background, or at least infos on what major branches to keep in the Registry, that would be excellent. (I presume that from a certain "level", Windows is smart enough to generate its own keys).

Anyway, I'll be checking the NT4 "implant" for incompatibilities with games & stuff. I hope that programs, who don't depend on the Windows GUI stuff won't have problems running.

Link to comment
Share on other sites

The minimal XP project is pretty cool. I might be tempted into doing something similar for 2K, but the abomination that is the Registry really frightens me (to be more precise, the gory task of trimming tons of reg keys really keeps me away).

If I'd have a bare-bones template of the Registry containing just enough to get you past the loading screen and dump you on the empty background, or at least infos on what major branches to keep in the Registry, that would be excellent. (I presume that from a certain "level", Windows is smart enough to generate its own keys).

That projects does exactly that, though for XP.

I don't think the changes between 2K and XP are that much.

If you are interested I do have somewhere (it may take some time to find it) a Win2K SP0 build fitting in 80 Mb with a greatly (though not at the same "essential" level of the referenced XP one) reduced Registry and still using the "full" Winlogon.

References here:

http://www.msfn.org/board/index.php?showtopic=41208

http://www.boot-land.net/forums/index.php?showtopic=5679

One of the missing steps (largely due to the complete lack of interested members) of the referenced project is the ability to switch form the current "only minlogon" status (which might be one of the reasons of the scarce interest in it) to a "switchable minlogon/winlogon" status, that should enlarge the intended "audience".

jaclaz

Link to comment
Share on other sites

The minimal XP project is pretty cool. I might be tempted into doing something similar for 2K, but the abomination that is the Registry really frightens me (to be more precise, the gory task of trimming tons of reg keys really keeps me away).

You might look into this to help you get a head start on what to rip from 2k. The INF files I make available help as far as removing IE is concerned. A key to minimizing the registry is preventing certain DLLs from registering (keeping them from copying is of course the right way to go.) You might find this easier than parsing the work of nLite, which doesn't really "show" you what it's doing.

Link to comment
Share on other sites

You might find this easier than parsing the work of nLite, which doesn't really "show" you what it's doing.

I don't think nlite was ever mentioned until you did. :whistle:

;)

jaclaz

Link to comment
Share on other sites

A key to minimizing the registry is preventing certain DLLs from registering

Indeed. I've read that dlls "puke" a lot of stuff into the registry, but by physically removing them from a running installation, wouldn't that lead to the child keys becoming "dead links", thus ending as targets of any reg-cleaning program ?

Oh and thanks jaclaz for the "cleaning methodology" from one of your links.

I guess that a first goal would be to compile a list with the vital system files and their dependencies.

After that, make a list with the rest of the dlls and sort-out those that I'd like to keep based on the functionality they provide.

Check the dependency chain for the dlls that I want to keep.

And finally, wipe-out what's left.

Link to comment
Share on other sites

A key to minimizing the registry is preventing certain DLLs from registering

Indeed. I've read that dlls "puke" a lot of stuff into the registry, but by physically removing them from a running installation, wouldn't that lead to the child keys becoming "dead links", thus ending as targets of any reg-cleaning program ?

I don't think that a regclean program necessarily "knows" that any given key is "owned" by any given DLL. It's probably just a risk you take whenever running regclean software.

Another key is to rip out whatever junk is in the HIVE*.INF files.

Unregistering a dll will sometimes take some reg entries IIRC.

As an aside, in 2k, there is no functionality that requires a dll to be registered and then doesn't care if the dll is deleted. This is the pivotal argument of a fellow who claims that letting DLLs install in the OS, registering them, and then deleting them in that order is really, really important for XP. Not only is this not the case in 2k, but it's easy to mod an install to copy a file over, reg it, then delete it before first bootup (my fileset has that functionality, though no one will ever use it, it's there.)

Deleting from a running install? I can't explain why it is, but if you install Win2k (or XP for that matter) intact and then delete stuff, you can end up very quickly with a nonfunctioning system. For example, SHDOCLC is part of IE. In an intact install, deleting it creates problems that you don't get when you don't install it (and other IE dlls) in the first place.

I like your idea of tracing functionality and dependencies. Although I recognize that you're doing your own thing here and have no intention of stepping on toes, I do hope that you'll have a peek at my files so that you can save yourself a little work and time.

Now if I could just find a way to fiddle with files so that 2k would boot from CD... (yeah, I know, I know, but one can dream)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...