![我可以跳过移动 Gparted 中的 Microsoft 保留分区吗?](https://linux22.com/image/1615128/%E6%88%91%E5%8F%AF%E4%BB%A5%E8%B7%B3%E8%BF%87%E7%A7%BB%E5%8A%A8%20Gparted%20%E4%B8%AD%E7%9A%84%20Microsoft%20%E4%BF%9D%E7%95%99%E5%88%86%E5%8C%BA%E5%90%97%EF%BC%9F.png)
关于移动 msr 也有类似的问题,但它询问的是以前版本的 gparted 不支持该功能:移动 MSR 分区?
现在,我知道我可以毫无问题地左右移动 msr。但就我而言,msr 位于另外两个分区之间,我想调整它们的大小,但这很不方便。我想对其进行跳跃移动(有关跳跃移动,请参阅此内容:Gparted 可以进行分区的跳转吗?) 来将其移开。
但在我这样做之后(复制、粘贴、删除原始分区),Windows 无法再启动。我注意到 cgdisk 中的分区类型中的新分区是“Linux 文件系统”,而不是 Microsoft 保留分区。我修复了这个问题,但没有帮助。在删除原始分区之前,我记得原始分区的 uniq guid。但即使我对新的 msr 使用原始 uniq 分区 guid,也没有帮助。
问题是:为什么 Windows 不喜欢移动 msr?我可以不重新安装 Windows 来修复它吗?
答案1
简短回答:是的,您可以使用 gparted 将 msr 移动到另一个位置,但您还需要满足一些条件(进一步描述),否则,Windows 无法启动。
我使用虚拟机探索了哪些情况会导致启动失败。事实如下:
- MSR 可能位于磁盘空间的任何地方。
- 它可能有最初使用的其他号码。
- msr 分区号可以大于 windows 分区号
msr 和 windows 分区之间不应该有任何跳过的分区号如果 msr 分区号小于 windows 的分区号。
要更改分区号,请使用 gdisk,键入 x,然后键入 t,然后键入分区号,然后键入将用于该分区的新编号,然后键入 w,然后回答“是”以将更改写入驱动器。您可以从头到尾收缩(或移动)windows分区(ntfs磁盘C),不会出现问题(至少对于gpt启动而言)。
- 分区类型(GUID)不需要由 Microsoft 保留。当我将其设置为 Linux 文件系统时,Windows 成功启动。但最好还是正确设置它,以便自己更容易识别此分区。在 cgdisk 中,其类型为 0c01,在 gpt 中为 E3C9E316-0B5C-4DB8-817D-F92DF00215AE。
- 分区名称并不重要。当我将其名称设置为其他字符串时,Windows 成功启动。最初它设置为“Microsoft 保留分区”。
- 分区唯一 GUID 并不重要。此数字随机化后,Windows 成功启动。
我没有测试是否有可能将其设置为小于 16 Mib。如果我在 gparted 中将分区移动到磁盘空间的最末端,分区开始显示为 15 mb(我认为最后一个扇区比所有其他正常扇区都短),并且在应用更改后,它失败了。Gparted 拒绝移动该分区,因为它不知道如何缩小“未知文件系统”。
答案2
OP,我希望你找到了一种跳跃移动 MSR 的好方法。
只是想补充一点,以满足其他人的好奇心,正如 Ashark 提到的,您可以简单地移动 MSR 而不更改其分区号。我只是根据该成员的有用帖子做了这件事。我真的很感激,我很难在互联网上找到有用的帖子/文章,除了“永远不要弄乱 msr”之外没有提供任何信息。
最近,我尝试增加 EFI 系统分区的大小,导致 Windows 10 安装彻底失败,导致所有内容(MSR、Windows)都向右移动,出于某种原因,该操作无法修复,经过几个小时的命令行会话后,使用 Windows 10 启动盘编辑/修复 bcd 仍然不起作用。所以很明显,我不愿意尝试这个,但 Ashark 似乎已经证明了这一点,我可以肯定地告诉你,它对我来说是有效的。