VOGONS


First post, by AaronS

User metadata
Rank Newbie
Rank
Newbie

I'm currently trying to get working a 250GB with Windows 98SE on a Thinkpad T42 laptop. To my understanding I need two patches, one for the HDD itself and another for the partition;

BHDD31 or rloew's PATCHATA for the HDD itself
rloew's PATCH1TB for the partition

I'm able to install and run Windows 98SE fine, no problems at all until I pass the 137GB barrier (or 128GB?). I have verified under DOS using rleow's 48BITLBA.EXE that the motherboard does support >137GB/48 bit LBA, so I'm not sure if I'm doing anything wrong. I have tried both bhdd31 and PATCHATA with 98SE reinstalls to see if one or the other works and even the "auto install with autoexec.bat" where it pops up with the message right after the Windows 98 logo. The corruption still happens though (usually installing a game or something that modifies the registry, reboot, get a BSOD saying something about Invalid VxD dynamic link call). I have confirmed the drive is legit by connecting it to a modern system.

My procedure for everything is:

Connect the drive to modern PC, format the drive with Rufus / MS-DOS files on the drive, copy the win98 folder to the root
Run the installer "SETUP /IS" (I get an error "out of memory" after choosing C:\WINDOWS but continues fine after that - I'm using 512MB FYI), after first reboot, boot into MS-DOS with a USB stick containing bhdd31 and PATCTH1TB
copy and replace WINDOWS\SYSTEM\IOSUBSYS\ESDI_506.PDR with the one from bhdd31
Run PATCH1TB.EXE
Reboot and continue Part 2 of W98SE install, arrive at desktop with no hangs or errors
Install bhdd31's INSTALL.BAT immediately and reboot
Install all drivers, set HDD to DMA under Device Manager
Power off, connect HDD to modern PC and copy 120GB worth of disc images to a "C:\Discs" folder (I have more than 120GB but for the sake of trying to trigger the corruption I'm only copying this much)
Put HDD back and power up, no problems, install something (anything that writes to the registry), reboot and VxD BSOD followed by more reboots/scandisks/registry recoveries etc. can only get into Safe Mode at this point

Even without going beyond the first boot/install bhdd31 step, if I fill the drive past 137GB at this point it will BSOD as soon as something else is installed, initially I suspected it was something to do with Daemon Tools automounting at startup but that ruled out it being to do with any specific software being installed.

I know typically using drives larger than 120GB isn't recommended and I'll probably just end up giving up and going with that in the end, but I'm curious if anyone has gotten such a setup to work without corruption like this, even for a little while? The only thing I haven't tried is ~137GB partitions but I assumed that's what PATCH1TB was supposed to fix?

Reply 1 of 20, by esasoft

User metadata
Rank Newbie
Rank
Newbie
AaronS wrote on 2024-03-23, 01:41:

The only thing I haven't tried is ~137GB partitions but I assumed that's what PATCH1TB was supposed to fix?

AFAIR, you'll need to apply rloew's PATCHMEM also.
But it will be much better if you just make two partitions - 120 Gb and the rest.

Reply 2 of 20, by stanwebber

User metadata
Rank Member
Rank
Member

my thinking exactly. with the aforementioned third-party patches i've never had corruption with large drives, but then i never had a partition bigger than 128gib (137gb). split the 250gb in half and make the 2nd partition a logical drive. align the extended partition to cyl, not mb, so dos/win98 doesn't have issues seeing it (primary partition can be aligned any way). better yet, use freedos fdisk to partition.

Reply 4 of 20, by AaronS

User metadata
Rank Newbie
Rank
Newbie

Alright thanks guys I'll split it into two partitions. Can the second partition be NTFS or is FAT32 the best 98 can see? Also is it strictly all partitions that have to be ~137GB or just the OS drive? For example, splitting it as 80GB for OS and 160GB as second? It's literally just going to be for disc images and nothing else, so after copying the discs there it'll never be written to from Windows itself.

I have been using a 500GB SATA SSD (with 4 partitions) for years in a Windows 98 setup.

That's good to know, do you remember which patches you used? Mainly I'm wondering about bhdd31 vs PATCHATA, as far as I can tell bhdd31 copies a few files from Windows ME (particularly scandskw) which means it wont choke if it ever does a scan after a bad shutdown.

Reply 5 of 20, by Robbbert

User metadata
Rank Member
Rank
Member

Afaik windows didn't support > 137GB until W2K SP4, and even then you had to do a registry patch. I had a 250GB drive in my W2K machine and only 137GB was recognised. When I did the patch suddenly the full 250GB showed up.

So, based on that, I'd guess that Win98 being older is probably incapable of seeing > 137GB. Partitions of 120GB or so would be the best idea like the others have said.

Reply 6 of 20, by AaronS

User metadata
Rank Newbie
Rank
Newbie

I think actually the PATCH1TB isn't for the OS drive/partition, but a secondary drive/partition. Maybe though it will work on the OS drive, secondary partition, the manual doesn't mention this but maybe that's what it is. I'll do another installation and test this and report back. If this fails though then yeah its most likely for secondary drive/partitions, and primary drive must stick with ~137GB partitions.

I have been using a 500GB SATA SSD (with 4 partitions) for years in a Windows 98 setup.

Also I'm curious if you use rleow's TRIM patch or you just use it as is? I'm not sure if it would be a good idea to add that to autoexec.bat and run it every reboot (might take a long time 🤣).

Reply 7 of 20, by stanwebber

User metadata
Rank Member
Rank
Member
AaronS wrote on 2024-03-23, 14:03:

Alright thanks guys I'll split it into two partitions. Can the second partition be NTFS or is FAT32 the best 98 can see?

dos 7.1/win98 can't see ntfs drives without third-party drivers and write access is iffy unless things have changed.

i also keep backups of iso images connected to my win98se system. i use ntfs because the images routinely exceed 4gb and i don't want to split them into multiple archives. i don't bother with an ntfs driver though. i dual boot linux and for occasional management under win98 i use a partition tool called disk genius (dos & win versions) that has read/write ntfs support and a rudimentary file manager.

Reply 8 of 20, by darry

User metadata
Rank l33t++
Rank
l33t++
AaronS wrote on 2024-03-23, 21:09:

I think actually the PATCH1TB isn't for the OS drive/partition, but a secondary drive/partition. Maybe though it will work on the OS drive, secondary partition, the manual doesn't mention this but maybe that's what it is. I'll do another installation and test this and report back. If this fails though then yeah its most likely for secondary drive/partitions, and primary drive must stick with ~137GB partitions.

I have been using a 500GB SATA SSD (with 4 partitions) for years in a Windows 98 setup.

Also I'm curious if you use rleow's TRIM patch or you just use it as is? I'm not sure if it would be a good idea to add that to autoexec.bat and run it every reboot (might take a long time 🤣).

I have been using Bhdd31.zip
Re: Formating and partitioning disk for MSDOS 6.22
Re: SSD Woes On Windows 98 SE

As for rloew's TRIM, I do use it and it works very well, but I did initially face some challenges.
Corruption issue when using rloew's TRIM.EXE (TRIM utility for DOS) with FreeDOS FDISK 1.2.1/1.3.1 partitioned DISK

Reply 9 of 20, by Robbbert

User metadata
Rank Member
Rank
Member

W2K was the first version to know about FAT32 and NTFS natively (afaik... never used ME). Win9x didn't know NTFS. NT and earliest Win95 didn't know FAT32. There's a neat patch to fix the problem on NT though (it works well).

Reply 10 of 20, by AaronS

User metadata
Rank Newbie
Rank
Newbie

Alright well, I'm not confident this will work but here we are, I actually decided to test a 500GB drive from a "currently not in use device". 2 partitions, both created in fdisk (freedos), first is a DOS Primary Partition @ 131072MB (after creation, fdisk reported 131074MB), second one is DOS extended Logical as stanwebber suggested.

IT7Ls52.png

Now to fill up the D drive and install a bunch of games, usually the BSOD triggers within a few installs so shouldn't take long.

I also decided to run bhdd31 AFTER installing the intel chipset drivers (before rebooting).

dos 7.1/win98 can't see ntfs drives without third-party drivers and write access is iffy unless things have changed.

i also keep backups of iso images connected to my win98se system. i use ntfs because the images routinely exceed 4gb and i don't want to split them into multiple archives. i don't bother with an ntfs driver though. i dual boot linux and for occasional management under win98 i use a partition tool called disk genius (dos & win versions) that has read/write ntfs support and a rudimentary file manager.

Yeah that was my "concern", DVD images exceeding 4GB, fortunately most games back then had CD options (3,4,5 CDs as well as a DVD version, The Sims 2 etc.) and usually this would be around 2003 onwards anyway I think.

As for rloew's TRIM, I do use it and it works very well, but I did initially face some challenges.
Corruption issue when using rloew's TRIM.EXE (TRIM utility for DOS) with FreeDOS FDISK 1.2.1/1.3.1 partitioned DISK

Thanks, I'll check it out.

UPDATE: VERY early days but installed a few games, no BSOD so far, usually it would happen by now.

Reply 11 of 20, by Riikcakirds

User metadata
Rank Member
Rank
Member
AaronS wrote on 2024-03-23, 21:09:

I think actually the PATCH1TB isn't for the OS drive/partition, but a secondary drive/partition. Maybe though it will work on the OS drive, secondary partition, the manual doesn't mention this but maybe that's what it is. I'll do another installation and test this and report back. If this fails though then yeah its most likely for secondary drive/partitions, and primary drive must stick with ~137GB partitions.

I'm using win98 with a 1TB SSD, single fat32 partition. No corruption above 137GB.
The only steps I use, I always partition the disk using Win10/11 and diskpart, create single active primary partition, make active, aligned to 1MB. Don't use fdisk in Dos to create partitions on drives >137GB, including the freedos version. Format using 'oformat.exe' from Windows XP Deployment Tools cab. That is run from within realmode dos.

For Win98se/Winme you then only have to replace ESDI_506.PDR using the patched version by LLXX from forum MSFN). Do that before completing install of OS. That is all you need to do.

With Dos7.1 it is even easier, it only needs a bios/motherboard that supports 48bit LBA, it doesn't need any drivers and will work on single partition fat32 2TB drives, using bios through Int13-ext.

Reply 12 of 20, by AaronS

User metadata
Rank Newbie
Rank
Newbie

I'll give it a try thanks. For oformat I found a download for the deployment tool at softpedia and it contains oformat.com, I assume this is the right one?

So I made a MS-DOS USB stick and then:

oformat d: /q

removing the drive at this point and plugging it into Windows 10 shows FAT32 however if I boot the laptop with the drive like this it erases it, plugging it back into Windows 10 now shows it as RAW. Do I need to do something after oformat to make it bootable? I assume thats what the laptop is doing when its not finding a bootsector maybe, unless the motherboard just doesn't like oformatted disks, although it is a Windows XP laptop released around 2004ish so?

Reply 13 of 20, by Riikcakirds

User metadata
Rank Member
Rank
Member
AaronS wrote on 2024-03-25, 01:43:
I'll give it a try thanks. For oformat I found a download for the deployment tool at softpedia and it contains oformat.com, I as […]
Show full quote

I'll give it a try thanks. For oformat I found a download for the deployment tool at softpedia and it contains oformat.com, I assume this is the right one?

So I made a MS-DOS USB stick and then:

oformat d: /q

removing the drive at this point and plugging it into Windows 10 shows FAT32 however if I boot the laptop with the drive like this it erases it, plugging it back into Windows 10 now shows it as RAW. Do I need to do something after oformat to make it bootable? I assume thats what the laptop is doing when its not finding a bootsector maybe, unless the motherboard just doesn't like oformatted disks, although it is a Windows XP laptop released around 2004ish so?

I'm not sure what you have done after formatting the disk with oformat. Did you then install win98 to it and then booting erased the drive??

Clean the disk in diskpart to start again, be sure to select your correct 250GB drive. Then just create a single primary partition, full space and make it active, don't format it. That new partition ID should now be '0C' (Fat32 LBA). You can check/change the partition type ID by running the windows freeware program Bootice and select 'parts manage'. If the ID is 06 change it to 0c before running oformat. Then boot to Dos7.1, oformat /q the drive.
Reset PC, boot back to Dos7.1 with the usb stick and run the command SYS d: (assuming d: is the letter of 250GB drive ) to get the drive bootable. At that point the 250GB drive should boot to dos7.1 without the USB stick. Then you can install win98, replacing ESDI_506.PDR with patched version during install.

Reply 14 of 20, by AaronS

User metadata
Rank Newbie
Rank
Newbie

That new partition ID should now be '0C' (Fat32 LBA). You can check/change the partition type ID by running the windows freeware program Bootice and select 'parts manage'. If the ID is 06 change it to 0c before running oformat. Then boot to Dos7.1, oformat /q the drive.

Yep this was the problem, was 06 by default. Installing 98 now.

UPDATE: Yeah so far no problems at all, bunch of stuff installed etc.

One thing I'm curious about is the cluster size from oformat, I saw in the documentation it defaults to 8 (4kb) but you can set it to 128 (64kb) which could improve read speeds at the cost of a little more space consumed but that doesnt matter too much on these much larger drives, what do you think?

UPDATE: Nah, it did actually last longer than usual but eventually it ended up doing the usual:

DEQqXuT.png

Just a Registry scan loop, you can get into Safe Mode and I did check the ESDI_506.PDR file still has the July 20, 2006 timestamp. I've heard IBM laptops can be fussy so it might be that, I can test this on another laptop soonish, but ultimately I think just having a small OS partition is the way to go, at least on this particular laptop.

Reply 15 of 20, by Ralf

User metadata
Rank Newbie
Rank
Newbie

I would have needed this thread 2 week ago. I had a similar problem and I've lost a lot of time because of a wrong partiton ID...
I used the free version of "AOMEI Partition Assistant" and there I found that setting.

After changing ESDI_506.PDR even my 1 TB SATA hard disk attached on a SIL3114 controller worked out of the box. After restart it showed up and I formated it just in Win98SE - now it holds more than 300 GB - no problems. It's so easy, because first I've used the unoffical Windows 98 SE service pack 3.1 to get >128 GB support and yes, I can't recommend it, had to install Windows 98 twice...

I wouldn't think to much about cluster size - default for your disk size would be 32 KB. I never thought to much about cluster size, because in all of my retro systems HDD speed isn't the limiting factor.

AaronS wrote on 2024-03-25, 19:22:
UPDATE: Yeah so far no problems at all, bunch of stuff installed etc. […]
Show full quote

UPDATE: Yeah so far no problems at all, bunch of stuff installed etc.

One thing I'm curious about is the cluster size from oformat, I saw in the documentation it defaults to 8 (4kb) but you can set it to 128 (64kb) which could improve read speeds at the cost of a little more space consumed but that doesnt matter too much on these much larger drives, what do you think?

UPDATE: Nah, it did actually last longer than usual but eventually it ended up doing the usual:

DEQqXuT.png

Just a Registry scan loop, you can get into Safe Mode and I did check the ESDI_506.PDR file still has the July 20, 2006 timestamp. I've heard IBM laptops can be fussy so it might be that, I can test this on another laptop soonish, but ultimately I think just having a small OS partition is the way to go, at least on this particular laptop.

Oh sorry to see that! Maybe you use an OS partition of 128 GB and an extended partition. Extended partition is the rest of the drive and in this you create a logical drive of another 128 GB. So you can use 256 GB in total. If the error is coming from somthing different you can still change the ESDI_506.PDR and create another logical drive covering the rest of the disk.

Reply 16 of 20, by Riikcakirds

User metadata
Rank Member
Rank
Member
AaronS wrote on 2024-03-25, 19:22:

One thing I'm curious about is the cluster size from oformat, I saw in the documentation it defaults to 8 (4kb) but you can set it to 128 (64kb) which could improve read speeds at the cost of a little more space consumed but that doesnt matter too much on these much larger drives, what do you think?

It defaulted to 32kb for me on a 1TB drive, I later used the /A:8 switch to force it to use 4KB clusters, can't remember now but I read NTFS uses 4k and this cluster size gives better performance with aligned SSD. This should not affect the read speed, only the write speed. 64KB could be faster, i will need to do a benchmark with Atto in Win98.

AaronS wrote on 2024-03-25, 19:22:

UPDATE: Nah, it did actually last longer than usual but eventually it ended up doing the usual:

Just a Registry scan loop, you can get into Safe Mode and I did check the ESDI_506.PDR file still has the July 20, 2006 timestamp. I've heard IBM laptops can be fussy so it might be that, I can test this on another laptop soonish, but ultimately I think just having a small OS partition is the way to go, at least on this particular laptop.

Are you using version 1.1 of the ESDI_506.PDR patch.
https://www.mdgx.com/files/atadrv98.php
I assume your using Win98se as there is a different patch for 98 first edition and Winme.

I have had older motherbords, pre 2005, that claim to support 48bit LBA but crashed in Win98 like your blue screen. To rule out buggy hardware/bios 48bit implementations you can test for file corruption in plain Dos7.1.
Do the same steps as before up to running the SYS D: command, so the hard disk will boot to dos 7.1.
Then connect the drive to a modern PC, copy over large files up to 40% space, around 90GB. Run a hash check on all files copied over using a program like QuickSFV, save the result file it produces on the new PC.
Connect that disk back to the laptop, boot to dos7.1, load smartdrv, and xcopy all the files to a new folder. Disk should be around 80% full now. Connect it back to modern PC and check all files with the hash result file. If they don't match it is not Win98 causing the problem.

Reply 17 of 20, by AaronS

User metadata
Rank Newbie
Rank
Newbie

Are you using version 1.1 of the ESDI_506.PDR patch.
https://www.mdgx.com/files/atadrv98.php
I assume your using Win98se as there is a different patch for 98 first edition and Winme.

Ohh this one is dated July 21st, I'm using a slightly older version I guess, which is bundled in bhdd31, I will try this. and yes, 98SE.
EDIT: Hmm, it seems to be the same one, if you don't mind checking with yours:
SHA-1: a10c619e214f87da082cd0b0905e6613c689974f
Otherwise I'm unable to access/download from MSFN for whatever reason.

I have had older motherbords, pre 2005, that claim to support 48bit LBA but crashed in Win98 like your blue screen. To rule out […]
Show full quote

I have had older motherbords, pre 2005, that claim to support 48bit LBA but crashed in Win98 like your blue screen. To rule out buggy hardware/bios 48bit implementations you can test for file corruption in plain Dos7.1.
Do the same steps as before up to running the SYS D: command, so the hard disk will boot to dos 7.1.
Then connect the drive to a modern PC, copy over large files up to 40% space, around 90GB. Run a hash check on all files copied over using a program like QuickSFV, save the result file it produces on the new PC.
Connect that disk back to the laptop, boot to dos7.1, load smartdrv, and xcopy all the files to a new folder. Disk should be around 80% full now. Connect it back to modern PC and check all files with the hash result file. If they don't match it is not Win98 causing the problem.

Will try and get back.
EDIT: Okay so I made some 3.9GB dummy files using

fsutil file createnew x:\file1.tmp 4073741824
fsutil file createnew x:\file2.tmp 4073741823

basically each one is 1 byte smaller to have a different checksum, 20 files at roughly 76GB. Scanned them all with powershell

Get-Childitem -path "X:\" | Get-FileHash -Algorithm SHA1 | Export-csv -path "files1.csv" -Delimiter ";" -NoTypeInformation

Made a folder called "copies".

Plugged drive back into laptop and ran

xcopy *.tmp c:\copies\*.tmp

despite taking just over an hour it copied all 20, back in Windows 10, ran

Get-Childitem -path "X:\copies\" | Get-FileHash -Algorithm SHA1 | Export-csv -path "files2.csv" -Delimiter ";" -NoTypeInformation

and all 20 files matched. Also tried doing one by one (since there was only 20 files) with WinSHA1Sum, all matched with that too.
NCLu27q.png

I'm glad but in a way had kinda hoped it would fail because then we'd have our definitive answer, now I'm not sure what else could be the issue.
____________________________________________________________________________________

I'm wondering if its the adapter I'm using, although I got the same error on two adapters:

1. mSATA to IDE (https://www.amazon.co.uk/dp/B07L89R2HK)
2. M.2 to IDE (https://www.amazon.co.uk/dp/B0BKQ4RB56)
(its a laptop, so its using a typical 2.5")

I also get a "out of memory" error right after selecting "C:\WINDOWS" in the setup. This doesn't happen when I use the 60GB HDD that it came with. Do you guys also get this with large drives?

One other thing to consider is the jumper pins on the 2.5" drives (they usually don't have a jumper at all, but perhaps I need to have one in this case on the 4 unused pins?):
PCo3sBX.png

I opened my Original Xbox which I actually use one of those Startech PATA adapters that work really well https://www.startech.com/en-gb/hdd/ide2sat2
I could test this next although I'll have to grab a male to female IDE ribbon to bring it outside of the laptop, I dont think I could squeeze one of these in there.

Otherwise buying a 160GB+ IDE HDD off ebay might be a good idea so I'm not writing to these SSDs over and over again.

I also just tested rleow's PATCHMEM, apparently some boards need that but again, no luck, there's mention of some boards needing it https://msfn.org/board/topic/175651-windows-9 … d-dynamic-link/

I'm not ready to give up just yet 🤣

UPDATE: Something I just noticed actually: after I install nusb36, Windows 98 Second Edition becomes Windows Me under My Computer > Properties:
JLKRTto.png
eh, apparently this is just a thing it does but doesn't affect the system itself: Win98SE reads as Windows ME!!! WHY???

Reply 18 of 20, by AaronS

User metadata
Rank Newbie
Rank
Newbie

Okay MSFN is back online, so I downloaded the two ZIP files that are labelled as v1.1 (4102225F & 4102226F)
http://www.msfn.org/board/topic/78592-enable4 … -137gb-barrier/

I SHA1 checked both and neither of them matched the one I was using from the bhdd31 pack. Checking the dates it actually matches the "4102225F" one but as I said, with a different checksum. There's also "4102226F" but it has this note attached:
"only for replacing an existing v4.10.2226 file"

but anyway if you could let me know which one you're using, it seems like I was maybe using a bad ESDI_506.PDR file.
4102225F - July 20th 2006, 1:38pm - 232cf58f76d44851e1888138e30ab5e501353723
4102226F - July 29th 2006, 3:02am - 125ad17b11363f761e4f0b1e0dacbecebe846aaf

EDIT: One other point of interest with this laptop is in the BIOS, you can change PCI IRQ values, originally these were all set to 11 (unless previous owner changed them):
AeFAawU.png

Last edited by AaronS on 2024-03-29, 19:45. Edited 4 times in total.

Reply 19 of 20, by Shponglefan

User metadata
Rank l33t
Rank
l33t
AaronS wrote on 2024-03-26, 16:33:
UPDATE: Something I just noticed actually: after I install nusb36, Windows 98 Second Edition becomes Windows Me under My Compute […]
Show full quote

UPDATE: Something I just noticed actually: after I install nusb36, Windows 98 Second Edition becomes Windows Me under My Computer > Properties:
JLKRTto.png
eh, apparently this is just a thing it does but doesn't affect the system itself: Win98SE reads as Windows ME!!! WHY???

Just ran into this recently doing some Win 98 installs. Using NUSB33 instead doesn't cause that issue.

Pentium 4 Multi-OS Build
486 DX4-100 with 6 sound cards
486 DX-33 with 5 sound cards