I am trying to chop a 4TB (4,000,225,165,312 bytes) drive up into even partitions of 1TB.
I want these partitions to be further dividable to at least 1^3 Byte (~1GB) (1000000000) partitions.
Okay, so after hours of distilling, I've found a couple of conflicting conclusions:
- with Gparted I cannot make a 1000000000 byte (953.67431640625 MB) partition
- with KDEparted I can select bytes 1000000000 byte partition, it ends up 1000341504
- turns out 954MB is 1000341504 Bytes
- this doesn't scale as 1000341504*1000*4 (~4TB) is 4001366016000, larger than the drive
- when I make one 1,000,000,000,000 it ends up 1,000,000,716,800
- so there is extra overhead that decreases with increasing total size
- KDEparted uses sfdisk backend which doesn't use sectors
- Gparted uses alignment to MBs
- with Gdisk I can make a 1000000000000 (1000^4) B (~1TB) partition using 1953125000 Sectors (512 bytes each)
That would be acceptable, to have to use Gdisk to create partitions with sectors and then move them around with Gparted. However, when I delete a 1000^4 B partition and create a new one with Gparted just filling available space, it gives extra bytes 1,000,000,716,800 (143 sectors).
This may be related to the Gdisk warning "Partitions will be aligned on 2048-sector boundaries", but I thought I was maximizing space with Gdisk. Now it looks like I would have to use Gdisk then Gparted then Gdisk again..? Is there a more optimal way of going about this?
A big part was understanding which alignment (bytes, cylinder, MiB) was best, and this post helped: "For this reason a lot of modern partitioning tools simply align the entire drive along a 1M[i]B boundary, which neatly does away with the need to detect whether you have any of the many types of drive, be they 512-byte sectors, 4KB sectors, or SSD with some arbitrary block size." https://superuser.com/questions/393914/what-is-partition-alignment-and-why-whould-i-need-it
Apparently 1 MiB was chosen because of recent drives using 4096 byte size sectors, and SSD 512 delete requirements, and OG 512 sector sizes. What mystified me is how much larger a MiB (1,048,576 bytes) is to 4096 bytes. I still don't understand why, but MiB seems to be the dominant alignment. And is working so far. "2048-sector boundaries" does actually mean 2048*512= 1MiB, not just starting at 2048 bytes, ("MiB alignment" would have been more clear). This link is also helpful: https://www.rodsbooks.com/gdisk/advice.html
I need to think in binary. I cant just multiply by 10.. it won't add up to ~1TB. So again, why is MiB alignment used when it is so much larger than the 4K 4096B sector size?? Is this an attempt for future-proofing?