如何合并分区?

Ibr*_*him 45 partitioning

我有两个分区,其中一个有文件系统,另一个是未分配的。

如何合并两个分区?

Nit*_*esh 43

您可以使用gpartedusc_logo为了这。也可以通过安装sudo apt-get update && sudo apt-get install gparted

创建一个新的大分区(删除文件系统上的所有数据):

  • 首先,您必须确保两个分区 - 未分配空间和要合并的另一个分区都是逻辑分区或两个主分区。一个逻辑和一个主服务器将无法工作。

  • 检查并确认第一步后,删除保存文件系统的分区。

  • 第三,由于您删除了一个分区,未分配的空间现在更大。

  • 创建所需大小的分区。

增加保存数据的分区的大小:( 虽然这在大多数情况下是安全的,但备份数据总是明智的!)

  • 首先,您必须确保两个分区 - 未分配空间和要合并的另一个分区都是逻辑分区或两个主分区。一个逻辑和一个主服务器将无法工作。

  • 其次,右键单击有问题的分区,然后单击调整大小。根据需要填写尺寸。

  • 单击调整大小/移动,然后单击应用所有操作

截图_gparted

  • 我是否正确地假设该解决方案仅在两个分区彼此相邻的情况下才有效?如果他们不这样做我该怎么办? (2认同)

Kee*_*ook 23

如果未使用的分区在物理上位于具有文件系统的分区之后,您可以调整磁盘上的分区大小,重新启动,然后扩展文件系统(如果它是可扩展的文件系统,如 ext3、ext4 等)。

例如,如果您有/dev/sda1文件系统和/dev/sda2未使用的分区,请使用以下命令检查分区fdisk /dev/sda

# fdisk /dev/sda
...    
Command (m for help): p
...
  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63     8016434     4008186   83  Linux
/dev/sda2         8016435  1953520064   972751815   83  Linux
Run Code Online (Sandbox Code Playgroud)

您需要确保您的新文件sda1从同一位置开始(此处为 63)并在sda2开始处结束(此处为 8016434)。并仔细检查 wheresda1结束是在 wheresda2开始之前(这里,8016434 紧跟在 8016435 之后)只是为了确定。

然后删除未使用的分区和文件系统分区:

Command (m for help): d
Partition number (1-4): 2
...
Command (m for help): d
Partition number (1-4): 1
Run Code Online (Sandbox Code Playgroud)

最后,重新创建文件系统分区:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4, default 1): 1
First sector (63-1953520064, default: 63): 63
...
Last sector, +sectors or +size{K,M,G} (63-1953520064, default 1953520064): 1953520064

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 83
Run Code Online (Sandbox Code Playgroud)

并确保您得到了您所期望的:

Command (m for help): p
...
  Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63  1953520064   976760001   83  Linux
Run Code Online (Sandbox Code Playgroud)

最后保存:

Command (m for help): w
Run Code Online (Sandbox Code Playgroud)

如果磁盘上安装了任何分区,则必须先重新启动,然后才能扩展文件系统:

# resize2fs /dev/sda1
Run Code Online (Sandbox Code Playgroud)

小心点,祝你好运。始终先备份您的数据。:)

  • 如果是之前呢? (2认同)