无法缩小 Ubuntu 分区,因为它已满(但实际上并未满)

无法缩小 Ubuntu 分区,因为它已满(但实际上并未满)

我的笔记本电脑上目前安装了 Ubuntu。几周前安装的,它是我电脑上唯一的操作系统。

现在我想安装 Windows 8.1 和 Ubuntu 双启动,为了做到这一点,我首先需要在硬盘上保留一些空间用于 Windows 安装。

问题是,我无法通过 Gparted 缩小我当前的 Ubuntu 分区,因为它显示分区已满,但实际上分区并未满(大约有 600GB 的可用空间)。可以使用调整大小的选项,但最大和最小大小等于其总大小。我尝试过启动 Ubuntu 并从实时 USB 运行 Gparted,但由于同样的问题,无法缩小分区。

由于我是论坛新手,我没有足够的“声誉”来发布图片,但对于那些可能提供帮助并愿意看一看的人,我已在此链接上上传了 Gparted 的屏幕截图:

Gparted 认为分区已满的原因可能是什么?我该如何减少卷以便为 Windows 腾出空间?

注意:我看到一些论坛说使用 LVM 编辑分区,虽然它在安装后没有运行(我认为是图形错误),但即使使用它,我是否能够为 Windows 创建主分区?

答案1

不幸的是,您正在使用 LVM,因此这并不像在 gparted 中调整分区大小那么简单。

您在 gparted 中看到的不是普通分区,而是 LVM 物理卷。这是磁盘上为 LVM 保留的一块空间,用于放置其逻辑卷。然后,这些逻辑卷内是系统使用的分区。但是,gparted 看不到这些,它只看到一个它不知道如何编辑或移动的大物理卷。相反,您可以使用 LVM 工具来查看和管理里面的逻辑卷。

好消息是,您可以使用 LVM 轻松调整逻辑卷的大小并进行物理移动,甚至可以在系统运行时执行此操作。坏消息是,实际移动或调整 LVM 物理卷的大小非常困难。

执行此操作的“LVM 方式”是在新驱动器上设置新物理卷,将其添加到同一卷组,然后将逻辑卷实时迁移到另一个驱动器。然后,由于原始驱动器上的物理卷现在未使用,您可以将其从卷组中删除,然后可以丢弃该物理卷并重新创建它。我之所以将此称为“LVM 方式”,是因为它确保零停机时间 - 它可以在一个实时系统上完成,特别是如果它能够在新驱动器中热插拔。当然,这样做的缺点是将所有这些迁移到第二个驱动器的速度非常慢,并且需要第二个驱动器,因此主要的好处只针对那些想要在实时系统上执行此操作而不关闭的人。

也就是说,如果你有信心自己处理分区表,那么走捷径,借助pvresize可以调整 LVM 物理卷大小的工具(但前提是您还必须手动更改分区表中的大小)。这不是一个简单的过程。您首先需要缩小逻辑卷中的文件系统,然后缩小其逻辑卷以匹配,并迁移剩余范围,以便卷组中的可用空间全部位于该物理卷的末尾(如果需要)。随附的 LVM 工具将为您提供帮助。然后,计算出您可以将物理卷缩小多少,更改其分区表中的大小,并同时使用更新其在 LVM 中的大小pvresize

具体的流程详述如下:

https://serverfault.com/a/419279

如果您确实要这样做,我建议您备份,因为这样很容易搞砸并丢失数据。如果您无论如何都要备份,您不妨按照老方法做,将所有内容从驱动器中复制出来,删除分区并重新开始,然后将所有内容复制回来。

正是出于这样的原因,我不推荐任何人使用 LVM,除非他们知道自己需要它并且可以处理这些东西。如果您不需要在实时系统上热插拔新驱动器、将一个或多个分区迁移到其中、停用和删除旧驱动器,而无需关闭或重新启动,那么(在我看来)LVM 与您的需求并不真正相关,而老式方法(普通分区)将更容易,因为抽象级别更少(更容易理解)并且像 gparted 这样的工具可以轻松修改和调整它们的大小。

相关内容