VOGONS


First post, by gabelossus

User metadata
Rank Newbie
Rank
Newbie

Thought I would share my recent experience with everyone in case you plan to use drives larger than 137GB with Windows 9x.

A few nights ago, I booted up my Windows ME build to find an error: "Windows cannot load because NTKERN.VXD is missing or corrupted."

For backstory, I had been using a 160GB Samsung 7200RPM hard drive in this build for 11 years. It had never shown signs of data corruption until this week. Or at least, not any APPARENT signs. The drive could very well be failing but I think the more likely scenario is that I filled it up with data exceeding the native LBA? limit in Windows 9x, and the file system began overwriting previous data, which was causing some of my programs to not open, and corrupting various system files one by one until WinME could no longer boot to the desktop.

Here comes mistake #1 - I decided I would hook up the drive to my Win10 PC to run the faster Windows 10 chkdsk.exe to scan the drive (ScanDisk GUI in Windows 98 and ME is notoriously slow on large drives and constantly restarts). Low and behold it found 80+ gigs worth of bad clusters, and I foolishly used the /R flag to attempt repairs of bad sectors automatically. Long story short, I lost 80 GB of free space because the modern chkdsk.exe does not know what to do with a FAT32 filesystem. It all got marked as bad, and when I threw the drive back in my WinME PC it could not "see" or use any of this space. Now I was stuck with a corrupted WinME with only 200 MB of free space on drive C.

At least now I could boot into Windows, I thought. CHKDSK seemed to have repaired the corrupted VMM32.VXD (containing NTKERN.VXD) but not all the way. Now my onboard soundcard, SoundBlaster Live, and USB ports were marked in yellow inside device manager. Tried to replace the drivers to no avail. At this point I figured I should do an over-the-top reinstall of ME to restore the corrupted system files.

Mistake #2 - I should not have used the ScanDisk GUI to begin with, at all. Once I ran the WinME setup CD, the DOS-based Scandisk within it found errors that neither the GUI Scandisk or Windows 10 CHKDSK noticed. Crap! I could have just repaired the whole filesystem from within here. Unfortunately this was unable to repair the drive because the 80GB of bad clusters I mentioned earlier somehow got rebuilt as its entire own partition after CHKDSK! Now I had no choice but to delete the partitions and reformat the drive.

Right now I am reformatting & reinstalling Windows ME. Thankfully I already had backups of my data. I plan to run RLeow's patch for using large hard drives, and am currently waiting for a smaller 120GB IDE hard drive to arrive in the mail. The goal is to get WinME setup correctly with drivers loaded, and then clone it to this other drive.

Mistake #3 - the install that had been corrupted was done by me 2 years ago using the factory restore CD for this PC, NOT the official Windows ME disc. I will not be doing that again, as the factory image came with much bloatware and for some reason half of the Windows dialog boxes would not show text. This computer appears to have been setup improperly from retail, and taught me it is always better to do a fresh install with the Windows CD on a freshly formatted drive.

Recap: Utilize RLeow's patch for large drives. It doesn't matter if you limit partition sizes, data corruption will eventually occur if the physical drive is larger than 137GB. Don't use the built-in Windows 10 disk management tools on a FAT32 filesystem. It is much better to use FDISK from the Windows ME bootable image command line, or if you must, third party software. I have heard even the Windows XP software does a better job - somewhere in the later NT-based Windows releases, they removed proper support for FAT32. You cannot even format partitions larger than 32GB from within NT-based WIndows.

I have heard a user somewhere on the forum also had a patch for the VMM32.VXD that was notorious for causing driver-related blue screens on some systems. I wish I had known this earlier, as I was CONSTANTLY getting BSOD's for vxd issues related to my GeForce 6200 video card. Whether this card just doesn't agree with WinME or I need this patch, I will find out. I also had a PCI ethernet card and the SoundBlaster I mentioned before installed, so maybe it could have just been memory or IRQ conflicts all along.

Reply 1 of 2, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

This all seems unlikely. Bad clusters are only flagged if sectors within them cannot physically be read (or are detected as unreliable), not due to filesystem corruption. It sounds more like the drive just started to fail, which isn't uncommon for one that's at least 11 years old. Trying to repair the filesystem on a dying drive is like trying to swim in quicksand.

Reply 2 of 2, by Falcosoft

User metadata
Rank l33t
Rank
l33t
gabelossus wrote on Yesterday, 21:18:

...It doesn't matter if you limit partition sizes, data corruption will eventually occur if the physical drive is larger than 137GB.

This is definitely not true. The factory/physical drive size does not matter. If the sectors that cannot be addressed by Win9x's 28-bit LBA are not available to Win9x (since no partition contains them) then Win9x has no chance to corrupt the drive.
I can show you 250GB HDD with fully utilized 80 GB FAT32 partition (this is the 1st partition) that is actively used by Win9x without any problems.
Actually the other/bigger part of the drive is also partitioned .But since NTFS is used on the other/bigger partition it is not a problem since Win9x cannot use/write it.
Please, do not spread FUD...

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)