Jump to content


 


Register a free account to unlock additional features at BleepingComputer.com
Welcome to BleepingComputer, a free community where people like yourself come together to discuss and learn how to use their computers. Using the site is easy and fun. As a guest, you can browse and view the various discussions in the forums, but can not create a new topic or reply to an existing one unless you are logged in. Other benefits of registering an account are subscribing to topics and forums, creating a blog, and having no ads shown anywhere on the site.


Click here to Register a free account now! or read our Welcome Guide to learn how to use this site.

Photo

Editing hdd disk geometry / CHS values to reflect hard drive's true size


  • Please log in to reply
7 replies to this topic

#1 computerdownhouse

computerdownhouse

  • Members
  • 31 posts
  • OFFLINE
  •  
  • Local time:03:44 PM

Posted 01 February 2018 - 04:33 PM

My antiquated system specs: Pentium 1, Win NT 4.0
 
As you all know, these old systems have the 8.5gb hdd limit.
 
By chance, I tested a 19gb NTFS hdd and Windows NT 4.0 had no problem reading it. I recently got a fat32 reader for NT 4.0. My system can now read and write to 16gb flash drives - haven't tried anything larger, no need to.
 
So that leaves me with two slave hdds with capacities larger than the 8.5GB limit. I believe both disks were wiped clean when I got my hands on them. I suspect that NT 4.0, unable to find any partition data, wrongly assumed that BIOS could be counted on to know each hdd's true size.
 
NT 4.0 formatted both hdds on the basis that they were only 8.5gb . (Each slave hdd now has three partitions.)
 
I assume that the CHS count goes hand-in-hand with the hdd's size.
 
Can I manually change the CHS figures / edit disk geometry? Yes, I know, very risky. Back everything up first. Any freeware/shareware products that can do this without me having to first reformat the drive? Preferably command-line programs that don't take up much space.

Edited by computerdownhouse, 01 February 2018 - 04:34 PM.


BC AdBot (Login to Remove)

 


#2 JohnC_21

JohnC_21

  • Members
  • 23,973 posts
  • ONLINE
  •  
  • Gender:Male
  • Local time:03:44 PM

Posted 01 February 2018 - 06:05 PM

Edit: You can ignore my post: I made a wrong assumption.

 

I don't know of any software that can change the CHS of a hard drive. You can change the CHS settings in BIOS if allowed. Have you tried booting a Partition Manager like Gparted and formatting the drive to it's full capacity. 


Edited by JohnC_21, 02 February 2018 - 08:02 AM.


#3 Platypus

Platypus

  • Moderator
  • 14,661 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Australia
  • Local time:05:44 AM

Posted 02 February 2018 - 03:11 AM

I assume that the CHS count goes hand-in-hand with the hdd's size.

 
Yes, that's why the CHS drive size limit is a hard limit, since no CHS addresses exist beyond the values that produce the 8.*GB drive capacity.

LBA drives with larger capacities than this report maximum possible CHS values and operate in CHS mode when the system doesn't implement at least 28-bit LBA.

Flash drives are a different issue since they aren't directly addressed on the ATA interface and are not recognized by the BIOS as CHS hard disk drives.

For accessing an LBA drive larger than allowed by CHS addressing, the options are BIOS update if available, mainboard update if available, IDE controller board implementing LBA, a Dynamic Drive Overlay if available (and works under NT 4.0).

Top 5 things that never get done:

1.


#4 computerdownhouse

computerdownhouse
  • Topic Starter

  • Members
  • 31 posts
  • OFFLINE
  •  
  • Local time:03:44 PM

Posted 02 February 2018 - 04:53 PM

Since my OS successfully read the entire contents of the 19gb NTFS hard drive, what conclusion should I draw? An LBA friendly OS, in which case no need for DDO?


Edited by computerdownhouse, 02 February 2018 - 04:53 PM.


#5 JohnC_21

JohnC_21

  • Members
  • 23,973 posts
  • ONLINE
  •  
  • Gender:Male
  • Local time:03:44 PM

Posted 02 February 2018 - 05:08 PM

Okay, I guess I did make the right assumption. I thought the 19GB drive was not fully read. This drive has one partition over the 8.5GB limit, correct? I would attempt to repartition and format the drive with the 3 Partitions using a live CD of GParted. You want to first create a new MSdos partition table then create a new ntfs primary partition spanning the full disk. All steps are virtual and will not complete until you click the green check mark or Apply.

 

 Select your device in the upper right dropdown box. Your drive could be sdb or sdc.

 

select-device.png

 

For New Partition table select Device > New Partition Table. Select msdos

 

