Jump to content

I can use a 5 TB HDD in XP - how is that possible?


Snear

Recommended Posts

1 hour ago, Tripredacus said:

It is in the specs, such as page 8 in the sizes chart: "Bytes per Sector: 512 (logical) / 4096 (physical)"

I.e. like *any* AF disk around, nothing "new" or "peculiar".

@daniel_k

Good :), and interesting links :thumbup, still none of those shed any light if this is a feature of the specific chip/chipset (triggered or not triggered by this or that driver version) or if it is a feature of this (but not that) driver version (and thus can - at least in theory - be replicated in other drivers). :dubbio:

Maybe - just maybe - it is possible to have a "filter driver" (not entirely unlike - say - cfadisk.sys or dummydisk.sys or karyionix's diskmod.sys) capable to replicate the behaviour on other controllers. :unsure:

jaclaz

Edited by jaclaz
Link to comment
Share on other sites


On 1/5/2020 at 8:38 AM, Snear said:

It seems like this "virtual sector size" feature was part of some early version of the AMD AHCI driver, but has been removed eventually.

Thanks for the testings and the report. I wasn't aware of this 2048 bytes sector feature in real world.

What about the future? The mainboard may fail in some years.
Swap the disk to another system? Swap the disk to a USB case? How to mount the partition then? 
Choose a choice depending on your situation. different data importance:  data loss is acceptable or data loss is not acceptable.

What to do with the 5 TB disk finally?
Rely on a specific driver version? And use  2048 bytes sectors? 
Any chance to read the disk at another approach?
Does a default Win10 DVD mount the disk?
Does ntfs-3g support 2048 bytes sectors? Is there a parameter?

The Asus M5A88-M provides a PCI slot still. A Promise PCI controller can be attached.  This may be another chance.
But: are there mainbords with PCI slot in future? Are there drivers?

Or try another driver with 512 bytes per sector.  This should be readable now and in future.
Two partitons at MBR should provide each 2 TiB, sums to 4 TiB. About a CD data is missing from the 5 TB disk.
No idea, if this is possible with default XP IDE drivers.


Given average importand data: I would choose the 2048 bytes per sector.
And create a 32 bit PE with the AMD drivers integrated. Second booting with data access is possible.
I would igore a mainborad failure.

Link to comment
Share on other sites

@jaclaz

Pretty sure this is a driver feature.
Basically it does what certain USB to SATA bridge controllers do.

It detects the disk geometry and automatically changes the sector size reported to Windows according to the table I've posted earlier.
At the same time, it "combines" as many 512 bytes sectors as need to match the sector size reported.

The driver has some kind of protection.
I've almost got it to work: currently only detects optical drives.

Link to comment
Share on other sites

@cdob

I wouldn't worry about that as well.

In the worst case (mainboard failure), to recover/access data one can always [1]:

1) make a GPT partition table
2) correct sector/cluster size in the NTFS PBR
3) access the volume from a later OS that undestands GPT or use the Paragon GPT driver on XP (if applicable, would need to be tested)

or :

1) use the disk in an external USB case that does 4096 bytes translation
2) correct the MBR and NTFS PBR

(more or less what is done in the mentioned thread about switching between 512 and 4096 bytes sector, that approach needs a complicated partitioning scheme to allow for the automatical switch, but manually it is not an issue at all to change a few bytes in the MBR and PBR)

I will re-state (if it was needed) that filesystem access is based on clusters and as long as the clusters are the (regular for a NTFS volume of that size) 4096 bytes (i.e. a multiple of *any* physical sector size possible) everything can be "fixed".

The issue may come if the cluster size is smaller than that, i.e. 2048 bytes (but i believe it would have needed to be "forced" when formatting), then using the GPT approach is the only way to access the whole volume (through 512 bytes/sector).

Anyway, if I were Snear, I would re-create the partition with the "new" 2048 sectors-before paradigm (or 64 or 128, etc.), which is more suitable to a 4096 physical sector and  (normally) 512 bytes logical sector disk, and that could make it a tad bit faster in use.

jaclaz

[1] actually, once said that very few things are as ugly as a hybrid MBR/GPT disk, I see nothing preventing the creation of the GPT structures even now and test the disk connected "normally" (i.e. exposing 512 bytes sector) on a later OS, let's say 7, if the structures are present, changing the  involved data (partition table entry and geometry data in the PBR) is just a bunch of bytes and this way one would have a tested "way out" solution in case of disaster.

 

Link to comment
Share on other sites

I think, without having performed a physical test, that the system works because:
1- BIOS / UEFI supports LBA48
2- The driver ahcix86.sys 3.1.1540.86 supports LBA48
3- Format in 2048 bytes per sector has a 8 TB maximum partition size.
Example:
512 cluster
2 ^ 32x512 = 2TB limit
2048 cluster
2 ^ 32x2048 = 8TB limit
65536 cluster
2 ^ 32x65536 = 256 TB limit
It may be normal for this disk to not work on Windows Seven (NT 6.1) if the system is not updated. Only the latest versions support MBR discs larger than 2TB.
The hard disk has to work correctly in Linux, at least since 2010, and in Windows 10.
Recently a curious fact happened to me on USB disks. After firmware updating the reader Logilink USB 3.0 IDE & SATA, the device has stopped reading USB hard drives larger than 2TB. I had to claim Logilink support send to me the oldversion firmware  AU0028A v.915 for it to work again.
"It seems that someone is upset because we have large hard drives in Windows 2000 and XP"

Edited by Cixert
Link to comment
Share on other sites

NO.

Meaning that sector size and cluster size are "independent".

The sector size "belongs" to the disk, the cluster size "belongs" to the file system.

Here the disk is exposed as having a logical sector size of 2048 bytes, that allows you to have a 1 sector/cluster cluster size, i.e. 2048, but also a multiple of it, i.e. as an example 2 sectors/cluster size i.e. the "normal" 4096 bytes cluster (most current NTFS filesystem of not trivial size will have a cluster size of 8 sectors * 512 bytes=4096 or 1 sector * 4096 bytes=4096).

The 2.2 Tb original limit depends on the 32-bit size of the MBR partition table that sets at 2^32-1=4,294,967,295 the max number of sectors accessible (though there is a work around to roughly double that with a "special" partitioning) so the limit is:

512 bytes sector 4,294,967,295*512=2,199,023,255,040 <- this is what is normally exposed by 512 bytes sectored disk or by AF disks (4096/512) but not by "Native 4K" disks

1024 bytes sector 4,294,967,295*1024=4,398,046,510,080

2048 bytes sector 4,294,967,295*2048=8,796,093,020,160 <- this is what this driver does with a 5 TB disk

4096  bytes sector 4,294,967,295*4096=17,592,186,040,320 <- this is what a number of USB external hard disk controller do to allow larger disk sizes.

jaclaz

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...