错位分区

mar*_*ria 2 installation partitioning

我刚刚安装了 ubuntu 12.04。我还没放我的数据,我想之前确保安装没问题。我收到有关未对齐分区的磁盘实用程序警告。

/sda1sda2扩展分区与sda5用于交换和sda6/home。光盘上没有其他分区。从关于同一问题的其他问题中,我了解到我应该从实时 USB 启动我的计算机并使用 gParted 解决问题。问题是当我从 live U 盘启动我的计算机并进入尝试模式时,两个主分区都已挂载,因此我无法对其进行任何操作。

由于我还没有任何数据,我什至可以重新安装系统,但我应该知道如何设置安装程序以正确方式对齐分区。我选择不使用没有分区的安装选项,因为我想/home在单独的分区上安装。我也可以尝试使用当前安装来修复它,但我不知道如何卸载交换分区(我不确定这是否合理)。

这是输出fdisk -lu

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00027dec

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    29999103    14998528   83  Linux
/dev/sda2        30001150   625141759   297570305    5  Extended
Partition 2 does not start on physical sector boundary.
/dev/sda5        30001152    33998847     1998848   82  Linux swap / Solaris
/dev/sda6        34000896   625141759   295570432   83  Linux
Run Code Online (Sandbox Code Playgroud)

磁盘为ATA ST320LT007-9ZV142

谢谢

Rod*_*ith 6

事实上,弗兰克只是部分正确。问题在于选择了 MiB 对齐;这实际上是正确的对齐方式。(选择柱面对齐肯定是错误的。)当使用 MiB 对齐时,分区对齐到 1MiB 边界——也就是说,它们从编号为 2048 的倍数的扇区开始。由于 2048 是 8 的倍数,这意味着所有分区从 8 的倍数开始,这是高级格式磁盘的最佳性能所必需的。大多数现代硬盘都是高级格式型号,因此作为一般规则,您应该在现代磁盘上使用 1MiB(或至少 8 个扇区)对齐。有关这方面的更多信息,请参阅为 IBM developerWorks撰写的有关该主题的文章

如果您检查起始扇区号,您会看到它们都在 2048 扇区边界上对齐,除了一个:/dev/sda2。现在似乎fdisk正在提供有关此Partition 2 does not start on physical sector boundary信息的警告。此消息是误报。是的,它确实不适合 8 扇区边界 (30001150 / 8 = 3750143.75);但/dev/sda2也是我刚刚制定的规则的一个例外。它是一个扩展分区,这意味着它是逻辑分区的占位符。与未对齐分区相关的速度问题的发生是因为文件系统数据结构是以 4KiB(8 扇区)块读取和写入的;但是唯一可以直接访问的数据/dev/sda2是指向它包含的第一个分区的指针,这是一个 512 字节的数据结构,因此无论扩展分区的起点是什么,它都只占用物理扇区的一部分。更重要的是,这个数据结构在计算机启动时被读取一次,很少被写入。因此,扩展分区上的对齐方式无关紧要,任何抱怨它们未对齐的工具都会无缘无故地引起关注。