天啊不行!!!

天啊不行!!!

正如标题所述,我可以使用 Windows (7) 调整安装 Ubuntu 的 ext4 分区的大小吗?我同时启动 Win7 和 Ubuntu,并想扩大 Ubuntu 根分区。从无法识别 ext4 文件系统但可以看到分区的 Windows 执行此操作是否安全,还是我必须从(慢速)Ubuntu live-DVD 启动?

答案1

这里实际上有两个问题:

  • 调整分区大小
  • 调整文件系统大小

人们大多提到“调整分区大小”,因为这也意味着调整文件系统的大小,但就您的问题而言,理解答案需要了解两者之间的区别。

分区是定义磁盘块的起点和终点的非常简单的数据结构。相比之下,文件系统是复杂的数据结构,相对于包含它们的数据结构的起点进行定义。请注意,文件系统通常包含在分区中,但它可以包含在文件中、整个磁盘中、LVM 的逻辑卷中等。

由于文件系统是相对于其起点进行布局的,因此可以安全地移动分区的终点向上即使用于执行此操作的工具不了解文件系统。这样做也是完全没有意义的,因为文件系统自己的数据结构不会神奇地扩展以填充可用空间。将分区的终点向下移动可能会带来灾难性的后果,因为重要文件可能存储在文件系统的末尾——即使不是这样,文件系统数据结构仍将指示文件系统的大小与原来相同,因此操作系统可能会尝试将文件存储在分区(新)末尾之外,这将是灾难性的。在不调整文件系统的情况下移动分区的起点将更加灾难性,因为那时操作系统根本无法检测到文件系统。(请注意,我在本段中使用了三次“灾难性”一词,不包括在这个括号中的语句中。)

类似地,可以缩小文件系统而不对其造成任何损坏(假设缩小操作正确进行,但这并不能保证),但之后它将比其包含的分区小。扩大它(如果它的大小已经适合其包含的分区)是不可能的——或者至少,任何编写得当的工具都会拒绝这样做。

我没有检查源代码,但 GParted 很可能依赖底层工具来分别调整分区和文件系统的大小,但要按照正确的顺序来保持可访问性和正确性。例如,要从末尾增加分区,它将增加分区大小,然后增加文件系统大小以匹配。

回到你的问题,当然有可以调整分区大小的 Windows 工具。理论上,可以为 Windows 编写一个 ext4fs 调整大小工具。事实上,可以想象resize2fs(在 Linux 中执行该工作的工具)已经移植到 Windows。如果是这样,你可以在 Windows 上完成这项工作——但据我所知,没有易于使用的 GUI 前端来完成这项工作。因此,我甚至不建议尝试。实际上可以在使用时调整 ext4fs 分区的大小,但前提是起点未移动。这也需要使用文本模式命令。在大多数情况下,使用实时介质运行 GParted 更容易(也更安全,尤其是对于相对新手而言)。

此外,与风险以及调整分区大小所需的时间(具体取决于您正在执行的操作)相比,基于 DVD 的 Ubuntu 的速度慢是微不足道的。特别是,如果您移动分区的起点,这将需要很多时间,因为这样的操作涉及移动一个很多数据的。

或者,您可以考虑从缩小要缩小的分区时使用的空间中创建一个新分区。一旦您知道大小,就可以将一些现有数据移到那里,并将新分区挂载到您的 Ubuntu 目录树中。例如,请参见:

如果我的 /home 目录已经是 / 分区的一部分,我该如何将其移动到另一个分区?

根据尺寸,/home可能不是最好的移动方式;您最终可能会移动/var/home/yourname/Videos或其他东西,但原理是一样的。

答案2

在无法识别 ext4 文件系统的 Windows 上执行此操作安全吗?

天啊不行!!!

分区在很大程度上仍由物理决定。如果文件超出了分区的新边界,则需要移动它。此外,文件系统本身需要知道它有多大。

使用无法理解 EXT4 的东西可能会部分或完全破坏文件系统。Windows 会破坏您的文件系统并奴役您的孩子。

使用 LiveCD 进行离线更改。如果速度太慢,请使用快速 USB 记忆棒。这两种方法都比恢复数据并重新安装 Ubuntu 快。

答案3

您的 ext4 分区根本就没有丝毫存活的机会。

即使 Windows 磁盘管理进行最轻微的触摸也会撤消任何 ubuntu 分区。

毫无疑问,Windows 在多操作系统中不会运行良好。

相关内容