如何使用fdisk扩展逻辑分区和扩展分区


14

我正在尝试扩展/ dev / sda5分区,它是扩展分区/ dev / sda2下的逻辑分区。

我想使用fdisk

步骤应该是删除两个分区,然后使用完全相同的起始扇区(1001470和1001472)重新创建它们。直到创建逻辑分区(最小起始扇区大于所需数量)(1003518),它才能顺利进行。

$ sudo fdisk / dev / sda
命令(m以获取帮助):p
磁盘/ dev / sda:9.8 GiB,10485760000字节,20480000扇区
单位:1 * 512的扇区= 512字节
扇区大小(逻辑/物理):512字节/ 512字节
I / O大小(最小/最佳):512字节/ 512字节
Disklabel类型:dos
磁盘标识符:0x0cd7105f

设备启动起始端扇区大小ID类型
/ dev / sda1 * 2048 999423 997376 487M 83 Linux
/ dev / sda2 1001470 16775167 15773698 7.5G 5扩展
/ dev / sda5 1001472 16775167 15773696 7.5G 83 Linux


分区5已删除。
分区2已删除。

命令(m以获取帮助):n
分区类型
   p主要(1个主要,0个扩展,3个免费)
   e扩展(逻辑分区的容器)

选择(默认p):e
分区号(2-4,默认为2):
第一个扇区(999424-20479999,默认999424):1001470 
最后一个扇区,+ sectors或+ size {K,M,G,T,P}(1001470-20479999,默认20479999):
创建了一个新的分区2,类型为“扩展”,大小为9.3 GiB。

命令(m以获取帮助):n
主分区的所有空间都在使用中。
添加逻辑分区5
第一扇区(1003518-20479999,默认1003520):1001472

价值超出范围。

我已经用parted做到了,但是使用fdisk应该可以实现。

$ fdisk -V
fdisk from util-linux 2.27.1

Answers:


11

在普通界面中,Linux的fdisk将对齐约束应用于分区。哪些限制取决于fdisk的版本。较早的版本默认为圆柱对齐,以便与与LBA不兼容的较早的操作系统兼容。当LBA已有20余年的历史时,fdisk默认情况下不再使用这种古老的系统,而是切换到1MB对齐,这在现代存储介质上提供了更好的性能。

在当前版本的fdisk中,要创建具有任何扇区对齐(512B)的分区,您需要首先创建具有所需端点的分区,然后转到专家菜单(x),然后使用命令b调整分区的开头(这会更改分区的大小,而不是更改的结束位置)。看起来确实很笨拙。


像魅力一样工作。您能否详细说明为什么在这种情况下不需要专家模式?

2
@AD,因为在这种情况下,分区对齐在1MB上。
吉尔斯(Gilles)“所以

没错,我尝试扩展对齐的分区,即使没有专家模式也可以使用。

14

根据Gilles的回答采取的步骤:

$ sudo fdisk / dev / sda

欢迎使用fdisk(util-linux 2.27.1)。
更改将仅保留在内存中,直到您决定将其写入。
使用write命令之前请小心。


命令(m以获取帮助):p
磁盘/ dev / sda:9.8 GiB,10485760000字节,20480000扇区
单位:1 * 512的扇区= 512字节
扇区大小(逻辑/物理):512字节/ 512字节
I / O大小(最小/最佳):512字节/ 512字节
Disklabel类型:dos
磁盘标识符:0x0cd7105f

设备启动起始端扇区大小ID类型
/ dev / sda1 * 2048 999423 997376 487M 83 Linux
/ dev / sda2        1001470 16775167 15773698 7.5G 5扩展
/ dev /        sda5 1001472 16775167 15773696 7.5G 83 Linux

命令(m以获取帮助):d
分区编号(1、2、5,默认为5):2

分区2已删除。

命令(m以获取帮助):n
分区类型
   p主要(1个主要,0个扩展,3个免费)
   e扩展(逻辑分区的容器)
选择(默认p):e
分区号(2-4,默认为2):
第一扇区(999424-20479999,默认999424):1001470
最后一个扇区,+个扇区或+个大小{K,M,G,T,P}(1001470-20479999,默认为20479999):

创建了一个新的分区2,类型为“扩展”,大小为9.3 GiB。

命令(m以获取帮助):n
主分区的所有空间都在使用中。
添加逻辑分区5
第一扇区(1003518-20479999,默认为1003520):
最后一个扇区,+个扇区或+个大小{K,M,G,T,P}(1003520-20479999,默认20479999):

创建了一个新的分区5,类型为“ Linux”,大小为9.3 GiB。

命令(m以获取帮助):x


专家命令(m寻求帮助):b
分区号(1、2、5,默认为5):
新的数据开始(1001471-20479999,默认1003520):1001472

专家命令(m寻求帮助):p

磁盘/ dev / sda:9.8 GiB,10485760000字节,20480000扇区
单位:1 * 512的扇区= 512字节
扇区大小(逻辑/物理):512字节/ 512字节
I / O大小(最小/最佳):512字节/ 512字节
Disklabel类型:dos
磁盘标识符:0x0cd7105f

设备启动起始端扇区ID类型起始C / H / S终止C / H / S属性
/ dev / sda1 * 2048 999423 997376 83 Linux 0/33/32 62/55/53 80
/ dev / sda2        1001470 20479999 19478530 5扩展62/23/86 250/23/209
/ dev /        sda5 1001472 20479999 19478528 83 Linux 62/57/118 250/23/209

然后r(返回主菜单)和w(将表写入磁盘)。


-1

Fdisk是旧程序,它仅了解MBR分区。我认为您的问题出在改变磁盘的几何形状(磁头,每个磁道的扇区和磁道)。通过dd命令将数据从旧磁盘复制到新磁盘(扇区到扇区副本)后,您得到的分区未对齐以启动磁道扇区。这就是为什么fdisk不允许您先创建启动分区扇区,然后再将其对齐到旧磁盘上的磁道扇区的起始位置。

您可以尝试通过扩展菜单中的命令在fdisk程序中更改新磁盘的几何形状,但这是错误的方式。使用part和gparted程序代替旧的fdisk。

现在,读取和写入速度不再依赖于对齐每个分区的起始磁道扇区。


fdisk的现代版本也理解GPT,但这与本文无关。问题不一定是改变了磁盘的几何形状,而只是fdisk的非专家界面的局限性。
吉尔斯(Gilles)'所以

这是MBR :Disklabel type: dos。我记得part抱怨它没有对齐,所以我可以尝试将其对齐然后扩展。我确定我在fdisk中看到了相同的过程,并且运行正常。
公元
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.