这些分区是否正确对齐?

这些分区是否正确对齐?

我曾是受到推崇的使用 Ubuntu 而不是 XP 来对我的新 SSD 进行分区。但是,我没有找到diskpar,所以我使用了 GParted。分区表类型是 msdos,fdisk 报告以下内容:

   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

这是正确的吗?考虑到所有这些奇数,我不这么认为,但我不知道。那里还没有数据,所以我可以把它们全部扔掉,我需要移动分区的工具。


编辑:

根据到这个帖子, 这是不对的。


编辑2:

问题:

我编辑了这个问题以展示我所学到的知识。分区对齐不是骗局。第一个扇区是引导扇区,每当您的分区紧跟在它之后开始时,它都会从开头偏移 512 字节。操作系统使用由多个扇区组成的簇,例如,1 个簇 = 8 个扇区 = 4096 B。簇是操作系统关心的最小单位。

SSD 使用页面大小(据我所知通常为 4 KiB)作为最小可写单位。

  • 假设这些大小,在对齐的情况下,每当操作系统写入一个簇时,它都会与 SSD 页面相对应。SSD 只需写入页面即可。
  • 在未对齐的情况下,它跨越两个页面。SSD 必须读-修改-写两页!

我的分区:

我使用了 fdisk,忽略了整个磁柱/磁头问题。我将第一个分区的偏移量设置为 1 MiB(即 2048 个扇区),大小设置为 30 GiB(输入 +30G 即可轻松完成)。对于以下分区,我保留了默认偏移量,并将大小设置为 1 GiB 的倍数。一切看起来都很好,除了 (G)Parted 在启动时立即崩溃。根据计算器我输入的所有实际 SSD 参数都没问题。Windows 和 Linux 都可以访问该分区,所以我认为没人再关心柱面了。

答案1

看起来不是。我使用

fdisk -H 224 -S 56 /dev/sdX

按照建议这里并让第一个分区从偏移量 58720256 = 56 * 2**20 开始(因此损失了 58MB)。现在,parted 甚至无法启动(消息“不能在磁盘外有分区!”),但磁盘工作正常,并且根据我有限的知识和计算器, 一切安好。

答案2

不存在真正的“奇数”,因为分区涉及在设计时设置任意数字。不存在真正的“对齐”,因为如果您需要在分区中多留 1 千字节,他们就会允许您这样做。

相关内容