我想扩展启动 SSD 上的分区,但有一个恢复分区和 EFI 系统分区挡住了路。我该如何解决这个问题?

我想扩展启动 SSD 上的分区,但有一个恢复分区和 EFI 系统分区挡住了路。我该如何解决这个问题?

这是 Windows 磁盘管理中的屏幕截图,显示了我的磁盘上的分区布局:

在此处输入图片描述

我希望将 Windows 分区(C:\驱动器,“启动”)扩展到 16 GB 的未分配空间。但是,Windows 已经“有帮助地”将恢复分区EFI 系统分区挡住了我的路,让我无法扩展启动分区。在磁盘管理中,两者都无法移动。我尝试使用带有 gparted 的 Live CD,但遇到了另一个问题:在恢复分区和 EFI 系统分区的右侧,有一个Microsoft 保留分区大小为 128 MB,带有标志msftres,无法使用 gparted 移动 - 有效地“捕获”这两个分区。

我的方法应该是将两个分区向右移动,将 Boot 分区向右移动 550 MB,将两个分区放在新创建的空间中,然后扩展 Boot 分区。但是,此方法被这个 Microsoft 保留分区(可能是由 Windows 安装过程创建的)所挫败。维基百科指出删除这个分区可能会破坏引导加载程序,我不想这样做。

如何在不完全格式化 SSD 并重新开始的情况下扩展启动分区?

答案1

好吧,我决定冒险尝试修复它,即使这需要删除我的 Microsoft 保留分区。正如 Rod Smith 所说,EFI 系统分区位于非标准位置,因为我在安装 Windows 之前在 SSD 启动时手动创建了 NTFS 分区,所以它将分区放在了唯一可以放置的位置。下面是我解决问题并腾出空间扩展驱动器所遵循的步骤。

您将需要安装媒体,或者一些带有的 Windows 恢复环境DISKPART

  1. 使用 GParted,将 EFI 系统分区和恢复分区移开,为启动分区的移动和应用更改腾出空间。

  2. 将启动分区移到右侧,留出足够的空间。恢复分区为 450 MB,EFI 系统分区为 100 MB,Microsoft 保留分区为 128 MB。这样总共有 678 MB。为了给 Windows 留出空间,以便将来创建更多愚蠢的额外分区,我在此基础上添加了 1024 MB,这意味着我将启动分区向右移动了总共 1702 MB。应用更改(在此期间喝杯茶,因为这需要一段时间)。

  3. 删除 GParted 中的 Microsoft 保留分区并应用更改。

  4. 在 GUI 中右键单击并复制 EFI 系统分区,然后将其粘贴到启动分区前面的可用空间中 - 我将 EFI 系统分区放在磁盘的最开始处,因为这是标准位置。右键单击新分区,然后应用完全一样标记为旧版本 ( boot, esp)。对恢复分区重复此过程并再次应用与原始相同的标志,但将其放在结尾可用空间(启动分区旁边)而不是起始位置。应用更改。驱动器布局现在应如下所示:
    EFI System Partition | Free space | Recovery Partition | Boot partition | ...

  5. 删除原始的 EFI 系统分区和恢复分区,然后应用更改。启动分区现在可以自由增长,因此我将其大小调整为正确的来填补那里的自由空间。

  6. 启动 Windows 安装媒体,然后按 SHIFT+F10 打开命令提示符。键入diskpart。键入list disk,然后select disk X其中X是包含启动分区的物理驱动器的编号。键入list partition以获取分区列表。我现在在磁盘的起始处有一个 EFI 系统分区,大小为 100 MB,分区列表显示它从 1024 kB 的偏移量开始。Windows 认为一兆字节是 1024 kB,因此可用空间从 1024 + (100*1024) = 103424 kB 的偏移量开始。键入命令create partition msr size=128 offset=103424。如果大小和偏移量正确,这应该可以工作,就我的情况而言,确实如此。

  7. 重新启动 Windows 以确保其正常运行。

我生活在边缘,所以在做这一切之前我没有做备份,这很好 - 但是我建议您在执行此操作之前备份启动分区上的任何重要信息。

答案2

EFI 系统分区 (ESP) 通常会大多数其他分区。因此,要么你(或以前的所有者或帮手)对你的计算机做了一些不寻常的事情(重新分区或重新安装),要么你的计算机制造商做了一些非常很奇怪。如果是后者,你可能想向他们投诉,甚至向微软投诉。

无论如何,这两个分区都应该是可移动的。我不太熟悉 Windows 工具的功能,但如果 GParted 不了解其文件系统类型或分区已安装,它通常不会移动分区。由于 GParted 可以识别 FAT 和 NTFS(取决于已安装的支持包),我猜您的 Linux 应急磁盘已安装这些分区。您可以通过右键单击 GParted 中的分区并选择卸载分区的选项来卸载它们。(您将一次执行一个操作。)请记住,移动分区从来都不是没有风险的,因此您应该在移动它们之前备份它们。ESP 尤其用于启动计算机,因此您应该在备份它时加倍小心。

另一种方法是,您可以考虑在可用空间中创建一个新分区。根据您喜欢的文件排列方式,您可以通过在生成的新分区上存储适当类别的文件来实现此目的。

答案3

我买了一台华硕 transformer trio(2015 年),用了 4 年(2019 年)才打开,所以升级 Windows 10 是理所当然的。更新后,分区设置如下:

恢复 | EFI 启动 | MS 保留 | OS

我想通过从我将其克隆到的新 SSD 中删除 RECOVERY 分区并将其与 OS 分区合并来恢复磁盘空间,这是我的解决方案:

  • 使用迷你分区工具删除RECOVERY分区。

  • 将生成的分区设置(没有恢复、未分配空间)映像到 USB 磁盘上。

  • 通过 macrium reflect 将图像恢复到我的 SSD,方法如下:按以下顺序一次将一个分区拖到目标磁盘:EFI Boot | MS Reserve | OS。

  • 留在左边/末端的是未分配的空间,我可以使用迷你分区工具轻松地将其合并回操作系统分区。

希望有帮助!

相关内容