A Windows 98 & ME forum. Win98banter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » Win98banter forum » Windows 98 » Disk Drives
Site Map Home Authors List Search Today's Posts Mark Forums Read Web Partners

Apparent Win98SE IO.SYS bug



 
 
Thread Tools Display Modes
  #1  
Old February 22nd 05, 02:41 AM
Steven
external usenet poster
 
Posts: n/a
Default Apparent Win98SE IO.SYS bug

Hi,

I have had trouble with W98SE and LBA partitions. I was getting phantom
drives on some PC's. It turns out to be a bug in IO.SYS that occurs
when an LBA partition exists in or follows a 0x05 extended partition.

The problem is that when IO.SYS is calculating the absolute key to
access a partition it adds the offset for the partition to the relative
key twice (rather than just once).

It seems easy to patch IO.SYS to fix this problem but any such patch may
have unwanted side-effects. I have searched (mainly via google) but
can't find any reference to this error anywhere.

Does anyone know about this error and any info or fixes for it ?

-- Steven

  #2  
Old February 22nd 05, 08:06 AM
Svend Olaf Mikkelsen
external usenet poster
 
Posts: n/a
Default

On Tue, 22 Feb 2005 12:41:37 +1000, Steven wrote:

Hi,

I have had trouble with W98SE and LBA partitions. I was getting phantom
drives on some PC's. It turns out to be a bug in IO.SYS that occurs
when an LBA partition exists in or follows a 0x05 extended partition.

The problem is that when IO.SYS is calculating the absolute key to
access a partition it adds the offset for the partition to the relative
key twice (rather than just once).

It seems easy to patch IO.SYS to fix this problem but any such patch may
have unwanted side-effects. I have searched (mainly via google) but
can't find any reference to this error anywhere.

Does anyone know about this error and any info or fixes for it ?

-- Steven


You find the rules you have to follow here (DOS/Windows 95/98/ME
Partition Issues):

http://www.partitionsupport.com/partitionnotes.htm


If an extended partition ends cylinder 1024 or later, the type of the
extended partition must be type 0F. If it is not, data damage will
occur. Links to next extended partition tables should still be type
05.

If the last partition in any extended partition is not a FAT
partition, each disk cannot contain more than one primary FAT
partition. If this rule is not followed, data damage can occur.

If the last partition in any extended partition is not a FAT
partition, all extended partitions should be of the same type. If one
disk has an extended partition type 0F, all extended partition on all
disks in the system must be type 0F. Damage can occur if this rule is
not followed.

If the extended partition is type 85 (Linux Extended), the extended
partition does not count as an extended partition in these matters.
--
Svend Olaf
  #3  
Old February 23rd 05, 04:44 AM
Steven
external usenet poster
 
Posts: n/a
Default

On Tue, 22 Feb 2005 08:06:38 GMT, (Svend
Olaf Mikkelsen) wrote:

You find the rules you have to follow here (DOS/Windows 95/98/ME
Partition Issues):

http://www.partitionsupport.com/partitionnotes.htm

Thanks for the link and all the work.

If an extended partition ends cylinder 1024 or later, the type of the
extended partition must be type 0F. If it is not, data damage will
occur. Links to next extended partition tables should still be type
05.


Yes, this can be a hassle. However, it is possible to have a 0x05
partition exceeding cylinder 1024 that works correctly if you write a
null EBR to cylinder 1023 and set the LBA continuation key in the
previous EBR to point to cyl 1024 (or wherever the next logical drive
is). This allows DOS to access all logical drives before cyl 1023 and
other systems (W98, NT, Linux) will access all logical drives. The
major restriction here is that no logical drive can span cyl 1023. This
idea works because systems that use CHS stop when the null EBR is
encountered but systems that use LBA bypass this EBR and continue along
the chain.

If the last partition in any extended partition is not a FAT
partition, each disk cannot contain more than one primary FAT
partition. If this rule is not followed, data damage can occur.

If the last partition in any extended partition is not a FAT
partition, all extended partitions should be of the same type. If one
disk has an extended partition type 0F, all extended partition on all
disks in the system must be type 0F. Damage can occur if this rule is
not followed.


These are manifestations of the bug I am reporting. But they only apply
to W95/W98/ME and not to NT4 or NT5 or Linux or even FreeDOS. I haven't
tested with W95 or ME (but have noted your comments about the
commonality of the restrictions).

It seems odd that one sub-family of Windows is different from the rest
of the world. Do you know any good reasons for preserving this
difference ? I assume there must be some sense behind it as MS has
never offered a fix.

-- Steven

  #4  
Old February 23rd 05, 05:04 PM
SFB - KB3MM
external usenet poster
 
Posts: n/a
Default

What's the EBR?

"Steven" wrote in message
...
On Tue, 22 Feb 2005 08:06:38 GMT, (Svend
Olaf Mikkelsen) wrote:

You find the rules you have to follow here (DOS/Windows 95/98/ME
Partition Issues):

http://www.partitionsupport.com/partitionnotes.htm

Thanks for the link and all the work.

If an extended partition ends cylinder 1024 or later, the type of the
extended partition must be type 0F. If it is not, data damage will
occur. Links to next extended partition tables should still be type
05.


