使用 gparted 移动 msftres 分区

使用 gparted 移动 msftres 分区

我在网上找到了这个问题的各种答案,从“你绝对不能这样做”到“这可以用 gparted 来实现”,所以我希望在这里得到一个直接的答案。我的/boot电脑上的分区空间不足(双启动 Arch Linux 和 Windows 10),我正在尝试用 GParted 调整它的大小。附件是(相当混乱的)分区的屏幕截图: 在此处输入图片描述

分区/boot/dev/sda2。我缩小了 Windows 分区 的大小,sda4目的是sda3向右移动并增加 的大小sda2。但是,如果我尝试这样做,GParted 会引发错误 在此处输入图片描述

我如何移动sda3分区?所有这些的最终目的只是扩展我的/boot分区,因此如果有人看到实现它的另一种方法,那也是可行的。

答案1

Microsoft 希望每个 GPT 磁盘上都存在一个 MSR,并建议在磁盘最初分区时创建它。

来源

因此,将 sda3 “向右”移动应该没问题,以便为 sda2 留出更多空间。只是不要“跳过”您的第一个也是唯一一个 Windows 安装。

(对于某些评论:是的,根据我的经验,它确实会在(假设的)免费安装后由 Windows 重新创建)。

推理链(又称“遗留操纵”)如下:

  • 任何人都不需要“现代”的 (U)EFI-Boot 和 GPT 分区表
  • Windows 需要 GPT 来支持 (U)EFI-Boot
  • 然而,GPT 不允许像以前使​​用 BIOS 分区驱动器那样隐藏某些信息
  • msftdata 用于存储这些数据

详细信息: https://en.wikipedia.org/wiki/Microsoft_Reserved_Partition

答案2

失败是因为您不仅尝试移动分区,还尝试将其缩小到 15 MiB。GParted 认为缩小未知文件系统是不安全的,因此失败了。只需移动它而不改变其大小,它应该可以正常工作。

在极少数情况下,删除分区会导致问题,因此考虑到它只有 16 MiB 并且不受 MBR 分区限制的影响,我只会移动它。

您可能不需要/boot大于 2 GiB 的分区。

相关内容