分区未对齐 512 字节

分区未对齐 512 字节

我刚买了一台新笔记本电脑。我一直在设置新分区。我通常会插入 Linux liveboot 操作系统,创建分区,然后将操作系统安装到硬盘上。

但是在安装操作系统后,我打开“磁盘工具”,出现警告:

The partition is misaligned by ###bytes. This may result in very poor performance. Repartitioning is suggested

出现在驱动器中每个选定分区上。尽管我已经对整个磁盘进行了 2-3 次分区和重新分区,警告仍然存在。

最初我以为是某个错误造成的。但错位问题一直没有消失。上次我分区时,一个分区没有任何错位。其他分区都错位了。

我通常这样分区我的驱动器:

    |--Part1--|--Part2--|--Part3--|----Extended Partition----|
    |---------|---------|---------|---swap---part5---part6---|

在我之前的笔记本电脑上,我多次使用过这种方案。但它在这个新硬盘上效果不好。我尝试过 Mint 和 Ubuntu。我现在用的是 Mint,它的分区没有错位

更新 1

运行时sudo fdisk -l /dev/sda输出如下:

/dev/sda1              63    80276804    40138371   83  Linux
Partition 1 does not start on physical sector boundary.
/dev/sda2        80277504   136921087    28321792   83  Linux
/dev/sda3   *   136921995   215046089    39062047+   7  HPFS/NTFS/exFAT
Partition 3 does not start on physical sector boundary.
/dev/sda4       215046151   976768064   380860957    5  Extended
Partition 4 does not start on physical sector boundary.
/dev/sda5       215046153   220909814     2931831   82  Linux swap / Solaris
Partition 5 does not start on physical sector boundary.
/dev/sda6       220909878   390829319    84959721    b  W95 FAT32
Partition 6 does not start on physical sector boundary.
/dev/sda7       390829383   976768064   292969341    b  W95 FAT32
Partition 7 does not start on physical sector boundary.

更新2

/sys/block/sda/queue/physical_block_size 显示 4096。

我的华硕 X55C 上的硬盘是日立 HTS5。所以我猜它是 2009 年以后制造的。

我在使用 Linux Mint Cinnamon 实时启动 USB 安装操作系统时对该驱动器进行了分区。看到警告后,我使用 Ubuntu 12.04 实时启动 USB 再次对该驱动器进行了完全分区。我同时使用 Linux Mint 和 Ubuntu 12.04 一段时间。然后我删除了 Ubuntu。

更新 3-问题的解决方案

如之前所观察到的,只有一个分区正确对齐。因此,我运行GParted,删除未对齐的分区,然后重新创建它们。我注意到以下几点:

  1. 如果我尝试在 中创建分区Disk Utility,就会出现错位。但如果我在 中创建分区GParted,它会强制放入最小值preceding 1 MiB freespace。现在没有错位。
  2. 我有一个NTFS安装了 Windows 的分区。但它错位了大约 2000 字节。因此,我尝试将其移动,并在其前面留出 1 MiB 的可用空间。一切顺利,但当我没有看屏幕时,GParted 崩溃了。但我几乎可以肯定,如果该过程完成,错误就会得到纠正。

我删除了除 /dev/sda2 之外的所有先前分区,并使用 重新创建它们GParted。这是 的输出sudo fdisk -l /dev/sda

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048    80277503    40137728   83  Linux
/dev/sda2        80277504   136921087    28321792   83  Linux
/dev/sda3       136921088   200579071    31828992   83  Linux
/dev/sda4       200579072   976773119   388097024    5  Extended
/dev/sda5       200581120   206725119     3072000   82  Linux swap / Solaris
/dev/sda6       206727168   413573119   103422976    7  HPFS/NTFS/exFAT
/dev/sda7       413575168   620421119   103422976    7  HPFS/NTFS/exFAT
/dev/sda8       620423168   976773119   178174976    7  HPFS/NTFS/exFAT

我的问题

