Well, three nongeek posts in a row was quite enough, I think.
Today, Windows 2000 would not boot up. I got the dreaded error message:
"Windows could not start because the following file is missing or corrupt: \winnt\system32\config\SYSTEMced"
The -ced at the end is just because there was a string behind it ending in the letters "ced", and the error message overwrote it - but you get a lot of hits (3760) on Google for that message with the "ced" on, so...
My first instinct was to slap in the recovery disk, and try to fix it: this is where I ran into "Internal Consistency cannot continue Error A2210" - which actually means "You need a floppy drive interface enabled even if you don't have a floppy drive or win2k recovery won't run, kthx". Going into the BIOS and enabling the FDDC made this freakishly unhelpful and pointless error go away.
So I ran the recovery tools, and they said my drive was unrecoverably corrupted. Oh, arse. Time to hit Google.
Turns out that the problem is because the "system hive" of the registry needs to be loaded at boot time. And it has limited memory to load in, which means it has about a 10.4M maximum size. And because I've been running win2k continuously for about 8 years now, and before that was running win95, and I've plugged in and unplugged lots of hardware in the meantime, mine went over that limit today, when I updated my Nvidia drivers.
Microsoft's recommended fix (http://support.microsoft.com/?kbid=269 075) is to boot to the command console, trash your system hive, restore from backup (what backup?), then reinstall all your hardware and drivers. Yeah, I'm serious. Well, they actually say to restore it from the last manual backup you made, and then install anything new after that. My last manual backup was 3Mb, so that's basically everything. If you were wondering how to make a backup, you go to the... no, I'm lying, you just plain don't do it, because the backups are only created when you create an emergency repair disk, and you can't do that without a floppy disc ("No floppy drive available. Operation aborted"). Despite the fact that the backup is stored on the hard drive. Yeah.
If you want make one without a floppy drive, vfd might help. Personally, I found a way without using the stupid recovery console and crap.
1) whip the hard drive out, slap it into your USB caddy, and plug it into another machine. Ideally another Win2k machine! Can't do that? Guess you're stuck reinstalling then.
2) open regedt32, "file->load hive". Do this with somewhere definitely writable by you, like the root of "HKEY LOCAL MACHINE" selected. Mount the file \winnt\system32\config\SYSTEM from your USB drive somewhere in your registry: when prompted for a key name, pick a throw away name like "systemp". Then save (file->export) that key somewhere. Then unload the hive again so you can overwrite the file: until you unload it, it will be locked and unwritable.
3) The saved version should be quite a chunk smaller, since it wastes a ton less space. For me, it was 9.86M, plenty small enough to boot. Back up your old SYSTEM file, replace it with this new one, stick the drive back in and presto changeo, windows will boot again.
4) Now clean up your system hive (it's in HKLM\System\CurrentControlSet), deleting any crap you don't need. Old, removed devices and such. The instructions on the microsoft page are in fact useless here: they presume that the space is all used by LanmanServer - and it's not. Not in my case at least. There's a good chunk gobbled up by Creative (seriously, wtf? HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Control\Creative Tech\EmuPIA\Public\CLSID and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Control\Creative Tech\Ctstring\Strings are HUGE! Why??? Nothing by Creative is required for booting up! The System hive is ONLY for stuff required when booting.) But I've no idea what deleting that stuff would do.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Control\MediaProperties\PrivatePrope rties\ and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Control\Redbook\SpecialTargetList look like you could hack out a chunk of devices you don't have.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Control\Session Manager\AppCompatibility looks like you could delete a bunch of crud for ancient apps you never intend to use.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Control\Print looks like it's only needed if you have a printer - but goodness knows what side effects trashing it would have.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Control\SystemResources contains some rathr chunky hex fields - but darned if I'd touch them with a bargepole.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Enum\STORAGE\Volume seems to be a list of drives I've plugged in over the years - a huge list and ripe for deletion I think.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Enum\USB and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Enum\USBSTOR same again, for USB devices.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl Set\Services largeish, vaguely promising.
I couldn't find anything truly vast in there - so my suspicion is that it's mostly used up in large binary lumps that grow over time. I may write something to hunt for the largest, some day. Heck, there's likely a program out there to do that already.
For the time being though, I'm 600k away from the danger zone, it took me 8 years to grow to 10.4M, so I'm not too worried. Sometime this year, though, I'll most likely need to do something about it.
When that time comes, though, I now have a recentish backup of my SYSTEM file, and I know what the errors mean.
Today, Windows 2000 would not boot up. I got the dreaded error message:
"Windows could not start because the following file is missing or corrupt: \winnt\system32\config\SYSTEMced"
The -ced at the end is just because there was a string behind it ending in the letters "ced", and the error message overwrote it - but you get a lot of hits (3760) on Google for that message with the "ced" on, so...
My first instinct was to slap in the recovery disk, and try to fix it: this is where I ran into "Internal Consistency cannot continue Error A2210" - which actually means "You need a floppy drive interface enabled even if you don't have a floppy drive or win2k recovery won't run, kthx". Going into the BIOS and enabling the FDDC made this freakishly unhelpful and pointless error go away.
So I ran the recovery tools, and they said my drive was unrecoverably corrupted. Oh, arse. Time to hit Google.
Turns out that the problem is because the "system hive" of the registry needs to be loaded at boot time. And it has limited memory to load in, which means it has about a 10.4M maximum size. And because I've been running win2k continuously for about 8 years now, and before that was running win95, and I've plugged in and unplugged lots of hardware in the meantime, mine went over that limit today, when I updated my Nvidia drivers.
Microsoft's recommended fix (http://support.microsoft.com/?kbid=269
If you want make one without a floppy drive, vfd might help. Personally, I found a way without using the stupid recovery console and crap.
1) whip the hard drive out, slap it into your USB caddy, and plug it into another machine. Ideally another Win2k machine! Can't do that? Guess you're stuck reinstalling then.
2) open regedt32, "file->load hive". Do this with somewhere definitely writable by you, like the root of "HKEY LOCAL MACHINE" selected. Mount the file \winnt\system32\config\SYSTEM from your USB drive somewhere in your registry: when prompted for a key name, pick a throw away name like "systemp". Then save (file->export) that key somewhere. Then unload the hive again so you can overwrite the file: until you unload it, it will be locked and unwritable.
3) The saved version should be quite a chunk smaller, since it wastes a ton less space. For me, it was 9.86M, plenty small enough to boot. Back up your old SYSTEM file, replace it with this new one, stick the drive back in and presto changeo, windows will boot again.
4) Now clean up your system hive (it's in HKLM\System\CurrentControlSet), deleting any crap you don't need. Old, removed devices and such. The instructions on the microsoft page are in fact useless here: they presume that the space is all used by LanmanServer - and it's not. Not in my case at least. There's a good chunk gobbled up by Creative (seriously, wtf? HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl
I couldn't find anything truly vast in there - so my suspicion is that it's mostly used up in large binary lumps that grow over time. I may write something to hunt for the largest, some day. Heck, there's likely a program out there to do that already.
For the time being though, I'm 600k away from the danger zone, it took me 8 years to grow to 10.4M, so I'm not too worried. Sometime this year, though, I'll most likely need to do something about it.
When that time comes, though, I now have a recentish backup of my SYSTEM file, and I know what the errors mean.
