如何扩展我的根 (/) 分区?

Ram*_*esh 87 partitioning gparted

直到今天,我还在我的 windows7/ubuntu 双启动中使用 ubuntu 13.04。刚才我已经升级到 ubuntu 14.04。我的软件更新程序显示更新可用消息。我继续 Install Now 。很快,我得到了以下窗口。

“可用磁盘空间不足”消息

然后我sudo apt-get clean按照推荐尝试了。什么都没有发生!连窗户都没有打开。教我删除临时包。

在进一步更新和安装的情况下,删除临时文件可能不是很有帮助,因为我的 / 中没有太多空间。我想借助 HD 中未分配的空间扩展我的 / 分区。以下是我的 Gparted 窗口。

分隔窗口

我在这里得到了答案。但这对我没有用。我有两个选择。但答案对我的两个孩子都不起作用。

选择 1:我可以使用 4.25 GiB 未分配空间来扩展我的 /dev/sda10。为此,我必须移动我的 linux-swap 分区。但是我的调整大小/移动选项对于 linux-swap 分区被禁用。选择1失败!

选择 2:我可以改用 14.35 GiB 的未分配空间。在这种情况下,我必须移动多个分区。/dev/sda4 分区是列表中的第一个分区。即使那个分区也有同样的问题。调整大小/移动选项被禁用。选择2失败!

我现在别无选择。

我该怎么办?帮助我使用 Gparted 扩展我的 /。

Lou*_*sen 74

您实际上可以在最后使用 4.25 GiB 而无需重新启动,因为 Linux 从内核 2.6 开始支持在线分区大小调整(这意味着您可以在挂载分区时调整分区大小,甚至是根分区,无需重新启动)。

我将向您展示如何删除交换分区并在最后使用所有可用空间扩展根分区。然后我将使用开头的未分配空间 (14.35 GiB) 作为新的交换分区。当然 14.35 GiB 有点多,所以你也可以选择使用一些来扩展你的 NTFS 分区。


  1. 打开 GParted

  2. 右键单击/dev/sda11并选择Swapoff

  3. 右键单击/dev/sda11并选择Delete

  4. 点击 Apply All Operations

  5. 打开终端

  6. 扩展根分区:

    sudo resize2fs /dev/sda10
    
    Run Code Online (Sandbox Code Playgroud)
  7. 返回 GParted

  8. 打开GParted菜单并点击Refresh Devices

  9. 右键单击未分配的空间并选择 New

  10. 选择linux-swap作为文件系统

  11. 点击 Add

  12. 点击 Apply All Operations


最初我只使用命令行编写了这个,但后来我决定尽可能多地尝试使用 GParted,因为这可能会让你更容易看到发生了什么。您甚至可以使用 GParted 扩展根分区。但是您需要先卸载根分区,然后才能对其进行操作。我的意思是你应该离线工作(使用 liveUSB)。在某些情况下,您的 grub 可能会损坏。因此,请在退出离线工作之前重新安装 grub。

我相信 GParted 会自动启用新的交换分区,但我不确定。您始终可以通过右键单击它然后选择 来进行检查Swapon。如果此选项不可用,则可能已启用交换分区。

此外,该Refresh Devices步骤可能是不必要的,但您应该遵循它只是为了确保。

我们无法调整扩展分区(sda4在本例中为 )的大小,因为其中有一个已安装的逻辑分区。所以我们需要启动到 Ubuntu USB/CD 驱动器的实时模式。从那里启动 GParted,必要时关闭交换,右键单击扩展分区并调整其大小以满足您的需要。然后,根据需要按照提到的步骤调整 root 的大小并重新添加交换。如果您的根分区 UUID 发生更改,您可以通过在实时模式下执行以下步骤来更新 Grub:

sudo mount /dev/sda10 /mnt 
sudo mount -o bind /dev/ /mnt/dev 
sudo grub-install --root-directory=/mnt /dev/sda 
sudo chroot /mnt /bin/bash 
# Now within the chroot
sudo update-grub
exit
# Now outside chroot
Run Code Online (Sandbox Code Playgroud)

前几个命令挂载根分区(sda10在本例中为 )并设置/dev/为在 chroot 环境中使用。(其他可以类似挂载功能更强大的 chroot 的分区是/proc,/sys/dev/pts。)然后我们重新安装 grub(不是真的有必要)。然后,我们进入chroot并更新grub。这会导致 grub 在必要时使用新的 UUID。退出 chroot 后,重新启动,我们应该会返回 grub 菜单。

  • 这些说明是不正确的:在不首先以某种方式更改分区大小的情况下运行 `resize2fs` 将没有任何效果。您也无需从命令行运行,因为 gparted 会为您处理这些。只需在 gparted 中调整根分区的大小。 (5认同)
  • @Ramvignesh - 没有单一的指南,但如果你坚持使用 Ask Ubuntu,你会发现很多信息。这里的人们链接到很多信息丰富的网站,你会看到各种各样的问题,并看到比你或我更聪明的人是如何解决这些问题的。在这种情况下,我从 https://help.ubuntu.com/community/Grub2/Installing 了解了 GRUB。 (2认同)

Wil*_*ilf 9

当系统正在使用它们时/dev/sda4您无法修改系统的分区(以及父扩展分区,例如 - 因此您需要从系统外部修改分区 - Ubuntu 安装盘应该可以做到这一点。所以首先你需要从磁盘启动,并打开 GParted。

  • 如果分区旁边有一个键,则它们正在使用中 - 您需要右键单击它们并选择卸载。
  • 对于实际的重新调整大小,您应该能够做两件相当简单的事情:

    • 将扩展分区扩展/dev/sda4到磁盘末尾,将交换分区向右移动,然后扩展/dev/sda10分区。

    • 减小/dev/sda9 /home分区大小,然后扩展/dev/sda10分区。

尽管将所有分区/dev/sda4向左移动,然后移动交换并扩展分区,但也应该可以正常工作。

尽管在/分区中有 5~GB 空间的正在运行的系统是可能的,但至少有 7-10GB 的空间可能会更好地工作。

正如您应该做的那样,您应该在做任何事情之前备份您的数据。此外,您在已安装的 Ubuntu 系统上仅使用 4GB,您可以将其备份到其他地方并进行全新安装,这意味着旧系统中的软件包将不会使用空间。

  • 当建议 OP 移动分区(而不是扩展它们)时,您应该提到这可能需要很长时间,并且他需要从实时媒体重新安装/修复 grub2。 (4认同)