我可以调整分区大小吗?

以下是我当前分区的屏幕截图,由gparted显示:

当前分区

注意/dev/sda3右侧的分区,图中没有标签,

  • /dev/sda6 (对于/home ), /dev/sda7 (对于/ ),未分配,和/dev/sda5 (对于交换),从左到右,

  • 合在一起,构成扩展分区/dev/sda4

我想调整分区的大小,以便/dev/sda7 (for / )和未分​​配的小空间中的一些未使用的空间可以移动到/dev/sda3 (对于/windows-d )并使其更大。

如果可以,我该怎么办?

这类似于这个问题 ,除了在那里,扩展分区外的空间被移动到扩展分区,然后由逻辑分区(在扩展中)使用。 在这个问题中,扩展分区内的空间需要移出扩展分区,并由主分区使用。 虽然情况不同,但我的回答是基于我对这个问题的回答 。

首先,确保:

  • 备份所有分区中的所有文档和其他重要(即难以替换)文件。 动态移动和调整分区大小会带来一小部分数据丢失的风险(例如,如果出现电源故障,如果您的某个文件系统因GParted不知道如何检测,或者是否存在错误而中断GParted),加上你可能会犯错并意外擦掉一些东西。

  • 您使用的是现场CD / DVD或USB闪存驱动器,而不是从安装的Ubuntu系统中运行GParted。 动态移动和调整与您用来执行它的操作系统相同的物理磁盘上的分区是不安全的(并且几乎肯定不会成功)。

如果需要这样做,则必须执行4(或5)次操作。 GParted肯定需要一段时间来执行它们。

  1. /dev/sda7/ )缩小到您喜欢的任何大小。 请记住留出一些空间,因为您需要为/ Ubuntu提供一些可用空间来更新和安装软件,存储非用户特定文件(包括全局配置文件),保留系统日志,以便应用程序可以存储数据/var/tmp

    • 我建议在左侧收缩(即增加前面的可用空间 )。 但是,如果您坚持尝试回收/dev/sda7/ )和/dev/sda5 /dev/sda7 (您的交换分区)结尾之间的3 MiB空间,那么您可能会在右侧收缩它(增加) 可用空间跟随 ),然后将分区向右移动。 请注意,执行这两个单独的操作会使事情花费更长时间,如果您的目标是最大化可用空间,那么几乎肯定不值得。 另一方面,如果问题是你被一个丑陋的分区表个人窃听,那就继续吧。 😉

    此步骤在扩展分区中,在/dev/sda6/home )和/dev/sda7/ )之间创建未分配的空间。

  2. /dev/sda6/home )移动到扩展分区内的最右侧。 这将未分配的空间移动到扩展分区的最开始(即左侧)。

  3. 收缩/dev/sda4 (扩展分区)在左侧(增加前面可用空间 )。 当我尝试这个以确保它能正常工作时,我发现它确实如此,但我不得不手动指定前面的数字不同的可用空间 。 一旦我手动提供了任何数字,我就可以通过将其左边缘向右拖动来轻松缩小我的扩展分区(正如您希望从一开始就可以做到的那样)。 我不确定您是否会遇到此问题,但如果您这样做,则可以使用该解决方法。

    此步骤将未分配的空间移出扩展分区。

  4. 尽可能扩展右侧的/dev/sda3/windows-d )(减少随后的可用空间 ),使其右边缘与/dev/sda4的左边缘齐平(或尽可能接近)(你缩小的扩展分区)。

    此步骤移动消除了未分配的空间,将其转换为/dev/sda3 Windows分区内的可用空间。

您必须应用更改才能让GParted执行操作。 为此,请单击绿色复选标记。 操作完成后,请确保您的分区布局符合您的要求,然后退出GParted。

由于您没有单独的/boot分区,因此Ubuntu系统的引导文件位于/ partition( /dev/sda7 )中。 由于您已更改此分区的启动位置(即其左边缘的位置),以及包含它的扩展分区的起始位置,因此您的Ubuntu系统可能无法启动。 幸运的是,修复此问题很简单,包括将GRUB2(引导加载程序)重新安装到主引导记录中。

如果您想尝试关闭/重新启动Live CD / DVD / USB系统并在此时启动到您的Ubuntu系统,您可以,但很可能您必须重新安装GRUB2到MBR,我建议您这样做它在重新启动之前。 您可以使用此处提供的任何方法 。

由于您可能不得不这样做,我将详细介绍此答案中的一种方法(填写系统的具体内容)。 在live 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扫描并修复问题,您应该放弃它。

你应该能够分步完成。 如果是我,我不知道我是否会告诉它在一次重大操作中执行所有步骤,但这只是因为我担心可能需要很长时间以至于我想要中断它原因。

您需要缩小扩展分区中的分区,尽可能向右移动它们。 然后,您想缩小扩展分区本身,在左侧留出空间。 然后,您应该能够使主分区sda3更大。