为什么创建扩展分区时必须嵌套交换分区?

为什么创建扩展分区时必须嵌套交换分区?

我不想用完最后一个主分区,因此我创建了新的交换分区作为扩展分区。然而,有点多余,它是在 sda4 下创建的。这没有什么意义,因为 sda5 是 ext4 中唯一的分区。为什么要强制嵌套呢?为什么不能将其创建在与主分区相同的级别,而必须将其设为“子”分区?你明白我在说什么吗?这是不必要的区别,因为它是唯一占用扩展分区的分区。我宁愿我的交换被称为 sda4 而不是从属于 sda5 ...

在此输入图像描述

答案1

您混淆了逻辑分区和扩展分区。去阅读有关电脑分区结构

您最多可以有 4 个主分区或扩展分区,并且最多可以扩展其中一个分区 1。扩展分区是逻辑分区的容器。主分区或逻辑分区是文件系统(或 LVM 卷或某些交换空间或 BSD 分区或其他类型的非 PC 式分区的卷)的容器。交换分区嵌套在扩展分区中,因为这就是逻辑分区的含义。

在您的情况下,将交换分区设置为逻辑分区而不是主分区不会改变有关主分区配额的任何内容,因为您没有扩展分区。如果要释放 1 个主分区插槽,除了 1 个扩展分区外,最多需要有 2 个主分区。

请注意,Linux 并不关心它是安装在主分区还是逻辑分区上。您可以将系统分区和交换分区都设置为逻辑分区。或者,您可以创建一个作为 LVM 物理卷的分区,并创建两个 LVM 逻辑卷,一个用于根文件系统,一个用于交换。 LVM 使您可以在 Linux 中更轻松地进行管理,但代价是其他操作系统将 LVM 物理卷视为不透明的 blob。

1这并不是严格要求的,但你必须费尽周折才能规避这一点,而且你的管理员同事会咒骂你。

答案2

没有什么说它必须如此。在您的配置中,交换分区位于磁盘的末尾,被扩展分区空间覆盖。在我的 Ubuntu 系统上,我的根文件系统位于第一个 60GB 分区,然后是 4GB 交换分区,然后是扩展分区。这取决于您希望如何设置系统。

驱动器的架构目前使用的分区仅限三 (3) 个物理分区和一个扩展分区。由于您有两个 ntfs 和一个 ext4 分区,因此任何其他分区(交换)都需要进入扩展分区。

答案3

Unix 的重点是透明性、强大的功能和程序员的便利性,如果它牺牲了一点点,那么它并不会太在意让事情看起来漂亮。因此,如果磁盘上有一个分区条目,那么就有一个分区设备与之配合。 (唯一的例外是空分区槽,但是,由于没有保留空间,因此没有任何内容可写入。)

因此,在处理 DOS 分区表时,Linux 将分区号 1 到 4 保留为主分区,将 5 号及以上分区保留为逻辑分区。因为分区表的结构使这种方式变得更容易,因为很高兴知道您正在使用主分区(如果数字是 1-4),而且因为我是谁知道您不想直接写入在某个时候到扩展分区?

(您认为这很糟糕......Sun系统将分区2保留为“整个磁盘”分区。分区2必须保留整个磁盘,并且它必须与磁盘上的其他分区重叠。)

相关内容