首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用parted创建对齐分区

使用parted创建对齐分区
EN

Unix & Linux用户
提问于 2012-05-08 18:58:45
回答 5查看 223.7K关注 0票数 93

我用parted对非SSD硬盘进行分区,因为我需要一个GPT分区表。

代码语言:javascript
复制
parted /dev/sda mklabel gpt

现在,我正在尝试创建对齐正确的分区,因此我使用以下命令来了解第一个扇区的起始位置:

代码语言:javascript
复制
parted /dev/sda unit s p free

Disk /dev/sda: 488397168s
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End         Size        File system  Name      Flags
        34s    488397134s  488397101s  Free Space

我们可以看到它在扇区34中启动(这是使用此分区表时的默认情况)。

因此,为了创建第一个分区,我尝试了:

代码语言:javascript
复制
parted /dev/sda mkpart primary 63s 127s

在扇区64上对齐,因为它是8的倍数,但它显示:

警告:结果分区没有正确地对齐以获得最佳性能。

我的硬盘中的逻辑扇区和物理扇区大小都是512字节:

代码语言:javascript
复制
cat /sys/block/sda/queue/physical_block_size
512

cat /sys/block/sda/queue/logical_block_size 
512

如何创建正确对齐的分区?我做错了什么?

EN

回答 5

Unix & Linux用户

回答已采纳

发布于 2012-09-27 08:44:53

为了使分区与parted对齐,可以使用--align选项。有效的对齐类型是:

  • 无-使用磁盘类型允许的最小对齐方式。
  • 汽缸-对齐隔板到钢瓶。
  • 最小化-使用磁盘拓扑信息给出的最小对齐方式。此值和opt值将使用磁盘提供的布局信息将逻辑分区表地址与磁盘上的实际物理块对齐。最小值是正确地将分区对齐到物理块所需的最小对齐,从而避免了性能下降。
  • 最优使用磁盘拓扑信息给出的最佳对齐方式。这将以确保最佳性能的方式与物理块大小的倍数对齐。

其他有用的提示是,您可以设置大小与百分比,以使它对齐。从0%开始,到100%结束。例如:

parted -a optimal /dev/sda mkpart primary 0% 4096MB

票数 106
EN

Unix & Linux用户

发布于 2017-10-28 18:55:40

接受@lik的答复展示了如何指定首选对齐方式。然而,parted总是使用这种对齐来检查结果分区,但并不总是使用这种对齐来创建分区。

TL;DR:当1 1MiB是最佳对齐方式时,指定0%将适用于200 1MiB和更大的磁盘。对于较小的磁盘或较大的对齐方式,指定0G可以在0%不能工作的情况下工作。请看下面的原因。

Parted在创建分区时确实尝试满足对齐约束,但它也不会过多偏离所请求的值。什么是“太多”取决于您如何指定位置。

当您为mkpart命令指定一个start (或end)位置时,它在内部会生成一系列可接受的值。这个范围以您指定的值为中心,并在两边平均扩展一半您使用的单位大小(这就是I 从代码中读取评论说在两端的一个完整的单位大小)。

例如,当您指定"10M“时,它将尝试使用9.5M到10.5M之间的任何位置。百分比也是如此,所以如果指定0%,它将使用0%到0.5%之间的任何值(很明显,它不会变成负值)。

一个例外情况是,当使用两个单位的功率(例如,KiB为1024,而K为1000)时,分离假设您试图指定一个确切的位置,并且只考虑您指定的确切值。

由于最优对齐通常看起来是1 1MiB对齐,K和M单元通常没有足够的空间来达到最佳对齐。在G中指定位置应该有足够的空间,但是%通常也可以。

所以,这就是为什么0%通常有效的原因,尽管这也有限度。

票数 18
EN

Unix & Linux用户

发布于 2012-05-09 13:01:10

我的解决方案是使用gdisk,它可以在默认情况下在2048扇区(1024 the )上自动执行分区对齐,尽管它可以在“专家”菜单中更改。

票数 12
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/38164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档