以下是我的当前分区的屏幕截图,由 gparted 显示:
/dev/sda3
请注意,图中右侧没有标签的分区,
从左到右依次为
/dev/sda6
(用于/home
)、/dev/sda7
(用于/
)、未分配 和(用于交换),/dev/sda5
二者合起来就构成了扩展分区的内容
/dev/sda4
。
我想调整分区大小,以便将/dev/sda7
(用于/
)中的一些未使用空间和较小的未分配空间移动到/dev/sda3
(用于/windows-d
)并使其变大。
如果可能的话,我该怎么做?
答案1
这类似于这个问题,不同之处在于,扩展分区之外的空间被移到扩展分区中,然后由逻辑分区(在扩展中)使用。在这个问题中,需要将扩展分区内的空间移出扩展分区,并由主分区使用。虽然情况不同,但我的回答是基于我对这个问题的回答。
首先,确保:
您所有的文档和其他重要(即难以替换)的文件来自全部您的分区已备份。动态移动和调整分区大小会带来少量数据丢失风险(例如,如果发生电源故障,如果您的某个文件系统以 GParted 不知道如何检测的方式损坏,或者 GParted 中存在错误),此外,您可能会犯错误并意外擦除某些内容。
您是从实时 CD/DVD 或 USB 闪存驱动器运行,而不是从已安装的 Ubuntu 系统运行 GParted。在与操作系统相同的物理磁盘上动态移动和调整分区大小是不安全的(并且几乎肯定不会成功)。
如果要解决这个问题,您需要执行 4 个(或 5 个)操作。GParted 执行这些操作肯定需要一段时间。
缩小
/dev/sda7
(/
) 到您喜欢的大小。记得留出一些空间,因为您需要一些可用空间供 Ubuntu 更新和安装软件、存储非用户特定文件(包括全局配置文件)、保存系统日志,以及应用程序可以在和/
中存储数据。/var
/tmp
- 我建议在左边缩小它(即增加前面有空闲空间
/dev/sda7
)。但是,如果你坚持要尝试回收(/
)末尾和/dev/sda5
(你的交换分区)之间的 3 MiB 空间,那么你不妨在右侧缩小它(增加自由空间跟随),然后将分区向右移动。请注意,执行这两个单独的操作将花费更长的时间,如果您的目标是最大化可用空间,那么这几乎肯定不值得。另一方面,如果问题是您个人被丑陋的分区表所困扰,请继续。;-)
此步骤将在扩展分区中的
/dev/sda6
(/home
) 和/dev/sda7
(/
) 之间创建未分配的空间。- 我建议在左边缩小它(即增加前面有空闲空间
将
/dev/sda6
(/home
) 移动到扩展分区内最右边。这会将未分配的空间移动到扩展分区的最开始(即左侧)。缩小
/dev/sda4
左侧的(扩展分区)(增加前面有空闲空间)。当我尝试这样做以确保它能正常工作时,我发现它确实可以工作,但我必须手动指定一个不同的前面有空闲空间号码。一旦我提供任何手动输入数字后,我便能够通过将其左边缘拖到右边缘来轻松缩小扩展分区(正如您期望从一开始就能够做到的那样)。我不确定您是否会遇到此问题,但如果您遇到此问题,则可以使用该解决方法。此步骤将未分配的空间移出扩展分区。
尽可能扩大
/dev/sda3
( )右侧(减少/windows-d
自由空间跟随/dev/sda4
),使其右边缘与(刚刚缩小的扩展分区的)左边缘齐平(或尽可能接近) 。此步骤将消除未分配的空间,并将其转换为
/dev/sda3
Windows 分区内的可用空间。
您必须应用更改才能让 GParted 执行操作。为此,请单击绿色复选标记。操作完成后,确保您的分区布局符合您的要求,然后退出 GParted。
由于您没有单独的/boot
分区,Ubuntu 系统的启动文件位于/
分区 ( /dev/sda7
) 中。由于您更改了此分区的起始位置(即其左边缘的位置)以及包含它的扩展分区的起始位置,因此您的 Ubuntu 系统可能无法启动。幸运的是,修复此问题很容易,只需将 GRUB2(您的引导加载程序)重新安装到主引导记录即可。
如果你想尝试关闭/重新启动实时 CD/DVD/USB 系统并启动到你的 Ubuntu 系统,你可以这样做,但很可能你必须将 GRUB2 重新安装到 MBR,我建议在重新启动之前就这样做。你可以使用这里介绍的任何方法。
由于您可能必须这样做,我将在此答案中详细介绍一种方法(填写您的系统的具体信息)。在实时 CD/DVD/USB 系统中,打开终端窗口 ( Ctrl+ Alt+ T) 并运行以下命令:
sudo mount /dev/sda7 /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sda
sudo umount /mnt
然后重新启动进入安装在硬盘上的 Ubuntu 系统,确保一切正常。启动 Windows 也是一个好主意,并确保它识别 NTFS 分区。如果 Windows 想要执行扫描chkdsk
并修复问题,你应该让它执行。
答案2
你应该可以分步完成。如果是我,我不知道我是否会告诉它在一个大操作中完成所有步骤,但那只是因为我担心它可能会花费太长时间,以至于我会因为某种原因想要中断它。
您需要缩小扩展分区中的分区,将它们尽可能地移到右侧。然后,您需要缩小扩展分区本身,在左侧留出空间。然后,您应该能够使主分区 sda3 更大。