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


68

直到今天,我在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的联系。


2
为什么说根目录中未使用1.96 GiB?你实际上有空间,不是吗?输出是df什么?
Braiam 2014年

1
apt-get clean不会弹出窗口,甚至不会回显命令行。它只是做到了,但是现在释放的1.96 GB空间表明它做了一些事情。
2014年

Answers:


62

实际上,您可以在不重启的情况下最终使用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
    
  7. 回到GParted

  8. 打开GParted菜单,然后单击Refresh Devices

  9. 右键单击未分配的空间,然后选择 New

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

  11. 点击 Add

  12. 点击 Apply All Operations


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

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

同样,该Refresh Devices步骤可能是不必要的,但是您应该遵循此步骤以确保。

我们无法调整扩展分区的大小(sda4在本例中为),因为扩展分区中具有已装入的逻辑分区。因此,我们需要启动到Ubuntu USB / CD驱动器的实时模式。从那里开始,启动GParted,必要时关闭交换,右键单击扩展分区并调整其大小以适合您的需要。然后,根据需要按照上述步骤调整根大小并添加回交换。如果您的根分区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

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


@muru:是的,它起作用了。回到我的g!谢谢你 在哪里学习这些东西?我想学习。
拉维涅什2014年

2
@Ramvignesh-没有单一指南,但是如果您坚持使用Ask Ubuntu,您会发现很多信息。这里的人链接到很多信息站点,您会看到各种各样的问题,并看到人们比您或我如何明智地解决它们。在这种情况下,我从help.ubuntu.com/community/Grub2/Installing了解了GRUB 。
muru

3
这些说明是错误的:resize2fs如果不先更改分区大小就无法运行。您也无需从命令行运行内容,因为gparted会为您解决这一问题。只需在gparted中调整根分区的大小即可。
psusi

这对我来说很好用,但是我会注意到,根据这个 askubuntu.com/a/600017/223089,您可以直接在Gparted中扩展分区。因此,我同意上述@psusi的观点,即在第6步中,更容易在Gparted中扩展分区。
John Creamer

@JohnCreamer,我在先前的评论中指出的要点是,这些指令省略了实际扩展分区的步骤,否则,您将无法扩展文件系统(因为它不能超过包含该分区的分区的大小) ),因此如果您严格按照说明进行操作,这些说明将对您不起作用。
psusi '16

6

当系统使用分区时,/dev/sda4您不能修改系统的分区(以及父扩展分区,如,因此您需要从系统外部修改分区,Ubuntu安装磁盘应该可以做到这一点。因此,首先您需要从磁盘启动,然后打开GParted。

  • 如果分区旁边有一个密钥,则说明它们正在使用中-您需要右键单击它们并选择unmount。
  • 对于实际的大小调整,您应该可以做两件事:

    • 将扩展分区扩展/dev/sda4到磁盘末端,将交换分区移至右侧,然后扩展该/dev/sda10分区。

    • 减小/dev/sda9 /home分区的大小,然后减小分区的大小/dev/sda10

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

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

一如往常,您应该在执行任何操作之前先备份数据。另外,因为您在已安装的Ubuntu系统上仅使用4GB,您可以将其备份到其他位置并进行全新安装,这意味着旧系统中的软件包将不会占用空间。


3
在建议OP移动分区(相对于扩展分区)时,您应该提到这可能会花费很长时间,并且他将需要通过实时媒体重新安装/修复grub2。
2014年
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.