4

I was recommended to use Ubuntu instead of XP to partition my new SSD. However, I didn't find diskpar, so I used GParted. The partition table type is msdos, fdisk reports the following:

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1              63    67119569    33559753+   7  HPFS/NTFS
/dev/sdc2        67121152   134227967    33553408   83  Linux

Disk /dev/sdc: 255 heads, 63 sectors, 15566 cylinders

Nr AF  Hd Sec  Cyl  Hd Sec  Cyl     Start      Size ID
 1 00   1   1    0 254  63 1023         63   67119507 07
 2 00 254  63 1023 254  63 1023   67121152   67106816 83
 3 00   0   0    0   0   0    0          0          0 00
 4 00   0   0    0   0   0    0          0          0 00

Is this correct? Given all those odd numbers, I don't think so, but I have no idea. There are no data there yet, so I can throw it all away, I need to tool for moving partitions.


EDIT:

According to this post, it's wrong.


EDIT2:

The problem:

I edited the question in order to present what I've learned. Partition alignment is no hoax. The first sector is the boot sector, whenever your partitions starts immediately after it, it has an offset of 512 bytes from the beginning. An OS uses clusters which consist of multiple sectors, e.g., 1 cluster = 8 sectors = 4096 B. A cluster is the least unit an OS cares about.

An SSD uses a page size (typically 4 KiB, AFAIK) as the least writable unit.

  • Assuming these sizes, in the aligned case, whenever the OS writes a cluster, it corresponds with the SSD page. The SSD just writes the page.
  • In the misaligned case, it spans two pages. The SSD must read-modify-write two pages!

My partitioning:

I used fdisk and ignored the whole cylinders/heads crap. I set the offset of the first partition to 1 MiB (i.e., 2048 sectors) and it's size to 30 GiB (which is easily done by entering +30G). For the following partitions I kept the default offset and set the size to multiples of 1 GiB. Everything looks fine, except for (G)Parted crashing immediately when starting. According to the calculator it's alright for all realistic SSD parameters I entered. Both Windows and Linux can access the partition, so I think nobody cares about cylinders anymore.

2 Answers 2

0

It looks like they wasn't. I re-formatted it using

fdisk -H 224 -S 56 /dev/sdX

as adviced here and let the first partition start at the offset 58720256 = 56 * 2**20 (so losing 58MB). Now, parted doesn't even start (message "Can't have a partition outside the disk!"), but the disk works fine and according to my limited knowledge and to the calculator, everything's fine.

1
  • The right answer is in the question now.
    – maaartinus
    Feb 7, 2011 at 17:25
-3

There are no real things as "odd" numbers because partitioning involves setting arbitrary numbers by design. There is no real "alignment", because if you need an extra kilobyte in a partition, they'll let you do that.

5
  • 1
    You lost me. The "SSD alignment" is a quite important thing, Google for it.
    – maaartinus
    Jan 26, 2011 at 13:27
  • From what I googled, it seemed like a hoax. Do you have any specific articles to point me to?
    – digitxp
    Jan 27, 2011 at 23:57
  • I haven't found a good article, so I summarized wrote what I learned in the question.
    – maaartinus
    Feb 5, 2011 at 15:43
  • Partition alignment is needed for Advanced Format hard drives and some OS's, W7 deals with the new Advanced format hard drives without having to re align the partitions, XP does not, not sure how Ubuntu deals with it or if your SSD is Advanced format....bit-tech.net/hardware/storage/2010/04/01/…
    – Moab
    Feb 5, 2011 at 17:08
  • 1
    @digitxp: It is real, I know with 100% certainty. It has nothing to do with functionality, mis-aligned partitions will still 'work'. It's about optimal performance, and extending SSD life longevity. I also would like to mention, alignment should also be optimal when dealing with RAID or LVM. Apr 25, 2012 at 4:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .