我原来的操作系统是 W7,每当我安装 Ubuntu 14.04 LTS 时,它都会给我 17GB 的空间,但现在我想为某些应用程序扩展它。
我对整个磁盘和分区的事情还不太熟悉,因此如果能得到好的帮助我将非常感激。
我也在 W7 旁边安装了 Ubuntu。
答案1
为了给 Ubuntu 提供更多空间,您需要做一些事情:
- 收缩
/dev/sda2
- 调整扩展分区 (
/dev/sda3
) 的大小以包含上一步释放的空间。 - 确定空间是用于系统应用程序(由
apt-get
、Software Centre
等安装的应用程序)还是用户应用程序(由您从源代码、预编译的二进制文件等安装的应用程序)。 - 如果是前者,则调整根目录 (
/dev/sda5
) 的大小;如果是后者,则在空闲空间中创建一个分区并将其挂载到方便的位置。我现在先介绍前者,如果有人要求,我会介绍后者。
为了完成第一步,您有两个选择:
- 使用 GParted 或缩小
- 使用收缩磁盘管理Windows 中的部分计算机管理。
使用 GParted,您可以缩小空间以释放尽可能多的可用空间,但操作将是慢的。使用 Windows,缩小速度会非常快,但您可能无法释放显示为未使用的空间。这是因为 Windows 实用程序仅缩小到最后使用的扇区,而 GParted 会移动文件。我建议您查看 Windows 愿意释放多少空间,如果令人满意,请使用它,否则使用 GParted。如果您确实选择使用 GParted,请使用实时 CD/USB 来执行此操作。我将假设今后任何 Linux 操作都处于实时环境中。
- 要在 Windows 中缩小,请右键单击我的电脑并选择管理. 转到磁盘管理部分,选择 C: 分区,右键单击它并选择收缩量:
- 在 GParted 中执行此操作:如果分区已安装(钥匙图标显示已安装),请先卸载该分区,方法是右键单击
/dev/sda2
并选择卸载。 选择调整大小/移动,并拖动滑块的右端(或手动输入值),直到分区末尾显示足够的可用空间。 - 右键单击根分区并选择信息。您将看到如下所示的窗口:
将 UUID 复制到某个地方(
gedit
如果愿意,打开一个文件并将其粘贴到那里)。 - 对扩展分区和根分区重复上述步骤,但这次拖动滑块以填满开头的可用空间。
- 单击绿色勾号即可应用。
操作完成后,您可能需要更改分区的 UUID 值(如在/etc/fstab
、GRUB 等中使用)。为此,我们将设置一个chroot
。但首先,重复步骤 2 以获取根分区的新 UUID。如果它们相同,不用担心,跳过下一部分。您已完成。如果不是:
现在打开终端并执行以下步骤:
sudo mount /dev/sda5 /mnt
sudo mount -o bind /dev /mnt/dev
sudo mount -t devpts none /mnt/dev/pts
sudo mount -t proc none /mnt/proc
sudo mount -t sysfs none /mnt/sysfs
sudo chroot /mnt /bin/bash -l
现在,您将进入chroot
已安装的 Ubuntu 环境中,而不是用于到达那里的实时 Ubuntu。我们必须替换 中的 root 的 UUID 值/etc/fstab
,因此使用您选择的编辑器打开它并将值更改为您几步前复制的值(如果您不熟悉vi
,请使用nano
):
vi /etc/fstab
(您是 中的 root 权限chroot
,因此不需要sudo
。)或者使用以下sed
命令:
sed -i 's/OLD_UUID/NEW_UUID/' /etc/fstab
(将OLD_UUID
和替换NEW_UUID
为适当的值。)
最后,更新 GRUB:
update-grub
如果一切顺利完成,您可以退出 chroot ( exit
) 并重新启动。完成!