Yes, this can be a hassle. However, it is possible to have a 0x05
partition exceeding cylinder 1024 that works correctly if you write a
null EBR to cylinder 1023 and set the LBA continuation key in the
previous EBR to point to cyl 1024 (or wherever the next logical drive
is). This allows DOS to access all logical drives before cyl 1023 and
other systems (W98, NT, Linux) will access all logical drives. The
major restriction here is that no logical drive can span cyl 1023. This
idea works because systems that use CHS stop when the null EBR is
encountered but systems that use LBA bypass this EBR and continue along
the chain.

If the last partition in any extended partition is not a FAT
partition, each disk cannot contain more than one primary FAT
partition. If this rule is not followed, data damage can occur.

If the last partition in any extended partition is not a FAT
partition, all extended partitions should be of the same type. If one
disk has an extended partition type 0F, all extended partition on all
disks in the system must be type 0F. Damage can occur if this rule is
not followed.


These are manifestations of the bug I am reporting. But they only apply
to W95/W98/ME and not to NT4 or NT5 or Linux or even FreeDOS. I haven't
tested with W95 or ME (but have noted your comments about the
commonality of the restrictions).

It seems odd that one sub-family of Windows is different from the rest
of the world. Do you know any good reasons for preserving this
difference ? I assume there must be some sense behind it as MS has
never offered a fix.

-- Steven


  #5  
Old February 23rd 05, 08:02 PM
Svend Olaf Mikkelsen
external usenet poster
 
Posts: n/a
Default

On Wed, 23 Feb 2005 14:44:35 +1000, Steven wrote:

Yes, this can be a hassle. However, it is possible to have a 0x05
partition exceeding cylinder 1024 that works correctly if you write a
null EBR to cylinder 1023 and set the LBA continuation key in the
previous EBR to point to cyl 1024 (or wherever the next logical drive
is). This allows DOS to access all logical drives before cyl 1023 and
other systems (W98, NT, Linux) will access all logical drives. The
major restriction here is that no logical drive can span cyl 1023. This
idea works because systems that use CHS stop when the null EBR is
encountered but systems that use LBA bypass this EBR and continue along
the chain.


I assume you need type 05 for DOS 6 or OS/2.

OK, nice, although I cannot right now follow the entire significance
of this. I just remember that the type of the extended partition both
influences the way DOS/Windows follows partition tables, and if
extended interrupt 13h is used to access the partitions. The
principles are different between pure DOS 7.x and Windows 95/98/ME,
but both DOS and Windows require that the rules mentioned are
followed.

These are manifestations of the bug I am reporting. But they only apply
to W95/W98/ME and not to NT4 or NT5 or Linux or even FreeDOS. I haven't
tested with W95 or ME (but have noted your comments about the
commonality of the restrictions).

It seems odd that one sub-family of Windows is different from the rest
of the world. Do you know any good reasons for preserving this
difference ? I assume there must be some sense behind it as MS has
never offered a fix.


The idea was that type 0F should replace type 05 in never operating
systems versions so type 05 partitions would be compatible with
previous tools and operating systems. I however do not remember what
Windows NT did.

Linux partitioning tools previously caused a tremendous amount of data
loss by creating extended partitions type 05, but nowhere near the
amount of data lost each day due to the Windows 2000 128 GB bug. (The
need to set a registry key, even if service pack 4 is installed).

Regarding the DOS/Windows bugs, I assume nobody at Microsoft know
about them.
--
Svend Olaf
  #6  
Old February 24th 05, 04:29 AM
SFB - KB3MM
external usenet poster
 
Posts: n/a
Default

Thanks.

"Steven" wrote in message
...
On Wed, 23 Feb 2005 17:04:07 -0000, "SFB - KB3MM"
wrote:

What's the EBR?


I think it stands for extended boot record. One of these precedes each
logical drive in the extended partition and it normally contains an
entry describing the logical drive and a second entry referencing the
next section in the extended partition.

It's like an MBR (master boot record) in its layout (4 entry partition
table) but it doesn't contain any boot code.

-- Steven


  #7  
Old February 24th 05, 05:18 AM
Steven
external usenet poster
 
Posts: n/a
Default

On Wed, 23 Feb 2005 17:04:07 -0000, "SFB - KB3MM"
wrote:

What's the EBR?


I think it stands for extended boot record. One of these precedes each
logical drive in the extended partition and it normally contains an
entry describing the logical drive and a second entry referencing the
next section in the extended partition.

It's like an MBR (master boot record) in its layout (4 entry partition
table) but it doesn't contain any boot code.

-- Steven

 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Adding Fonts to Win98se & Win95a ForestSpirit General 1 January 16th 05 10:40 PM
Puzzle: Win98SE Version and USB Flash Drive Security Application Alan Raskin General 10 January 9th 05 05:23 AM
Running WIN98SE with 4GB DDR and RAID Paul Leon General 2 October 5th 04 03:25 AM
Win98se RAM problems SOLVED! Cloaked Setup & Installation 5 September 15th 04 10:44 PM
upgrade from win98 to win98se bob engler General 1 July 24th 04 06:20 AM


All times are GMT +1. The time now is 12:15 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 Win98banter.
The comments are property of their posters.