我首先问这个问题超级用户网但没有得到回应。我找到了如何使用 fdisk 对齐 SSD 的分区(Gentoo Wiki 上的 SSD 文章)但尚未找到任何有关对齐 HDD 分区的资源。这种做法是否必要,或者我应该让像 GPartEd 这样的东西默认对齐它们?如果我也应该对 HDD 执行此操作,那么我在哪里可以找到用于命令的扇区和磁头部分的大小的资源?
答案1
如果您现在使用旧的 fdisk 程序,请始终使用它将-uc
显示扇区而不是柱面,并禁用与 MS-DOS 的兼容性。
我的观点是,只需让所有分区在 1MB 边界上开始/结束即可。因此起始扇区应该可以整除 2048。通过简单地将所有内容对齐到最接近的 1MB,您可以将驱动器与 512 和 4096 个物理扇区对齐,还可以正确对齐典型的 RAID(5,6) 块大小 32k, 64k、512、1mb。
答案2
对于未来的 Google 员工,我在 Arch Linux wiki 上找到了这篇文章,它回答了这个问题:“高级格式”。事实证明,您可以使用几个工具来确定磁盘上的扇区大小(smartmontools 和 hdparm)。有关更多信息,请参阅文章。
答案3
我可以举一个需要与圆柱体对齐的例子,但我不知道为什么我真的需要对齐?
我想要什么:使用 Grub2 和 SystemRescueCD.iso 循环启动 UEFI 系统。
启动介质:USB 棒,我有两个 USB 棒,2GiB(与 MiB 对齐有效)和 8GiB(与 MiB 对齐在物理机上失败,但在 VirtualBOX 上运行,在物理 PC 启动时,它不会将其视为可启动 EFI ;与圆柱体对齐使得在此类物理 PC 上可以看到它并可以从中启动)。
我的观察是:
- 如果在 2GiB 上执行 1MiB algin,UEFI 会看到它并让我从它启动 Grub2(在物理 PC 和 VirtualBOX 上)。
- 如果在 8GiB 上执行 1MiB algin,物理 PC UEFI 不会看到/列出它,并且不允许我从它启动 Grub2。
- 如果在 8GiB 上执行 Cylinder algin,物理 PC UEFI 会看到它并让我从它启动 Grub2。
为了测试所有情况,我执行完全相同的步骤(全部在控制台模式下):
- 从 SystemRescueCD 的 ISO 启动
- 用零填充所有随身碟(使用 dd if=/dev/zero ...)
- 使用fdisk创建GPT表
- 定义4个分区(数据[Rest_size]、Grub2[1GiB]、EFI[512MiB]、BIOS_grub[8MiB]),我尝试过gdisk、parted等
- 将适用于 i386-pc 的 Grub(适用于 x86,因此 pendrive 也将在仅 32 位系统上启动)安装到专用分区和 MBR
- 安装适用于 x86_64-efi 的 Grub(适用于 uefi 64 位系统)
我得到的是:
- 2GiB 一个,总是看起来/列为可启动媒体,并且在 VirtualBOX、物理 32 位和物理 64it 上都可以正常启动,无论是否与 1MiB 或柱面对齐。
- 8GiB 一个,并不总是看起来/列为可启动媒体,但是当它被列出时,它可以正常启动,在 VirtualBOX 上总是可以正常启动,在物理 32 位上也可以正常启动,但在物理 64it 上,如果与 1MiB 对齐,它不会被列为可启动媒体,但它如果与圆柱体对齐,则会列出。
为什么会发生这种事?我不知道。
PD:我测试过很多 USB 记忆棒(超过 10 个)、USB 硬盘(超过 5 个)等...在大多数 USB 记忆棒上对齐到 1MiB 总是效果很好,但我发现比在 8GiB LG USB 记忆棒上要好并不总是能很好地工作,它需要与圆柱体对齐。媒体没有缺陷,只是以防万一有人认为这是原因。
PPD:我还发现这样的物理电脑有一些非常奇怪的东西(使用 ctrl+alt+del 时启动时的随机行为),如果我通过在屏幕菜单中按 ctrl+alt+del 来重新启动它,我可以在其中选择从哪里启动,这使得这样的 8GiB USB 有时不会被列出,而其他 USB 却会被列出(当它是使用与柱面对齐创建的时),但如果它与 MiB 对齐,则它不会被列出。
答案4
在现代硬盘驱动器中,分区对齐实际上几乎是神话。几年前,我们开始在 BIOS 中对这些设备使用虚拟几何结构,以克服 DOS 寻址方案中依赖于符合标准的硬件的障碍。 FDISK/CFDISK/GPartEd 等默认情况下都会“柱面对齐”您的分区,这意味着它们将在第一个未分配的柱面位置启动和停止分区。我知道 PARTED 将允许您以扇区为单位指定分区的大小,但我想不出现代硬件有任何实际原因可以做到这一点。除非您有特定要求,否则坚持气缸对齐,它是干净且可预测的。
您有具体原因想要这样做吗?
关于对齐 SSD 分区,我必须阅读您链接的文章...但是由于 SSD 并没有真正的磁头、柱面或磁道,我无法想象您想要这样做的原因在它们上对齐分区。