如何合并分区

如何合并分区

我有一个分区已满,还有大约 17gb 的未分配空间,我想将其合并。当我尝试卸载该分区时,出现无法卸载的错误。有什么办法吗?

在此处输入图片描述

答案1

您无法卸载根(/)分区。因为您正在运行的 ubuntu 正在使用它。一旦您登录 ubuntu,它的根分区就会自动被挂载。

如果您想卸载/dev/sda1分区,那么您必须运行 live-disk。

答案2

您可以将根文件系统 ( /) 视为C:Windows 中的驱动器。它包含(除非您另有说明)几乎所有操作系统文件。为了对安装的分区执行任何操作,/您需要卸载该分区。要卸载分区,您必须停止使用分区上的所有文件。要停止使用操作系统文件,您需要关闭计算机。

那么如何才能做到这一点呢?好吧,我们可以使用不同的操作系统。Linux Live CD 是压缩到 CD 上的完整 Linux 副本。启动时,它会在 RAM 中创建一个根分区,而不是硬盘驱动器中。这样您就可以/dev/sda1不受阻碍地使用硬盘驱动器分区(包括)。

当然还有其他方法,例如,您可以在第二个硬盘上安装 Linux,并将其连接到您的计算机。或者您可以通过网络启动您的计算机,其工作原理与 CD 非常相似,但它使用的是服务器TFTP

但是,即使您使用 Linux 实时磁盘,还有一件事也会妨碍您:您的交换空间。该分区(以及它包含的/dev/sda2交换分区)将阻止您扩展到未分配的空间。幸运的是,停止使用交换空间更容易。您可以使用 和 暂时打开和关闭它,但这不是完整的解决方案。关闭交换后,您需要移动交换分区。如果您移动交换分区,您必须告诉 Ubuntu 您这样做了。/dev/sda5/dev/sda1sudo swapoff -asudo swapon -a

这可以在文件中完成sudo vim /etc/fstab。后面会有一个长字符串,swap看起来像下面的行。这是你告诉计算机要使用的交换的位置。移动交换后,你需要获取要在此处使用的新字符串。这可以使用来获取lsblk -f

UUID=4209c845-f495-4c43-8a03-5363dd433153 none swap defaults 0 0

完整的过程如下:

  1. 启动实时 CD 或其他操作系统。
  2. 如果操作系统自动开始使用交换分区,请关闭它
  3. 删除交换分区和扩展分区
  4. 在其他地方重新创建交换分区(如果需要也可以创建扩展分区)
  5. 更新 /etc/fstab
  6. 延长/dev/sda1
  7. 重启

现在,在这个过程中有些事情可能会出错。也就是说,你可能会弄乱你的分区,/etc/fstab或者你的/dev/sda1分区可能会损坏。第一个问题其实不是什么大问题,因为你总是可以启动一张实时 CD 并修复它。无论如何,你的电脑很有可能在交换行出现错误的情况下正常启动。第二个问题是一个更大的问题。现代工具在扩展分区方面相当不错,但为了安全起见始终备份您正在编辑的分区/磁盘上的数据

资料来源:

  1. https://wiki.archlinux.org/index.php/fstab#UUID

相关内容