2

(provided that partition and filesystem alignment on SSD makes sense:)

When doing partition alignment on SSDs, there is at the beginning some unused space (e.g. about 1 MiB, if the first partition starts at sector 2048, when logical sector size is 512 bytes).

Are there any drawbacks in using that space (one could have a tiny partition holding GRUB, or, one could also start the root file system not at sector 2048 but e.g. at 64 MiB, and use the space before as /boot partition. The file system might be unaligned, but it is seldomly written to)?

I cannot see anything speaking against it (besides from loosing one primary partition when using DOS partition layout), is there anything not obvious speaking against it? (I also see that there is not much benefit trying to use that very first 1-4 MiB of space, except that it might "look better" not to waste it).

closed as off-topic by Patrick, Golar Ramblar, G-Man, ilkkachu, thrig Apr 14 '17 at 21:33

  • This question does not appear to be about Unix or Linux within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    This doesn't look to have anything to do with unix or linux. – Patrick Apr 13 '17 at 19:22
  • 2
    I'm voting to close this question as off-topic because it has nothing specific to do with Unix or Linux. Move it to superuser? – Golar Ramblar Apr 13 '17 at 20:27
2

The 1MB offset was chosen because it's pretty much guaranteed to be aligned, no matter the underlying storage. It was first picked when magnetic disks changed to 4KiB sectors. But aligned is aligned, and it shouldn't matter.

Story time!

When I had to get my first 4K disks to work in old arrays, I'd start the partition at sector 56 (vs. the traditional 63), because moving to sector 64 wasn't possible: then the partition wouldn't be large enough to join the RAID array. On a DOS partition table, this took away some space used for GRUB, but thankfully I still had enough. Later when getting larger disks, I moved to sector 2048. The disk is larger, so the partitions can still be large enough to join the RAID arrays. Of course, having the disks in a system be different adds sysadmin work—but, well, such is life. (Thankfully, I've been able to retire most of those systems).

1MB of space on a multi-TB magnetic disk is not noticeable. Nor is it on a many-hundred-GB SSD. I confess it does irk me a little to be wasting space—I mean, I grew up in the era where 120MB was a huge hard disk, and the operating system could fit on a floppy disk. 1MB!? That's a whole operating system!

It has a huge advantage, though: It is aligned for 4K disks, it is aligned for SSDs (which have a physical block size of at least 64KiB), it is reasonably easy to make stripe-aligned on an array, and it'll probably be aligned on every reasonable storage technology for quite a while.

But if you've got a single disk, there really aren't any downsides, except being nonstandard (e.g., if I were trying to recover data a disk after a lost partition table, I'd check for the partition starting at 2048 first.)

And as for you other alternative: A non-aligned boot isn't really a huge deal. Reads might be a little slower, and writes much slower, but neither happens often at all to notice. However, a 64MB /boot partition is too small, I wouldn't go less than 256MB. Even a targeted (as opposed to generic) initrd is ~5MB, another ~4MB for the kernel, and you're quickly out of a space after a few updates (unless you've very routine about purging old kernels). EFI boot, though, should be OK as long as you're not putting kernels/initrds on there.

1

It's perfectly fine to squeeze a bios_grub partition into 64s-2047s. In the case of DOS partition that's what the first few sectors will be used for anyhow (just without any partition).

For data partitions, actual filesystems, I'd stick with MiB alignment.

0

If the system has a BIOS "boot sector protection" feature enabled, using the entire disk for e.g. software RAID may then make the RAID software unhappy as the BIOS feature prevents (for great security!) writes to those early blocks. So that's one potential drawback of using the entire disk (without reviewing the BIOS for such features and ensuring they are turned off).

Not the answer you're looking for? Browse other questions tagged or ask your own question.