Fix System Boot after adding a Hard Drive in Windows 9x/ME

So you have added a second drive to your 9x/ME system and created/formatted it. Now you can’t boot into the OS. This is the result of the way dos/9x enumerates partitions. It goes first drive primary is c: and second drives first primary is d:.

Click to view rules of drive letter assignments.

You have two issues here. Msdos.sys file and its pointer. But the biggest issue is your registry has everything on d: so even if you got 9x to boot it wouldn’t load correctly.

This is what you have to do to solve this issue. Remove the 2nd drive for now so you will boot normally into windows. We know that given the rules the 2nd partition on the first drive will be “e:”. You also will want a boot disk with and attrib.exe on it. I am assuming you have Word or other text editor that can handle large files and has search and replace. This is what I have done;

Run regedit and export the entire registry to reg.txt. Use word to edit reg.txt. Do a search and replace for every “d:” and change to “e:”. Run thru twice just to make sure. Save the file as txt never as doc. DO NOT DOUBLE CLICK ON THIS File. You want to run regedit again and import this registry. You will get a message about successful import of the registry. Run regedit’s find and do a spot check to make sure you see no “d:”. Shutdown.

Add the drive back. Put your boot diskette in and boot the system. From a: you can type “attrib -r -h c:\msdos.sys”. This will remove the hidden and readonly attributes of the file. Next type “edit c:\msdos.sys”. You will see at the top of the file things like windir=d:\windows. Change all of the “d:” to “e:”. Save the file.

Pull your floppy and reboot the system. You should come up into windows and everything should load perfectly. I have done this many times and it works like a charm. Only problem I ran into was if I double clicked on the file. I ended up with double registry entries and that was a pain to clean up.