IDFIh.png

 

When creating a new primary partition make sure you align to cylinders and not Mib.

 

https://gparted.org/ 

 

https://www.dedoimedo.com/computers/gparted.html

 

Maybe this will not work if it depends on the drive itself. I don't know but you can give it a try if you want.


Edited by JohnC_21, 02 February 2018 - 05:10 PM.


#6 Platypus

Platypus

  • Moderator
  • 14,661 posts
  • OFFLINE
  •  
  • Gender:Male
  • Location:Australia
  • Local time:05:44 AM

Posted 02 February 2018 - 06:33 PM

I'm finding it a bit difficult to reconcile some of the information, by what means were you able to confirm that the entire contents of the larger drive could be accessed? Are the 19GB drive you first mentioned, and one of the two 8G freshly formatted drives the same drive?

Initially, it's possible that a 19GB drive could be read in CHS mode, where it will report to the BIOS as 8.4GB, but since all the NTFS file structures and much of the data exist within that portion of the drive, still read fine under Windows whilst only accessing locations within the first 8.*GB.

Have you confirmed the operating mode of the drives in the BIOS setup? Some early LBA enabled BIOS do not automatically detect modes, default to CHS and have a separate section in the setup screen menus for detecting or setting LBA mode.

Edit: note - it was normal for a pre 28-bit LBA BIOS to use the term "LBA" for the CHS translation mode that enables up to 8.*GB operation with Enhanced IDE drives. This is confusing, since it is 28-bit LBA that extends the usable IDE/ATA drive capacity to 137GB.

 

A BIOS dated prior to Jan 1998 will not implement true LBA.


Edited by Platypus, 02 February 2018 - 07:06 PM.

Top 5 things that never get done:

1.


#7 DavisMcCarn

DavisMcCarn

  • Members
  • 841 posts
  • OFFLINE
  •  
  • Gender:Male
  • Local time:03:44 PM

Posted 03 February 2018 - 10:56 AM

I kept a PC with just such a BIOS around for years expressly because I could set the CHS values to what the partition table said the drive was; but, from experience I should add a huge (!!!) caution, if you exceed the bits used by the BIOS to determine  which sector is to be read or written, operations that need that extra bit will, instead, go back to the remainder and perform the operation there.  What this means is that a write operation at 8.40001 GB will instead write at .00001GB and you're suddenly in very deep kimchi!  In the 1990's, we saw this hundreds of times at my shop in Virginia. (partition tables wiped, FAT tables overwritten, root directories gone, etc.)


Computer dinosaur, servicing PC's since 1976

#8 computerdownhouse

computerdownhouse
  • Topic Starter

  • Members
  • 31 posts
  • OFFLINE
  •  
  • Local time:03:44 PM

Posted 03 February 2018 - 12:29 PM

There are four disks in total.
 
My O/S disk is less than 8gb and not an issue here. Let's ignore it.
 
I have two slave drives greater than 8gb. These two slave drives likely had no partition data when I obtained them. BIOS and my O/S claim these drives only have 8gb.
 
I subsequently borrowed a 19gb NTFS drive. Win NT 4.0's Disk Administrator recognized the entire drive. Chkntfs found no problems. A disk editor program found all the sectors. A massive mpeg file was located at the end of this hdd. The sector location and sector count were consistent with a 19gb hdd. The mpeg played okay. This hdd had many media files. I played a number of them found at different spots throughout the hdd. No problems. I did not boot from this disk.
 
I strongly believe that Win NT 4.0, when faced with a hdd containing no partition data, wrongly trusts BIOS to supply the correct specs. After all, NT 4.0 lacked USB support, defragment utilities, FDisk and could not read Fat32. Utilities now exist to correct at least three of these defects.
 
On a whim, I edited one slave drive's partition table. I created a fake fourth partition entry to reflect the 4mb (yes, megabyte) of unused space at the end of the recognized 8gb portion of the drive. I changed this partition's total sector count to 24mb (megabyte). I did not attempt to format the new partition because of the potential wraparound issue. I also fiddled with the partition id (Primary FAT16 partition ending cylinder 1023 or lower, Primary FAT16 partition ending cylinder 1024 or later, etc.). And yes, I did backup the PT and MBR onto another disk before doing anything this risky.
 
What can I say? I like a challenge. I figure there must be some way to crack this problem short of finding an LBA BIOS computer or upgrading to a newer O/S.
 
EDIT: Deleted paragraph about atapi.sys. I have the correct service pack version

Edited by computerdownhouse, 03 February 2018 - 02:49 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users