请帮助我理解这个问题。由于我尚未收到完整的答案,因此我的问题如下:

  1. 这次用的工具我以前也用过,那为什么分区会错位呢?
  2. 这可能是由于硬盘的物理问题造成的吗?
  3. Ubuntu 和 Linux Mint 实时启动安装程序中的分区工具是否存在此类问题?

无法使用磁盘实用程序对驱动器进行分区,但可以使用 GParted 1 MiB freespace preceding aligned to MiB

答案1

某些工具会针对此问题发出错误警报。要验证问题,您必须使用以扇区为单位显示分区起始点的工具。对于 MBR 磁盘,您可以使用fdiskparted及其unit s选项。对于 GPT 磁盘,您可以使用gdiskparted及其unit s选项。例如:

fdisk -l /dev/sda
parted /dev/sda unit s print
gdisk -l /dev/sda

您需要以root或 使用 的形式输入这些命令sudo。输出的细节因程序而异,但大致如下:

$ sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.8

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): B322E151-7686-4B94-ACDF-F8F4CC2E9813
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 8-sector boundaries
Total free space is 6690 sectors (3.3 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          390625   189.7 MiB   EF00  EFI System
   2          390626          803249   201.5 MiB   8300  Gentoo /boot
   3          803256         1212850   200.0 MiB   8300  Unused
   4         1212851       976768064   465.2 GiB   8E00  Linux LVM data (nessus)
   5       976768065       976768464   200.0 KiB   EF02  BIOS boot partition

(请注意,如果您使用并看到列下fdisk带有代码的分区,则您有一个 GPT 磁盘,其输出毫无用处。您eeId必须使用partedgdisk非常GPT 磁盘上的最新内容fdisk

检查起始扇区值。正确对齐的分区的起始扇区值应为 8 的倍数。在此示例中,分区 1 和 3 已正确对齐,但分区 2、4 和 5 未对齐。对于 MBR 磁盘,请忽略扩展分区的任何“未对齐”;只有主分区和逻辑分区需要正确对齐。

还请注意,8 扇区对齐仅对高级格式 (AF) 磁盘很重要。(SSD 和某些类型的 RAID 阵列有自己的对齐问题。细节各不相同,但对齐到 2048 个扇区适用于大多数磁盘。)如果您的磁盘是较旧的非 AF 磁盘,则不必担心此问题。AF 于 2009 年底首次推出,但即使在 2010 年,许多新磁盘也不是 AF 型号。今天,大多数新磁盘都使用 AF,但我不知道有多少(如果有的话)非 AF 磁盘正在销售。

有关详细信息,请参阅For more information, see我关于这个主题的文章


编辑:您的大多数分区都未对齐;只有分区 #2 从 8 扇区边界开始。我的直觉是,您的分区最初是使用旧分区工具布局的 — — 该工具使用柱面对齐而不是 1-MiB 对齐。

这可能重要也可能不重要;这取决于磁盘是否使用高级格式化技术。确定这一点的最可靠方法是检查制造商的技术规格表;但是,文件/sys/block/sdX/queue/physical_block_sizesdX驱动器标识符在哪里,例如sdasdb可能掌握可靠的信息。

当然。如果它读取4096,则该磁盘几乎肯定是高级格式型号。如果它的值为512,则您可能没有高级格式磁盘——或者内核可能错误地报告了此数据。如果磁盘的日期早于 2009 年 12 月,则不是高级格式磁盘。

有关更多信息,请阅读我的 IBM developerWorks 文章


编辑2:请参阅上述文章。该问题是由于使用过时的分区软件造成的。最近的 Linux 工具(包括 Ubuntu 和 Mint 的安装程序)应该不是除非您使用高级选项更改对齐策略,否则不会产生此问题。此问题不能由有缺陷的硬件引起,但您应确保某些 Western Digital 驱动器上的“Windows XP 兼容性”跳线不是放。

答案2

我在 Debain 7.0 上遇到了同样的问题。使用 Ubuntu 13.10 GUI 工具进行格式化没有帮助。

最后我使用了fdisk,删除了旧分区并创建新分区。选择起点时,我选择了 2048,警告就消失了。

相关内容